Meldexun / EntityCulling

Minecraft Mod: Skip rendering of hidden entities.
26 stars 2 forks source link

Lower fps on newer entity culling 6.0.2+ #78

Closed reddvilzz closed 2 years ago

reddvilzz commented 2 years ago

Getting lower fps when updating to any version of Entity Culling greater than 6.0.2. On 6.0.2 I can get with shaders stable on 70 - 60 fps, when using version newer than 6.0.2 my fps will dropped to 45 - 55 fps.

Tested back and forth between 6.0.2 and 6.2.2.

Versions Entity Culling: 6.0.2+ Forge: 14.23.5.2860 Minecraft: 1.12.2 Other mods (necessary to reproduce the bug):

Hardware CPU: Ryzen 5 3600X RAM: 32GB GPU: 1070Ti VRAM: 8GB

quentin452 commented 2 years ago

Disable OpenglBasedCulling in entity culling

reddvilzz commented 2 years ago

Disable OpenglBasedCulling in entity culling

Okay that helps increase the fps, but how's that works? If I read on Nvidia my GPU supports openGL until version 4.6

quentin452 commented 2 years ago

I don't know but this option decrease fps

reddvilzz commented 2 years ago

Strangely enough with version 6.0.2 with the OpenglBasedCulling enabled the fps is still different than using the newer version.

But disabling OpenglBasedCulling, on both older and newer version now give the same increase fps.

Meldexun commented 2 years ago

Disable OpenglBasedCulling in entity culling

Please don't say such things if you don't know what you are talking about.


About OpenGL based culling: OpenGL based culling is explained on the curseforge page. It has a far better accuracy than raytrace based culling but requires some GPU time for it's calculations.

Anyway the OpenGL culling implementation of 6.2.+ should be faster than the OpenGL culling implementation of 6.0.+. I will do some test with shaders later on and maybe also release an update which allows you to measure the overhead yourself.

quentin452 commented 2 years ago

lol , on all my graphic card fps lower

reddvilzz commented 2 years ago

Disable OpenglBasedCulling in entity culling

Please don't say such things if you don't know what you are talking about.

About OpenGL based culling: OpenGL based culling is explained on the curseforge page. It has a far better accuracy than raytrace based culling but requires some GPU time for it's calculations.

Anyway the OpenGL culling implementation of 6.2.+ should be faster than the implementation of 6.0.+. I will do some test with shaders later on and maybe also release an update which allows you to measure the overhead yourself.

Actually I noticed the issue before even when I'm not using shaders but with the same steps.

Meldexun commented 2 years ago

lol , on all my graphic card fps lower

Actually I noticed the issue before even when I'm not using shaders but with the same steps.

Please explain thoroughly what you mean. What configs did you change? Are you playing using shaders? What EntityCulling/RenderLib version are you using? Is this only noticable with other mods or in a modpack?

Otherwise I'm unable to make use of your findings as there are too many factors that can influence the result.

reddvilzz commented 2 years ago

lol , on all my graphic card fps lower

Actually I noticed the issue before even when I'm not using shaders but with the same steps.

Please explain thoroughly what you mean. What configs did you change? Are you playing using shaders? What EntityCulling/RenderLib version are you using? Is this only noticable with other mods or in a modpack?

Otherwise I'm unable to make use of your findings as there are too many factors that can influence the result.

Here is my config the changes I made was disabling OpenglBasedCulling.

At first I was using EntityCulling version 6.0.2 with and without shaders, when I update the mod to 6.2.2 my fps dropped by 10 - 20, and I'm using the mod on a Modpack. Disabling OpenglBasedCulling brings my fps back to normal as when I'm using 6.0.2.

Meldexun commented 2 years ago

There was a bug in EntityCulling/RenderLib which causes entities to not be culled when using shaders. In RenderLib 1.12.2-1.1.7 this is fixed.

If you think that there still is a difference compared to old versions then please be sure that your testing is accurate (For example moving a few blocks or looking in a slightly different direction can already affect the results. Or background programs can also be a factor) and send your results as a table.

For example like this: EntityCulling openGlBasedCulling Shaders FPS
6.0.2 true false 253
reddvilzz commented 2 years ago

Okay 1.1.7 RenderLib fix my fps so far, the fps are slightly better when enabling openGlBasedCulling

xJon commented 2 years ago
EntityCulling | openGlBasedCulling | Shaders | FPS -- | -- | -- | -- 6.2.3 | true | false | 275 6.2.3 | false | false | 369 6.0.2 | true | false | 278 6.0.2 | false | false | 343 5.3.3 | true | false | 378 5.3.3 | false | false | 385

(Using NVIDIA GeForce RTX 2060 SUPER)

Meldexun commented 2 years ago

Please test if EntityCulling 1.12.2-6.2.4 fixes this issue.

xJon commented 2 years ago
EntityCulling | openGlBasedCulling | Shaders | FPS -- | -- | -- | -- 6.2.4 | true | false | 369 6.2.4 | false | false | 373

I'd say so :)

Meldexun commented 2 years ago

Thanks, will close this now.