As you see, static EbasePassDrawListType = 0 is the NO.1 contributor of frame time!
I’ve been checking c++ source code and found out that
static EbasePassDrawListType = 0 indicates that static mesh basspass type is basspass default.
My question is what exactly this is telling me in GPU Visualizer?
Is it just telling me that the drawing of static meshs makes the FPS worse?
How do I optimize this?
Same issue i have. And dont know how to fix or optimize this
I have many simple objects with texture:
Info Base pass shader with static lighting: 74 instructions
Info Base pass shader with only dynamic lighting: 47 instructions
Info Vertex shader: 31 instructions
When i look at this objects with different angles i see different Fps, for example:
Maximum - 230 fps
Minimum - 200 fps
These 30 fps are taken away by the BasePass (static EbasePassDrawListType = 0 )
When I change r.EarlyZPass and r.EarlyZPassMovable i see same result. Only the angle at which different Fps are displayed changes.
If anyone is interested, my problem was resolved by setting parameters to these values:
r.EarlyZPass 1 (also 2 sometimes)
r.EarlyZPassMovable 1 (default is off)
It works only together!
Now FPS is more stable, especially on a laptop.
P.s. On a stationary computer, the problem was also solved by this command r.AmbientOcclusionMaxQuality 0 (or more maybe), but it certainly spoils the graphics quality unlike those commands (ZPass)
edit: Early Z-Pass probably helped because it allows to discard occluded areas before the Base pass. It has a cost of it’s own, but here I can see it was worth it.
Thanks for this! I was profiling BP_Sky_Sphere which, as you know is UE4’s default sky sphere blueprint. Does it’s render time come under the “Base Pass” section?