mojira.dev

Ljubomir Simin

Assigned

No issues.

Reported

No issues.

Comments

@bnm12 @Benjamin Kristensen

I'm suspecting entity handling is distance based (and not culled), otherwise some other expected behavior would not work. For example if sheep were loaded only when you had a clear sight of them they would very rarely regrow wool, as no entity updates (movement, calculations, tracking, behavior) would happen while you're not looking at them.

Happens to me as well on 1.9.2.

I've created a new flat world, peaceful dificulty, set mobs not to spawn (gamerule doMobSpawn false) killed all entities besides me (kill @e[type=!Player])
and built two 4x4x25 corridors on the opposite side of the spawn point. One has empty item frames on the walls, the other has empty walls. There are no other blocks nor entities on the world besides the ground.

When facing the empty walls I have 0 entities and 250 FPS (that's my maxfps). When facing the corridor with item frames, I have 400 entities and 36 FPS. Adding a few more item frames would easily kill my FPS even more. There are no chunk updates, nothing going on besides rendering item frames. There's not even anything inside the frames themselves! If that's not poor perfomance I don't know what is.

Thats on Core 2 Duo @ 2.8GHz, 550Ti and 8GB RAM.

Pure unmodified vanilla Minecraft 1.8.2-pre1, no mods, just a texture pack. If you're curious I can re-test with a texture pack off.

Screenshots: http://imgur.com/a/okeX8

Sure. If you think it's necessary I'm willing to go back and reproduce everything using 100% vanilla tools. But honestly, given the number of similar reports of this issue and their similarity to the behavior I'm experiencing, I'm reluctant to blame the debug tools I use for measuring the issue, for the issue itself. Everyone on my server experiences the slowdown near the storage room.

But again, if you think it will make my comment more valid, I can go and reproduce the issue on unmodified client.

I have discovered this yesterday the hard way (using lots of flying around and OptiFine's thread inspector). Item frames use a lot of time in scene renderer. I have an underground storage system containing tens of item frames, and together with a bunch of horses nearby, a total of 130 entities causes my Core 2 Duo 8400 @ 2.8Ghz, 550Ti, 8GB RAM and SSD drive to drop the framerate to 25-30ish compared to 120-160 FPS I get when I face the other direction.

I have experimented around with killing the horses and removing item frames (and combination of those), and it would seem that a single item frame has a similar impact to performance as a horse. And while it would be understandable that hundreds of horses would cause a drop in performance, it's easy to imagine a storage facility with tens or hundreds of item frames being build, and they suck FPS like a small child candy, while basically doing nothing.

I have hard time understanding why item frames use so much CPU (surely their geometry is not that complex, and besides, it apparently doesn't matter if they have items inside or not).