Description
Currently we use Clipboard to manage each plot's initialSchematic.
Problem is when created, it reads ALL block data into memory on each clipboards (up to 3+ million blocks for 50 radius environment) which pile up for every uses.
- It make sense to initially setup the plot world, like pasting the environment, setup protection regions.
- But we use it excessively (without even using the blocks data it read) for simple metadata like region (width, length, height), origin, center (min block, max block)
- Some function call also nested the clipboard creation multiple time
Steps to Reproduce
Debug the function calls of com.sk89q.worldedit.extent.clipboard.io.ClipboardReader#read
Possible Solution
Cache it? once a plot is pasted on the world, it never get moves anywhere else.
#199 partially helps in case FAWE is configured to use-disk
Description
Currently we use Clipboard to manage each plot's initialSchematic.
Problem is when created, it reads ALL block data into memory on each clipboards (up to 3+ million blocks for 50 radius environment) which pile up for every uses.
Steps to Reproduce
Debug the function calls of
com.sk89q.worldedit.extent.clipboard.io.ClipboardReader#readPossible Solution
Cache it? once a plot is pasted on the world, it never get moves anywhere else.
#199 partially helps in case FAWE is configured to
use-disk