I’m trying to add stereo vision to my relief shape reconstruction solution which is based on TX2. I used a sample from VisionWorks demos as a reference and created my own processing graph. I ran it and get very low performance on the left_right.mp4.
I saw about 2 FPS. When I built and ran the demo app itself I had seen >30 FPS. But the strange thing is that the performance of the demo depends on whether a video renderer is created or not.
std::unique_ptr<ovxio::Render> renderer(ovxio::createDefaultRender(context, "Stereo Matching Demo", sourceParams.frameWidth, sourceParams.frameHeight / 2));
If I comment out this line (of course I also comment out everything that depends on it) I see this output:
Stereo Graph Time : 222.622 ms Left Color Convert Time : 0.474144 ms Right Color Convert Time : 0.308863 ms SGBM Time : 221.356 ms Convert Depth Time : 0.145311 ms Display Time : 222.896 ms
But when this line is uncommented (everything related to rendering is still commented out) I see this:
Stereo Graph Time : 27.9077 ms Left Color Convert Time : 0.049759 ms Right Color Convert Time : 0.131295 ms SGBM Time : 27.3106 ms Convert Depth Time : 0.027839 ms Display Time : 28.5664 ms
This behavior made be think that smth should be done at the initialization stage like cudaFree(0) or smth else to ensure that hardware and driver is ready to do the job.
Has anybody else seen this?