When trying to optimize my game the biggest problem seems to be the device.present. Been going through some forums and i couldnt really find any useful answers. What is usually the main problem associated with this?
There are just many things that could cause this but the main reason is because the Thread is blocked by the graphics driver in a way to let the GPU catch up.
These are the specific reasons:
1.Image Effects
Check your camera. If you have Image Effects such as Flare Layer, Anti-aliasing and others, disable them.
2.UI Effects
Check all your Images, RawImages and Texts. If you have an Outline
, Shadow
or Position As UV1
component attached to the Images
, RawImages
and Texts
, this could cause the problem. Usually when you have multiple of this attached to one
Image
, RawImage
and Text
.
3.Bad Light Settings
Select your light and make sure that the Resolution under the Shadow Type is not set to Very High Resolution.
4.In the Quality Setting change the V Sync Count to Don't Sync.
5.Check for Sprites and Images with 0
alpha then disabled them
6.From the Player Settings, disable Auto Graphics API then change the Graphics API to OpenGLES2.
7.Custom Shaders
Are you using custom shaders (non standard shaders)? Disable it temporary. An expensive or bad written shaders could cause this problem.
Those are the usual problems. It is very possible that yours is a different problem. I suggest you enable/disable items one by one and you will likely find the problem.
If not, then consider creating new project and scene. Save out your old game as prefabs or assets then import them one by one into the new project. Don't import them at the-same time because the problem might appear again. Import then test then import again and test until you find the problem. If the problem is no longer there then it's likely an Editor Settings problem.