Profile GPU - Bass pass

My game has some frame issues and I’ve been checking GPU.

As you see, static EbasePassDrawListType = 0 is the NO.1 contributor of frame time! :slight_smile:
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?

I also have the same issue when play media(movie).

Same question here, would love for some one to shed some light on this issue.

Same issue i have. And dont know how to fix or optimize this :frowning:

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)

Base Pass is responsible for many things - all related to preparing data for next passes after it. So:

  • Running the materials and saving their output (color, roughness, metallic etc.) to the GBuffer
  • Applying DBuffer decals (so watch out if you have a lot of these)
  • Reading lightmaps
  • some other small tasks, like fog

Either you have a big number of objects, heavy shaders or many decals. And it’s all “multiplied” by the game resolution.

I explain it in detail in my video at 22:50: UE4 Graphics Profiling: All Categories Guide (Rendering Passes) - YouTube
Hope it helps.

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.

Regards,

Oskar

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?