MicroProfiler: What's perform and Present?

Hi, I’m trying to optimize my VR game for better framerate, and Right now the biggest thing that’s been maxing out my frame time is something called “Present”
(single frame from microprofiler)



the developer page for the micro profiler is vague, as all it says is

Render (“GPU”): Follows a prepare, perform, present logic. Communicates with the graphics processing unit (GPU) of the device.

  • Prepare : Information from the main thread is used to update rendering models.
  • Perform : Issue rendering commands, including 2D interfaces.
  • Present : Synchronizes with the GPU."

I’m not really sure what they mean by that, can someone here explain it in more the 4 words?

1 Like

note I’m not a Roblox engineer so I don’t know for sure, this is just my best guess based on what the developer page says and what the names are, and I can’t find other info about this on the devforum or online.

I think this is where the main rendering happens, hence the name “Perform”. GUIs would be updated, the 3D viewport would be updated etc using information from the Prepare stage.

That probably means V-sync to prevent screen-tearing and rendering more frames than your monitor can display. If I’m correct, that means there’s likely nothing that you can do to decrease it.

well that’s odd. why am I getting Vsynced down to 40 FPS? nothing else is taking even remotely that long to process. and the frame time stays the same even when I delete all the ingame scripts…

the scene render time is 14ms…

3 Likes