Direct answer
An independent region owns loaded chunks and ticks on the shared worker pool with its own deadlines. Nearby areas may merge; separated areas may split. Thus regions are not permanent one-chunk units, and neither player count nor CPU thread count tells you exactly how many independent regions are active.
How to check it
- Reproduce the complaint with players clustered together, then separately in distant areas. Keep view distance, plugins and activities comparable.
- Look for hot areas with intensive entities, chunk creation, redstone or plugin work; examine region-specific metrics if your build provides them.
- Check total CPU saturation as well: independent regions still compete for the same limited worker threads.
What to change
If one area is hot, simplify its entities, machines and plugin callbacks before changing worker counts.
If most regions slow down together, investigate CPU capacity, garbage collection, storage contention and too many active regions.
Do not assume that spreading players always improves performance: it also increases loaded areas and memory usage.
The Folia architecture documents merging, splitting and a separate global region. A Paper-only “main-thread lag” explanation does not capture this model.
Software and version notes
These are Folia architectural and API concepts; test against the exact Folia and Paper API build you deploy. Do not apply generic Paper single-thread assumptions.
Verify the result
Compare the slow area and an unrelated distant area during the same load; check whether improvements are local or system-wide.