The Twilight Forest

The Twilight Forest

143M Downloads

Magic Maps cause 2 to 0 FPS when not selected an in hotbar or player inventory.

ScytheIronclaw opened this issue ยท 4 comments

commented

Forge version: 14.23.0.2512
Twilight Forest version: 3.1.128
Link to crash log: N/A

Steps to reproduce:

  1. Craft or Spawn in a Filled Magic Map, not the blank one.
  2. Deselect it from the hotbar or place it into the player inventory.

What I expected to happen:
The game to run normally and not consistently run at 0 - 2 FPS

What happened instead:
The game struggles to maintain 2 FPS until the Magic Map is back in the active slot on the Hotbar, Placed in an item frame, thrown on the ground, or tossed into lava due to frustration.

There is no sort of error in the console log aside from the typical generic low TPS warning:
"Can't keep up, has the system time changed or is the server overlaoded?"

Also the Magic Maps no longer show a player Icon on them which makes it difficult to use them as intended.

*When the magic map is in the active hot-bar slot there is still a noticeable affect on FPS.

Screenshot showing control FPS - No magic map in inventory or actively selected.
2017-10-16_10 01 59

Screenshot showing FPS impact when Magic Map is selected
2017-10-16_10 02 17

Screenshot showing severe FPS impact when Magic Map is deselected but still in hotbar/player inventory
2017-10-16_10 02 49

commented

can you make it happen with TF alone?

commented

additionally, if you could generate a profiling report that would be great:

Server:

  1. fresh TF dimension, let it settle completely
  2. /debug start
  3. open map, let it sit for 30-60s
  4. /debug stop
  5. attach the newest file generated in the debug/ folder of your instance

Client:
Hit Shift+F3 to bring up the pie chart and make notes of what sections take up the pie the most. You can drill down into subsections using the number keys.

commented

Simply holding a Magic Map leads to a gradual increase in scheduledExecutables (unspecified). This performance hit remains for each Magic Map in inventory, and was additive for creative-cloned copies of the same magic map.
Restarting the world gets rid of some of the accrued performance loss; greater amounts of feature data on a map seem to increase the immediate impact of having a map in inventory as well as the speed at which performance is lost while holding the map.
magicmaptest
As for running the debug profiler, Connection/Unspecified takes up around 70% while a Magic Map is held. When not held (but still in inventory), the debug returns normal results, in spite of the maintained hit to scheduledExecutables.
It might be worth mentioning that actively holding the map didn't fix/improve any poor performance in my testing (with TF build 171 in isolation).

commented

Yeah pretty massive derp on my part, basically each feature icon was getting duplicated and it piles up over time, resulting in bad disk consumption, network bandwidth, and rendering performance.

It should fix itself the next time you load the map.