Sodium

Sodium

44M Downloads

Chunk building should attempt to maintain a certain frame time target

jellysquid3 opened this issue ยท 2 comments

commented

Vanilla currently tries to maintain a target frame rate of 30 FPS by postponing rebuild tasks for tnon-important chunks, where as Sodium tries to constantly maintain at least numCpus * 2 tasks in the queue at all time. This results in frame time instability, and can sometimes result in tasks expiring if the CPU is too slow due to new incoming chunk updates.

Ideally we'd want to change this behavior so that Sodium only submit new tasks/upload results when the time budget allows, but we also do not want a situation where no new chunks are being updated because the game is running too slowly.

commented

Yeah, in very busy areas in terms of chunk data (like shopping districts on survival servers), I see a lot of frame drops unless I set the chunk loading threads to some low value, which then slows down chunk loading in all other scenarios

commented

I should note that the scheduling behavior changed somewhat in the time since this issue was created and with the addition of sort tasks. See ChunkBuilder and RenderSectionManager.