I’m having a strange issue. I have a scene, Using URP (the latest version) along with the SRP Batcher, some terrain, trees, a test player, water, and grass. I am having issues with the grass LOD Group. supposedly though all of the stuff I’ve read, The LOD Group having multiple meshes that have a lower amount of polygons than the last, to keep performance at a good pace. However, when I don’t do that at all, my average FPS is at ~230 FPS, with highs going to ~300 and lows of ~150 FPS when the grass is less dense. however, with shader ‘optimizations’ and a total of 4 LODs, going down to 34 tris with a static shader with next to nothing in it. however, this drops my fps on average to ~170 FPS, with highs of 200 FPS and lows of ~100 FPS. I kinda need some help to fix the whole performance deficiency, if anyone could. My specs are:
It’s a bit hard to tell what the problem might be from those screenshots. Indeed those screenshots imply that there is no problem. The top image shows a higher framerate with fewer SetPass calls, fewer batches, and ever so slightly fewer vertices han the middle screenshot which kinda all checks out as normal. It also doesn’t have the inspector for a selected object being drawn in the editor which can have a significant impact depending on which items are selected. Are you sure your LoD groups are configured properly because if they are you should be getting lower numbers for all of those stats mentioned above.
Another thing to consider is that this really isn’t as big of a deal as it might seem. Counting the difference in framerates when they are in the triple digits is a notorious red herring because each frame is worth less real time spent rendering it at such high numbers. Instead you should be looking at the render time which in this case shows a difference of a about 0.9 milliseconds.
All of that being said you also have to consider the value that LoDs might give on lower end hardware and under more strenuous rendering situations. They might be a lot of overhead when you are only rendering 500k verts so they slow things down slightly but when you add more to the scene and have to start worrying a about tens of millions of verts then those same LoDs easily pay for their own overhead and help keep the framerates high when they would otherwise dip significantly.
Thank you a LOT for the response! I see the issue with the whole chasing the big numbers, but my computer isn’t that horrible (in terms of the GPU) but I’m looking for the ability to run it off a laptop running a Ryzen 7 5700U with Vega 8 graphics at a good speed. Another issue is that the issues permeate no matter how crazy it gets. I kid you not, it got worse. I am genuinely so confused. My best theory is because the SRP batcher is not batching the LODs. It is genuinely pathetic and thats the real issue. The two screenshots with the largest amount of grass both have a 3.5 LOD Bias in the settings, and still it does not produce any performance increase. (The one with the more yellow grass is the one with LOD) I yet again am not sure what to do. along with that the render time difference is ~13.1 ms, which is just horrible. The tri count has decreased, but that just doesn’t matter at this point. Also because I’m here, is there any way to rotate the grass towards the terrain? I’ve looked all over and could not find anything, if you could help. Here are the images: