Fix dead lock when rendering without immediate jump in time
setupTerrain will loop until (among other conditions) the chunksToUpdate set is empty. However its size is never decreased during setupTerrain. Having a (backwards) jump in time right before rendering the first frame would reset the RenderGlobal due to the world change, leaving the chunksToUpdate set empty to begin with and due to other changes, chunks are never inserted into it during rendering (because they're always updated immediately). The new screenshot feature and rendering a path that's in the future will not trigger any world change, leaving the render process stuck in a life lock.
This commit is contained in:
@@ -37,6 +37,7 @@ public abstract class MixinRenderGlobal {
|
|||||||
|
|
||||||
do {
|
do {
|
||||||
setupTerrain(viewEntity, partialTicks, camera, replayModRender_hook.nextFrameId(), playerSpectator);
|
setupTerrain(viewEntity, partialTicks, camera, replayModRender_hook.nextFrameId(), playerSpectator);
|
||||||
|
replayModRender_hook.updateChunks();
|
||||||
} while (displayListEntitiesDirty);
|
} while (displayListEntitiesDirty);
|
||||||
|
|
||||||
displayListEntitiesDirty = true;
|
displayListEntitiesDirty = true;
|
||||||
|
|||||||
Reference in New Issue
Block a user