mirror of
https://github.com/PaperMC/Folia.git
synced 2024-11-19 11:35:18 +01:00
25e0cbdae4
Change overview: - Rework limiting - Remove mid tick updates - Introduce consistency checks The old limiting logic used an intervalled counter, but did not account for possible slight changes in mid tick invoke rate as it relied heavily on mid-tick logic. Due to the removal of mid tick updates, it is now important that the logic functions correctly no matter what rate it is invoked at. The new logic directly tracks the last update time and allocates an amount based proportional on the rate targetted, which makes the logic call rate independent. The removal of mid tick updates is done to eliminate recursive call risk, and to additionally reduce the lock pressure on the chunk system by grouping chunk loads onto one part of the tick rather than spreading it out. The limiting rework should ensure that this does not negatively affect rates, but it will decrease the perceived smoothness of chunk generation/loading at low rates. Introduce more consistency checks such as correct tick thread and ticking-after-removal checks. Also, perform checks during the player chunk loader tick to avoid updating potentially removed players during the tick. The checks are primarily made to try to hunt down a bug that is causing the player chunk loader to double send a chunk to a player. |
||
---|---|---|
.. | ||
0001-Build-changes.patch | ||
0002-MC-Dev-fixes.patch | ||
0003-New-player-chunk-loader-system.patch | ||
0004-Make-ChunkStatus.EMPTY-not-rely-on-the-main-thread-f.patch | ||
0005-Threaded-Regions.patch | ||
0006-Increase-parallelism-for-neighbour-writing-chunk-sta.patch | ||
0007-Cache-whether-region-files-do-not-exist.patch | ||
0008-Max-pending-logins.patch | ||
0009-Add-chunk-system-throughput-counters-to-tps.patch | ||
0010-Make-CraftEntity-getHandle-and-overrides-perform-thr.patch | ||
0011-Disable-mid-tick-task-execution.patch | ||
0012-Throw-UnsupportedOperationException-for-broken-APIs.patch | ||
0013-Fix-tests-by-removing-them.patch | ||
0014-Work-around-https-github.com-PaperMC-paperweight-iss.patch | ||
0015-Require-plugins-to-be-explicitly-marked-as-Folia-sup.patch | ||
0016-Acquire-scheduling-lock-in-NewChunkHolder-onFullChun.patch | ||
0017-Fix-destroying-beehive-without-any-players-nearby-th.patch | ||
0018-Lag-compensate-block-breaking.patch |