Below is the list of color, depth and IR resolutions and their supported frame rates, taken from the SR300's data sheet document.
If you are experiencing a crash when trying to use 60 FPS, I would guess that either you are trying to use 1920x1080 resolution, which does not have 60 FPS support according to the chart, or - if you are using the camera with a PC with a USB port - your machine's USB port cannot cope with the amount of data sent to it by the camera in 60 FPS mode and is overwhelmed, causing a crash or freeze-up. This is an issue usually experienced with the older R200 model of camera.
Have you previously experienced instability with your SR300 camera on your machine in other ways?
Thanks for your information.
I am using the following snippet to specify the resolution and fps for the camera.
sensemanager.EnableStream(PXCMCapture.StreamType.STREAM_TYPE_COLOR, 1280, 720, 60)
The camera works fine with the below setting.
sensemanager.EnableStream(PXCMCapture.StreamType.STREAM_TYPE_COLOR, 1280, 720, 30)
Do you have any idea why this is an error in the first place?
RealSense cameras send a lot of data through their cable to the USB port. The amount of bandwidth is such that even using a USB extension cable longer than 1m can cause the camera to malfunction. The quality and stability of USB ports can vary between PC manufacturers, and if the ports on your particular model are less than ideal then the risk of camera instability can increase. An example would be bombarding the port with data at 60 FPS and exceeding its ability to cope.
A mains powered USB hub can help solve RealSense USB related issues. They can be found by searching stores like Amazon for 'mains powered USB 3.0 hub'.
How can you be sure that the cables are the reason for the framerate incompatibility?
The camera crashes even at lower frame rates. Why is that so? The data rate is less in this case.
I don't think the data rate/transfer rate is the reason for the app to crash.
Data overload was a logical diagnosis given that you stated above that the camera worked fine at 30 FPS but not 60.
I did not say that the cable that comes with the camera was at fault. I just mentioned cable length to explain RealSense's USB sensitivity due to the high volume of bandwidth it transmits.
If your PC meets RealSense's minimum spec then USB issues are a common cause of problems. Could you post your PC's system info here please so we can confirm that your machine meets the SR300's minimum spec. Thanks!
My machine is for sure above the minimum specs
Intel i7 6700K Processor
16 GB Ram
256 GB SSD
nVIDIA Quadro 1200K Graphics card.
I would recommend you to diagnose the problem closely and give a valid answer.
The camera can run at 30 fps but why not at 10 fps or 60 fps?
Your processor is a 6th generation Skylake architecture, so it and the rest of your PC meets the minimum requirements for the SR300. Given that you can run at 30 FPS I thought it likely would but it is good to check and make sure.
Sadly I am "off shift" now as it is 10.30 pm in my time zone, so I cannot investigate further today. Hopefully somebody else can assist tonight, and I can resume the case with you tomorrow if it has not been solved. Good luck!
I have not researched this question further yet as I was waiting for a response from you about whether you had solved it or not. I apologize if you have been waiting.
There was a question by another SR300 user today that may be relevant to your query about why 10 FPS cannot be used.
So that one would explain why 10 FPS may not be accessible. As for problems with 60 FPS, data overload of your particular machine's USB port remains the most likely explanation. Your NvIDIA Quadro 1200K grahpics card cannot be completely ruled out as a factor though. Have you tried updating it to the latest graphics driver from the Nvidia website to see if that makes a difference?
Thanks for your reply.
If it is provided in the SDK and if it is not accessible, I don't think that is a valid reply. Can you please dig around and find if you can find a better answer?
Even if the camera hardware supports a certain feature in theory, the SDK software package (which should not be confused with the camera driver) still needs to be programmed to interface with that hardware feature. Although a capability may have been provided in the camera hardware during its initial development, that feature may not be supported in the SDK software, perhaps because it was decided by the developers that the feature did not work well after all or the development priorities have changed and a feature that was once supported in earlier SDK versions is removed.
Developer priorities is why the official RealSense SDK lacks some features that the open-source Librealsense SDK has, and the RealSense SDK has some features that Librealsense lacks. I understand that it can be frustrating when your favorite SDK does not provide the function that you want. that is sadly the reality of the situation though. Even if the hardware supports it, it is inaccessible if the SDK software does not support it.
Can you then confirm if LibReal Sense has the feature accessible? Can LibReal Sense generate 10 fps scans?
If yes, can you provide a sample program for the same?
Librealsense created a patch last November to make 10 FPS accessible with the SR300 (before then, 30 FPS was the forced minimum).
I assume that once the 10 FPS patch is installed then 10 FPS can be accessed in Librealsense scripts.
Me again with similar question. I followed the data sheet and tried to enable 60FPS with FHD (color and depth, color only, etc).
My problem is exactly the same, where I can't even start camera if I put any other value for FPS (method EnableStream) other then 30.
Is there some particular way of creating/enabling streams from the camera that is not shown in the SDK examples? I found some examples using the StreamProfileSet, but that also didn't yield any results.
Thanks in advance.