- Home /
GPU spikes from SubmitVBO
Hello, I've been trying to optimize our little game a bit, and having trouble figuring out what some of the data I've collected means.
Every few seconds the GPU frame time spikes massively, with the bulk of the spike time taken up by: GUI.Repaint -> Mesh.SubmitVBO
(Massively means it goes from around 12ms to 80ms)
This is then followed (not 100% though) by a spike in the CPU frame time under "Overhead" (I assume this is just the CPU waiting for the GPU?).
I am currently using GUI.Box to draw my UI textures. I've heard from the greater internet than the default GUI system isn't very good, but before I begin the arduous task of convert our current UI data to a new system, I'll like to know if it's really what is causing the spikes.
Further, if the GUI draw calls are infact to blame, what system should I use to avoid these spikes?
EDIT: So, doing some more testing, the problem seems to persist even when I completely skip the drawing of the UI.
I've added some iamges of the profiler. These are taken with the GUI disabled, and all renderers turned off.
Also, using Intel's GPA Frame Analyzer, the actual GPU time seems to be constant at ~12ms each frame.
Here's another profiler shot from the loader scene (No GUI, and only a few sprites). Still getting spikes.
mesh-submitvbo-taking-up-cpu-power
And use NGUI ins$$anonymous$$d of GUI is a good choice.
Your answer
![](https://koobas.hobune.stream/wayback/20220613132647im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
Whats an efficient method for drawing hundreds of Health Bars etc. over units for an RTS? 2 Answers
Just playing an animation in UGUI will cause GC allocation 0 Answers
Vertex count and smoothing groups 2 Answers
Unity sprite packer not reducing draw calls in the UI 2 Answers
Does transform.LocalScale now use the GPU? Is it still slow on phones? 3 Answers