Large FPS hit with Mana spreaders
reece-bennett opened this issue · 19 comments
Whenever I place a mana spreader connected to (and that is the important part, if the flowers are placed alone or the spreader alone there is no issue) I get a pretty hefty FPS drop. I've narrowed down through the F3 pie chart menu that this is related to "root.gameRenderer.level.update.chunks.sort" the same time this happens the chunk updates go through the roof. The FPS drop does differ depending on the world it is tested on so I am guessing that just depends on the blocks in the chunk that are being updated?
Placing the spreader and pool alone, no lag, note the sort % in the pie menu and the chunk updates.
Placing the dayblooms and pool alone, again no lag.
Placing both the dayblooms, pool and spreader. This time there is a considerable ammount of lag, the sort is incrased massivly and also chunk updates are constantly around 50.
Try turning off VSync and setting the max fps to Unlimited if you haven't yet, I don't get an fps drop from this.
Still a great amount of lag. On a fresh world the sort thing in the F3 menu still rises but not as drasticaly and the fps doesn't drop nearly as much. This makes me assume it is updating the chunks around where I set this up and that is causing the lag?
Edit: Just found that moving away and looking the other direction removes any lag. Looking back towards where the spreader is does drop fps slightly. After moving away the sort % returns to what it was before placing the spreader and flowers.
The mana pool seems irrelevant to this. The test runs with interactions just between dayblooms and a spreader, no placement of a mana pool had any impact.
In my fresh world, while standing in the same chunk as the spreader:
Mana spreader+a daybloom gets 40 chunk updates regardless of where it is placed.
Mana spreader and a daybloom crossing chunk boundaries, but the daybloom not touching the chunk border nets 40 updates.
Mana spreader with a daybloom touching a chunk border gets 80 chunk updates
Mana spreader with a daybloom touching a chunk corner nets 160 chunk updates (and about 20FPS).
The number of updates is not cumulative with additional dayblooms, there are either 40, 80 or 160 updates.
Standing in a chunk with no spreader generates a different number of updates, as does moving further from it.
It appears to wholly be an artifact of what is within 1 block radius of a daybloom that is sending to a spreader.
Or this could be different altogether, as I only got an FPS drop, and not 'frame lag', as I still had ~40fps
I'll post this around and see if someone can reproduce, if that's not the case then I really can't help you, it runs perfectly fine here.
Psycho, can you reproduce and then press alt-f3-c and paste the log created to pastebin and link it here plz?
Glad that people have been able to reproduce and it wasn't just my stupid computer. I'm at school so will be able to do more testing in 6 hours or so.
Also thanks for the instructions. This is my first time debugging anything apart from a crash in Minecraft so didn't really know any of the hotkeys to obtain info or things like that.
Clean install (I retested with no texture pack after I found I forgot to remove it. identical results)
The wooden blocks mark the X of four chunks.
Results are identical except fully half my initial results with the 1117 forge.
A second test with a fully clean install and forge 1125 shows identical results. My initial findings must have been the result of another mod interacting, however the FPS drop is the same if the daybloom is on a border or in the corner of a chunk.
The spreader being in the same or a different chunk seems to have no impact.
I see. I can reproduce it in the chunk corner too. Did some experimenting to try to fix it, and you know what I have to say?
I'm ignoring this issue completely because in all honesty I got better things to do then exploding my head with stress from an issue I have absolutely no idea how to fix or even a hint of a clue as to what causes it. Don't place flowers in chunk corners.
That's completely understandable. It might work itself out in future versions. I'm probably going to leave Minecraft alone for a week or two because of exams then look at this again. I'll wait a good while before bringing it up again nevertheless.
Is one of those dayblooms in the X and Z location c:0 (or c: 15)?
The corner position is the only time I see (in F3, I dont notice it myself) the FPS hit.
With vsync off and no advanced GL, I drop from ~370fps to ~290fps
With vsync off and advanced GL, I drop form ~320 to ~250
Having a daybloom and mana spreader together seems to slow down the loading of chunks. Hitting F3-a to reload chunks with a daybloom is slower than without. Not sure if this is just me but it seems related. I can also confirm the placement of the daybloom in a chunk affects the intensity of the chunk updates (seems to be 20 for mid of a chunk, 40 for touching 1 border and 80 for a corner)
Decided to go give it a look since I was on a clear head today. Ended up finding it, should be in the next version.
Oh, great. Glad you've had some downtime from bug fixing/searching to put
in some of the recent stuff, it looks pretty ace. Really looking forward to
playing again. Out of interest was it something to do with the flowers
updating more chunks than they should have been or something completely
different?
On 23 June 2014 14:24, Vasco Lavos [email protected] wrote:
Decided to go give it a look since I was on a clear head today. Ended up
finding it, should be in the next version.—
Reply to this email directly or view it on GitHub
#101 (comment).
This actually is a general bug, it had nothing to do with the chunk border. They were updating every time their mana is put into a spreader, which is normal behaviour to keep visuals right. However, I forgot the check if any mana whatsoever was being put, so even when it put 0 mana (no change) it updated regardless.
Oh right, strange how it reacted with the placement in the chunk for me
then. At least it is fixed now, I will have a play some other time though,
got revision to do -.-
On 23 June 2014 17:10, Vasco Lavos [email protected] wrote:
This actually is a general bug, it had nothing to do with the chunk
border. They were updating every time their mana is put into a spreader,
which is normal behaviour to keep visuals right. However, I forgot the
check if any mana whatsoever was being put, so even when it put 0 mana (no
change) it updated regardless.—
Reply to this email directly or view it on GitHub
#101 (comment).