-
Notifications
You must be signed in to change notification settings - Fork 4.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Calling simGetImage or simGetImages once drops performance permanently. Why? #1766
Comments
Following... trying to capture data for machine learning and this is killing me. Any idea if this ever didn't cause the drop? I tried going back and downloading old source but it isn't finding all of the project files to build properly. |
following , it affects me as well |
anyone from Microsoft who can respond? even at least to answer @ypvypv 's questions? |
@sytelus any thoughts / comments on this? I can't see how anyone is doing machine learning or autonomous driving with this issue |
You will be able to de-activate the cameras to speed things back up after PR 2465 is merged. |
Calling simGetImage or simGetImages from python or C++ permanently impacts rendering framerate. In my case I am running at 60fps generally and can communicate with unreal via other airsim lightweight APIs without framerate costs.
As soon as simGetImage or simGetImages is called, the framerate drops to 20fps on my machine. Even if I call simGetImage once, the framerate is reduced. Can you explain where in the code the permanent cost is paid? You must be scheduling simGetImage tasks continuously in Unreal as RenderTasks, are you? Why does the performance drop permanently?
The recording button ( because it calls the same api ) will also drop performance at the same rate.
I understand that you optimized the performance ( ReadSurfaceData and not ReadPixels ) to bring it up to the current level, as you mention here:
https://stackoverflow.com/questions/43218678/unreal-engine-accessing-saving-in-game-images-to-disk-without-blocking-game-thr/43287505
Also interesting to mention that the actual performance drop is the same whether you are capturing several camera views or just one, which makes me feel that the cost is paid out of render thread management.
The text was updated successfully, but these errors were encountered: