- Home /
GPU Optimisation
Hello,
I am currently quite stummped on how to optimise my scene at the moment, I am currently running at around 60 FPS but on quite a high end system. As you will see below my problem lies with the GPU, I belive that I have narrowed it down to a (not sure if im naming this right)Pixel fillrate. I am currently quite stumped on what exaclt is "other". Althought the offical documention say that it includes : AI, Audio, Particles, Networking, Loading, and PlayerLoop. With this in mind the only thing that might be making this would be the loading of the models after the culling, but if this is true how would I go about speed it up.
Basicly I am asking for any tips, help and infomation to help me opismise for my GPU Fillrate.
I have watched a unity video full of optimiazion tips and hints, tryed all that they have currenlty said about what to do, to optimise for fillrate, but there wasnt a noticible framerate difference.
Answer by Chris333 · Jan 21, 2015 at 11:07 PM
Hi, you could also try Batching. What i only know is you can flag objects which are not moving as static in the inspector and they will be prepared for static batching automatically during the Build Player step, to reduce draw calls. Take a look into the following links.
http://docs.unity3d.com/Manual/DrawCallBatching.html
http://docs.unity3d.com/ScriptReference/StaticBatchingUtility.html
Thanks Chris, I have tryed doing some static batching but doesnt have that much of a impact to the GPU even thought it halfs the drawcalls, which is quite strang if you ask me.
Answer by DaDonik · Jan 22, 2015 at 11:31 AM
I wouldn't say it's the fillrate that is the problem here. The thing that impacts the fillrate most is transparent stuff like particles with alpha blending. Since your screenshot shows the most rendertime for opaque geometry, i suspect you have some pretty hefty shaders on your meshes, maybe with a lot of texture lookups going on. Thats something different than fillrate, though.
Without knowing what kind of shaders you are using, there is not much we can tell you.
You say reducing the drawcalls doesn't impact the rendertime much, which seems to indicate that it indeed is a problem of 'too complex' shaders.
at the moment I am using just the unity 5 standard shaders on nearly every object in the scene. if this is the case how would I go about fixing this issue
Telling the Unity devs to optimize it :D
I'm not using 5.0 as long as it is in beta, so i can't tell you if thats 'expected' behaviour. Still the physically based shading is probably not as cheap as other shaders.
Nothing you can do i'm afraid.
they do have a legacy shader, I will just try and do a test on it and will let you know.
Do you render an insane amount of triangles?
Do you have LOD meshes on your objects?
Could it be garbage disposal or not all needed shaders being loaded at start? I'm not using 5.0 but i'm forcing the garbage collector to do it's thing at the end of each scene so that i'm sure the next one loads with as few crap as possible. I'm also prewar$$anonymous$$g the shaders so everything is ready shader wise, won't load anything the first time it comes on screen.
Your answer
Follow this Question
Related Questions
Why does the internal profiler show no GPU usage? 1 Answer
Why do static arrays in shaders cause massive slowdown? 0 Answers
for a 2d background, sprite or a quad with shader, would be best? 0 Answers
weird profiler result? 0 Answers
Build GPU Performance 0 Answers