I'm looking for more info as to what FViewExtensionPreDrawCommand actually does. In my VR project this piece of code gets called randomly with up to 14+ ms (according to Frontend profilier), with normal values at around 4 ms (both screenshots attached). There's nothing specific going on when recording the gameplay, I just stand, doing nothing with this function dropping frames randomly every x seconds.
Looking forward to any info that may narrow down the cause.
asked Jun 30 '17 at 08:28 AM in Rendering
To anyone reading this. After running optimization tweaks the function in the subject seems to go back to normal, stable values. Please refer to my comment above for more info.
answered Jul 11 '17 at 04:50 PM
The FExtensionPreDrawCommand issue also exists in VR and was severe enough to prevent App submission to the Oculus Store.
I was able to reduce FExtensionPreDrawCommand to under 11ms from 22ms by turning off dynamic shadows and volumetric shadows on the scene's directional light source. I also removed all widgets and converted to hierarchical instanced static meshes.
Overall it appears that once a certain render time threshold is exceeded, the FExtensionPreDrawCommand time jumps up non-linearly to a much higher time. Doing the optimizations above may or may not bring your render time back under the point where it went non-linear, so the general answer is- optimize your per frame computation until it comes down below the threshold. Working on this optimization was exceptionally frustrating because nothing seemed to affect the FExtensionPreDrawCommand time until one final optimization (dynamic shadows off) caused it to go back to normal.
A helpful discussion can be found at this link.
answered Nov 09 '18 at 11:11 PM
Follow this question
Once you sign in you will be able to subscribe for any updates here