Jump to content

Tip: Remove All Screen Space Canvases


tedw4rd

Recommended Posts

Posted

I just spent a week trying to fix some really strange performance issues in my Vive Focus project. Despite having a very simple scene (literally 3 meshes and less than a dozen draw calls), my Focus was rendering at ~40FPS according to ADB. After profiling, I found that the framerate was actually super inconsistent, and the Focus was spending a lot of time on the GPU after rendering:

image.thumb.png.c15447cf8c286a519956714fd6186d12.png

There you can see I'm spending over 20ms in Gfx.ProcessCommands after both Camera.Render calls complete, but without any obvious reason. This happened on 50-70% of the frames. (Side note: I was using multipass at the time of this screenshot, thus the two render calls. Friendly reminder to use singlepass if at all possible.)

After removing almost everything from the scene, I realized there was a Screen Space Canvas in the scene that we use to render a desktop menu in the Oculus version of our app. That Canvas wasn't being displayed on the Focus. However, when I removed the Canvas from the scene, the overall frame time became consistent again and my framerate returned to normal.

 

tl;dr: Disable any and all screen space Canvases you may have. They won't be displayed, but they still take up time on the GPU.

@Tony PH Lin

image.png

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...