mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/LCE-Revelations.git
synced 2026-05-22 20:06:47 +00:00
perf: process 16 chunks/player/tick on dedicated server, revert async save
Chunk loading now batches up to 16 nearest-first requests per player per tick on dedicated server (client stays at 1), improving tick recovery time after player join. Reverts the async save system -- the background thread snapshot/compress path added complexity without measurable benefit. Autosave on Windows64 server now uses the standard synchronous flush like client, in preparation for a proper async implementation from upstream.
This commit is contained in:
@@ -977,11 +977,8 @@ void ServerLevel::save(bool force, ProgressListener *progressListener, bool bAut
|
||||
|
||||
if (progressListener != nullptr) progressListener->progressStage(IDS_PROGRESS_SAVING_CHUNKS);
|
||||
|
||||
#if defined(_XBOX_ONE) || defined(__ORBIS__) || (defined(_WINDOWS64) && defined(MINECRAFT_SERVER_BUILD))
|
||||
// Autosave is a minimal save. Chunks are saved continuously by the
|
||||
// per-tick trickle save process (ServerChunkCache::tick), so we only
|
||||
// need to flush entity data here. The full chunkSource->save() would
|
||||
// redundantly re-save all dirty chunks and block the main thread.
|
||||
#if defined(_XBOX_ONE) || defined(__ORBIS__)
|
||||
// Our autosave is a minimal save. All the chunks are saves by the constant save process
|
||||
if(bAutosave)
|
||||
{
|
||||
chunkSource->saveAllEntities();
|
||||
|
||||
Reference in New Issue
Block a user