Entity Culling

Entity Culling

14M Downloads

[1.12] Culling just doesn't work on old iGPU

Opened this issue ยท 4 comments

commented

Describe the bug
On my laptop, the mod does not work and even slightly reduces the FPS.

Reproducibility

  • I reproduced this issue with as few other mods as possible installed.
  • I am unable to reproduce this issue consistently.

To Reproduce
Steps to reproduce the behavior.
Please keep in mind that I most likely don't know how other mods involved in this issue work. Thus terms like "Go to dimension X" should be explained in more detail because I probably don't know how to do that.

  1. Install mod
  2. See culling info on debug screen

Screenshots/Videos
https://youtu.be/h46XvfZiAJM

Versions
Entity Culling: 6.2.5
Forge: 14.23.5.2860
Minecraft: 1.12.2
Other mods (necessary to reproduce the bug):
Render Lib: 1.1.10
OptiFine: HD U G5

Hardware
CPU: Intel Core i5 3230M
RAM: 8Gb DDR3L-1600 (Dual channel)
GPU: Intel HD Graphics 4000
VRAM: 1792Mb

Log File
latest.log

commented

There is a slight overhead but tbh I doubt that you are loosing 10-20 FPS when you only have ~60-70 FPS.

Since your GPU doesn't support OpenGL 4.4 it also doesn't matter whether you enable or disable openglBasedCulling in the config. But I recommend you to have enableRaytraceCache enabled because that should help you to reduce the overhead.

If you want to test the overhead of EntityCulling yourself you should do this:

  • Install EntityCulling
  • Join a world
  • Wait for the inital loading lag to go away
  • Stand still for ~30-60 seconds without moving or rotating and measure the FPS, CPU usage, etc. during that time
  • Close the game
  • Uninstall EntityCulling
  • Join the same world
  • IMPORTANT Don't move or rotate at all! This way you are in exactly the same position with exactly the same rotation as before. (You could also use a command to make sure that you are in the same position both times: /tp 15.0 68.0 85.0 0.0 0.0)
  • Wait for the inital loading lag to go away
  • Stand still for ~30-60 seconds without moving or rotating and measure the FPS, CPU usage, etc. during that time

Now you can compare the results.

commented

I don't see anything unusual in that video. Can you explain more precisely why/when you think that something isn't working correctly?

Also keep in mind that frustum culling (culling of entities that are not inside the field of view) is part of vanilla. So whenever you are above ground in the video then EntityCulling won't do anything for you.
Whenever you are underground you can also see that the Culled number in the debug screen goes up when an entity/tile entity is in your FoV (because they are hidden behind blocks when you are underground).

Another thing to note is that I can't take this video as an accurate performance measurement. Ideally you want to not move/rotate the camera at all between tests and it would also be helpful if the world wouldn't be changing between test. There are a lot of things that can affect FPS (chunk loading, chunk compiling, fov updates, etc.). So you will want to exclude as many factors as possible.

commented

I don't see anything unusual in that video. Can you explain more precisely why/when you think that something isn't working correctly?

Also keep in mind that frustum culling (culling of entities that are not inside the field of view) is part of vanilla. So whenever you are above ground in the video then EntityCulling won't do anything for you. Whenever you are underground you can also see that the Culled number in the debug screen goes up when an entity/tile entity is in your FoV (because they are hidden behind blocks when you are underground).

Another thing to note is that I can't take this video as an accurate performance measurement. Ideally you want to not move/rotate the camera at all between tests and it would also be helpful if the world wouldn't be changing between test. There are a lot of things that can affect FPS (chunk loading, chunk compiling, fov updates, etc.). So you will want to exclude as many factors as possible.

After install Entity Culling, I expected that the FPS may not increase, but it will not drop, in fact for me the FPS is a little lower if Entity Culling is installed (on average by 10-20FPS), but what really bothers me is if the information on the debug screen displays entities that are culled or displayed, then I have zeros everywhere, and some values may appear if I turn off OpenGL based culling and turn on trace caching, but most importantly, on the debug screen, I have never seen the "Culled" field ever show NOT zero. I'm not sure how best to test this, but just tell me what I can provide and I'll do it.

commented

Oh god, sorry! The culling seems to be working and I didn't notice any change in the values of the culled entities due to the jagged gray background overlay on the debug screen when Unicode is enforced. However, the question of reducing the FPS remains, could it be due to additional tasks for the culling?