forked from mirror/Folia
This may be useful for plugins which want to perform operations over large areas outside of the buffer zone provided by the regionaliser, as it is not guaranteed that anything outside of the buffer zone is owned. Then, the plugins may use the schedulers depending on the result of the ownership check.
43 lines
1.5 KiB
Plaintext
43 lines
1.5 KiB
Plaintext
Get done before testing:
|
|
- Mob#getTarget?
|
|
- regioniser->regionaliser
|
|
|
|
Pre-Test: List of things not fully tested
|
|
- Task queue
|
|
- Teleportations
|
|
- Regioniser
|
|
|
|
Get done after test:
|
|
- global autosave queue
|
|
- game time / day time tick comparison (== is now invalid due to desync of global / region tick)
|
|
- scoreboards
|
|
- vanish api
|
|
- watchdog stuff
|
|
- Spectator teleporting / camera
|
|
- regenerateChunk, isChunkGenerated
|
|
- Conversable...
|
|
- sync load info
|
|
- net.minecraft.commands.Commands
|
|
- are the race conditions in the weather tick (advanceWeatherCycle) ok?
|
|
- make scheduler load chunks better? this requires additional work to:
|
|
-> reduce scheduler overhead (i.e at 5000 regions, on 16 threads -> overhead is 10%)
|
|
-> unsure how to reduce scheduler overhead, may need to rewrite it so that the queues
|
|
are per tick thread and thus it increases parallelism
|
|
-> reduce chunk system overhead (i.e at 20 workers, ~100 unique concurrent regions, overhead -> 10-30% on both workers AND tick threads (at tick threads ->8)
|
|
-> the only way out of the chunk system overhead is to make the scheduling more parallel - it requires scheduling lock and ticket lock
|
|
|
|
Delayed and hopefully will not forget:
|
|
- api for really a lot of shit
|
|
- needs: true async events (i.e fire then complete later)
|
|
- needs: region determination, craft scheduler per region, craft scheduler
|
|
per entity
|
|
- needs: world creation/unload (good god)
|
|
- needs: more???
|
|
- Projectile#getOwner ...
|
|
|
|
Ideas:
|
|
|
|
Issues:
|
|
|
|
To check:
|