Empty scene HDRP rendering taking way too much frame time (optimization tips?)

I’m seeing the HDRP take 4-5ms per frame in the profiler, in a scene that is nearly empty (just 5 extremely simple meshes with Lit material, and one directional light). I’m wondering:

  • if this is normal
  • if there’s anything I can do to reduce this significantly while still having decent rendering quality

By contrast, the URP only needs about 1.5ms in the same situation:

My specs:

  • GTX970 and i5-4670k
  • Unity 2021.1b10
  • HDRP 11

The profiling is done in editor, but the same contrast of HDRP vs URP remains in builds. I have URP builds running at 900fps while HDRP can barely go over 200fps when there’s nothing going on in the scene. For games aiming for 120-144fps, this is a problem. With that much of the frame time being dedicated to rendering, it leaves almost nothing for other game logic. And the reason why I don’t use URP instead is because I still want people with high-end hardware to be able to play the game with all the nice rendering features

Are there any obvious things I can turn off to get it down to 1-2ms like the URP? I tried turning off Volumetrics & SSR in the pipeline asset, but it didn’t make that much of a difference.

1 Like

The baseline is just fairly heavy and if you don’t want to give up substantial quality nothing you can do. It’s just the way it’s designed.

It creates a lot of textures internally and has a lot of passes/compute dispatches that it uses to store and then at some later time compose stuff. So texture quality/size naturally has one of the largest impacts, but of course that’s a direct trade off in quality. Disabling individual features generally has marginal impact. Because a lot of features require a chain of previous composition and a lot of that is shared by multiple features.

Unity created a sort of all or nothing paradigm with HDRP/URP. It left a fairly large middle ground that happens to be where most games sit. The FPS you want will likely never be possible in HDRP if it’s a competitive game visually. URP + deferred (not sure of the state of that) is going to be much closer to what you want I think. And then relying on the asset store for higher level features like sky/fog, or rolling your own.

Deferred is the hard problem here. Using HDRP for it’s high level features like sky/fog is a mistake. Those are trivial in comparison. Especially once you factor in the overall cost on your project of dealing with the higher HDRP baseline cost. It took me a month to roll our own sky/scattering/fog. I’m not a domain expert. This is just emphatically not built in rendering with a mature asset store selection. Solving rendering is just a harder problem then it used to be and it’s going to remain that way for a while.

1 Like