Windows 10 IoT WebCam - Microsoft LifeCam VX-700 - webcam

This webcam (Microsoft LifeCam VX-700) can record from Rasberry Pi 3 Model B. The FPS is somewhere from 3-5 FPS on this sample https://codeload.github.com/ms-iot/samples/legacy.zip/master (WebCamSample). Anyway to improve the FPS?

The reason for this slow framerate is that there currently isn't an optimized GPU driver that enables hardware acceleration to its full potential.
When you look at the Device Portal (admin site of the device on port 8080) you will notice in the performance tab that it mentions GPU but can't show any statistics. As soon as we get a build that includes the new driver I expect us to see some metrics there and vastly improved video performance.
This is a know issue, a big one as well, but as far as I understood people are working on it.
Lowering the resolution will help, obviously.

Related

Computer crashes and shows HDMI no signal, must be unplugged to restart

When playing certain games or viewing certain websites, my computer will suddenly crash and my monitor will display "HDMI no signal" the computer cannot be restarted without unplugging it from the wall. Upon viewing the crash report I see event 10016 related to permissions I think, but I'm a moron. Any and all solutions are greatly appreciated. Relevant components are as follows:
Graphics Card: RTX 2080
Power supply: EVGA supernova 1000g2
Storage: Sandisk 500Gb
CPU: Ryzen 2700X
Monitor: Both HP EliteDisplay E222 and another HP monitor
Since you are not supplying your q with the crash report, I can only suspect your problem is rooted to either one of these:
Bug in the accompanying display driver and/or directX installation
Proposed solution : try and obtain the latest version of your RTX 2080, do a 2D and 3D test run afterwards to ensure everythings proper
Fan or cooling related issue. Some games might force your hardwares to work harder, especially over continuous use. Check your fan and coolings to ensure they are moving and cooling as fast as they should. Also install a temp monitoring software if you need to be extra sure.
Hope those help m8

Poor performance of web app built with ArGIS API for JS on older hardware

Problem
I've been developing a web application for the first time using the JS API. When testing the performance of the website, I've had perfectly snappy use on relatively new hardware (such as my Surface Laptop 3 8GB RAM, Chrome v88) but cripplingly slow use on somewhat older hardware (MacBook Pro 13" 2016 8GB RAM, MacBook Pro 15" 2014 8GB RAM, Dell Inspiron 15 5000 2017 8GB RAM, all running Chrome v88).
Link to web app in development:
https://dmarkbreiter.github.io/lau-interactive/
Troubleshooting
Considering how these "older" hardware configs aren't very old, the laggy performance is troubling. At first I thought it might be a basemap or feature service that was slowing down the application, but when I tested sample apps on the developer page for the API, I had equally if not slower performance.
Example apps linked below:
https://developers.arcgis.com/javascript/latest/sample-code/featurelayer-query/
https://esri.github.io/dot-density-legend/
https://livingatlas.arcgis.com/sea-ice/
The above apps work perfectly fine on my Surface Laptop 3, but absolutely limp along on the other tested hardware configs.
UPDATE
Looking at my own app, I see that two feature services (LAU_Localities_View and SoCal_Counties) have multiple GET requests at page load. I've included the Query String Parameters of one of them below:
f: pbf
geometry: {"spatialReference":{"latestWkid":3857,"wkid":102100},"xmin":-13149614.849954996,"ymin":3757032.814274987,"xmax":-12993071.816026995,"ymax":3913575.8482029866}
maxRecordCountFactor: 3
resultOffset: 0
resultRecordCount: 8000
where: 1=1
orderByFields: OBJECTID ASC
outFields: OBJECTID
outSR: 102100
quantizationParameters: {"extent":{"spatialReference":{"latestWkid":3857,"wkid":102100},"xmin":-13149614.849954996,"ymin":3757032.814274987,"xmax":-12993071.816026995,"ymax":3913575.8482029866},"mode":"view","originPosition":"upperLeft","tolerance":305.74811314062526}
resultType: tile
spatialRel: esriSpatialRelIntersects
geometryType: esriGeometryEnvelope
inSR: 102100
The first thing that strikes me as weird is the low maxRecordCountFactor of 3.
Question
Is this the expected behavior/performance of web applications built using the API?
If not, how can I make my application more performant on a variety of hardware configs? Even panning around a basemap feels and looks choppy on this hardware. Is this a known issue and if so, is there any workaround to ensure useable performance on a variety of hardware?
It would appear that the issue is with Esri's WebGl engine and it not working with the machine's graphics driver as evidenced by the following console warning on Chrome based browsers:
[esri.views.2d.engine.webgl.WebGLDriverTest] A problem was detected with your graphics driver. Your driver does not appear to honor sampler precision specifiers, which may result in rendering issues due to numerical instability. We recommend ensuring that your drivers have been updated to the latest version. Applying lowp sampler workaround. [0.0.0.0]
When the web apps linked in the question were tested on FireFox 86, they worked perfectly fine and without the warning above.

Kinect to PC connection through controller USB3.0

I used Kinect 2.0 connected to motherboard Gigabyte through ST-Lab U710 USB3.0 PCI-E-1 controller (claim SuperSpeed) inserted in PCI-E-16 of course. All SDK samples works fine but there are no Super Speed in driver hub usb3.0 so I get only 7 fps not 30.
I bought Foxconn H67S/H61SP motherboard, because it's claim Super Speed in PCI-E-16. I use ST-Lab U710 USB3.0 PCI-E-1 controller in PCI-E-16 again. But speed is 7 fps only and no SuperSpeed words in driver hub. Also I need make Disable\Enable HD Video Graphics for start Kinect demo now. (Disable\Enable KInect or controller USB not help.)
When I connect Kinect to more expensive MBs with USB3.0 integrated all works fine and speed is 30 fps.
My question: How to get words "Super Speed" in driver of ST-Lab U710 controller (chip Renesas\NEC mPD720202 - claim SuperSpeed)?
Also Why Host Controller Utility say: "There is not any controller USB3.0" though it works? May be controller don't turn on Super Speed?
I use Win8.1 64 bit and drivers from 2015 Drivers Pack Solution.
If the Kinect v2 works (even if only at low FPS), it is most likely not an USB problem. If the Kinect v2 can't connect as a superspeed device, it won't work at all.
It's more likely that your CPU and/or graphics card is too slow. The System Requirements claim you need the following:
4 GB Memory (or more)
I7 3.1 GHz (or higher)
DX11 capable graphics adapter
But that's pretty vague and the resulting FPS can vary widely, depending on your specific setup.

Improving the efficiency of Kinect for Windows DTWGestureRecognizer Application

Currently I am using the DTWGestureRecognizer open source tool for Kinect SDK v1.5. I have recorded a few gestures and use them to navigate through Windows 7. I also have implemented voice control for simple things such as opening PowerPoint, Chrome, etc.
My main issue is that the application uses quite a bit of my CPU power which causes it to become slow. During gestures and voice commands, the CPU usage sometimes spikes to 80-90%, which causes the application to be unresponsive for a few seconds. I am running it on a 64 bit Windows 7 machine with an i5 processor and 8 GB of RAM. I was wondering if anyone with any experience using this tool or Kinect in general has made it more efficient and less performance hogging.
Right now I removed sections which display the RGB video and the Depth video but even doing that did not make a big impact. Any help is appreciated, thanks!
Some of the factors I can think of are
Reduce the resolution.
Reduce the frames being recorded/processed by the application using polling model i.e. OpenNextFrame(int millisecondsWait) method of DepthStream, ColorStream & SkeletonStream
instead of event model.
Tracking mode is Default instead of Seated(sensor.SkeletonStream.TrackingMode =
SkeletonTrackingMode.Default) as seated consumes more resources.
Use sensor.MapDepthFrameToColorFrame instead of calling sensor.MapDepthToColorImagePoint method in a loop.
Last and most imp. is the algorithm used in the open source tool.

How to turn off Video Acceleration programmatically

I'm using the Windows Media Player OCX in a program runned on hundreds of computers (dedicated).
I have found out that when video acceleration is turned on to "full", on some computers it will cause the video to fail to play correct, with green squares between movies and so on. Turn the acceleration to "None" and everything is fine.
This program is runned on ~800 computers that will autoupdate my program. So I want to add to the startup to my program that it turns off the video acceleration.
The question is, how do I turn off video Acceleration programmatically?
All computers are running XP and at least the second service pack.
It would take me ages to manually logg in to all those computers and change that setting so thats why I want the program to be able to do it automagically for me.
Using the suggested process of running procmon, and filtering out unnecessary data, I was able to determine the changes in the registry when this value changed:
Full Video Acceleration:
[HKEY_CURRENT_USER\Software\Microsoft\MediaPlayer\Preferences\VideoSettings]
"PerformanceSettings"=dword:00000002
"UseVMR"=dword:00000001
"UseVMROverlay"=dword:00000001
"UseRGB"=dword:00000001
"UseYUV"=dword:00000001
"UseFullScrMS"=dword:00000000
"DontUseFrameInterpolation"=dword:00000000
"DVDUseVMR"=dword:00000001
"DVDUseVMROverlay"=dword:00000001
"DVDUseVMRFSMS"=dword:00000001
"DVDUseSWDecoder"=dword:00000001
No Video Acceleration:
[HKEY_CURRENT_USER\Software\Microsoft\MediaPlayer\Preferences\VideoSettings]
"PerformanceSettings"=dword:00000000
"UseVMR"=dword:00000000
"UseVMROverlay"=dword:00000000
"UseRGB"=dword:00000000
"UseYUV"=dword:00000000
"UseFullScrMS"=dword:00000001
"DontUseFrameInterpolation"=dword:00000001
"DVDUseVMR"=dword:00000000
"DVDUseVMROverlay"=dword:00000000
"DVDUseVMRFSMS"=dword:00000000
"DVDUseSWDecoder"=dword:00000000
So, in short, set
PerformanceSettings
UseVMR
UseVMROverlay
UserRGB
UseYUV
DVDUseVMR
DVDUseVMROverlay
DVDUseVMRFSMS
DVDUseSWDecoder
to 0, and set
UseFullScrMS
DontUseFrameInterpolation
to 1.
It seems you're not the only one with this problem. Here's a link to a blog - the author solves his problem by lowering the hardware acceleration level. Tested on Media Player 9, 10 and 11 with REG script to set appropriate settings.
http://thebackroomtech.com/2009/04/15/global-fix-windows-media-player-audio-works-video-does-not/
As well as applying this fix, you might check the affected machines have the latest drivers and codec versions. Finally, if possible, you may consider re-coding the content to a format that doesn't produce the display problems (if the bug is codec related.)
Using hardware acceleration is certainly more energy-efficient - according to this Intel report, almost twice as much energy is used without acceleration, and as there are 800 machines, there's reason to seek out a green solution.