Download

Optimization Help Pretty Plz

Howdy all;
So I am working on a VR game that uses a lot of physics characters. They are just cubes, but still moved around by physics. I am trying to push their numbers up.
Right now there is kind of an off thing happening. My VR update frame rate is still super high, when I turn my head around there is not a single stutter. But the enemies and any animation in the scene are stuttering pretty badly. I’ve been trying to use the pro filer’s but I am new so it is proving difficult to identify what and where the problem is.
Any help is very very appreciated.
:slight_smile:

2016-11-27 09_31_43-protoTypeA Game Preview Standalone (64-bit_PCD3D_SM5).jpg
2016-11-27 09_31_07-protoTypeA - Unreal Editor.jpg
2016-11-27 09_30_15-protoTypeA - Unreal Editor.jpg
2016-11-27 09_29_11-protoTypeA - Unreal Editor.jpg

Also here is the profiler results file
https://dl.dropboxusercontent.com/u/23819401/UEDPIE_0_MapA02-Windows-27-09.34.41.ue4stats

You are using 13MS just on the update transform command in the render thread…just that one function call alone is already over the maximum time you want to retain VR performance (11ms).

You are running far too many operations on every tick, either batch them, use a timer that isn’t updated every frame, or re-think what you are doing, your game thread is 39ms, you are moving way too many things every frame (thus the high transform update cost in the render thread as well).

In general updating anything every tick with blueprints is a bad idea. In many cases you can get away with timer running every 1/30 of a second. But even then: if relocating your stuff takes 13.344ms - you’ll have to optimize that as much as possible (minimize number of instructions and calculations, try to cache what you can, make sure that run code only if necessary (eg. background objects don’t need to update anywhere near as often as foreground objects do)). Ideally your frames should never exceed 11ms, no matter what.

Thank you so very much for the advice.

Ty ty so much for the help.

I will tackle my event tick minimize everything in there and get it into timers or dispatchers or something not firing all the time. I am not certain what “batch them”… unless you mean dispatchers in wich case I am on it. :slight_smile:
Thank you again