diff --git a/src/main/java/mod/chiselsandbits/config/ModConfig.java b/src/main/java/mod/chiselsandbits/config/ModConfig.java index 9fdbfde1..2ac1003d 100644 --- a/src/main/java/mod/chiselsandbits/config/ModConfig.java +++ b/src/main/java/mod/chiselsandbits/config/ModConfig.java @@ -171,6 +171,9 @@ public class ModConfig extends Configuration @Configured( category = "Client Performance Settings" ) public boolean defaultToDynamicRenderer; + @Configured( category = "Client Performance Settings" ) + public boolean dynamicRenderFullChunksOnly; + @Configured( category = "Balance Settings" ) public boolean damageTools; @@ -343,6 +346,7 @@ private void setDefaults() dynamicMaxConcurrentTessalators = 32; // in low memory this acts as 2. forceDynamicRenderer = false; defaultToDynamicRenderer = false; + dynamicRenderFullChunksOnly = true; useVBO = UseVBO.AUTOMATIC; showUsage = true; diff --git a/src/main/java/mod/chiselsandbits/render/chiseledblock/tesr/ChisledBlockRenderChunkTESR.java b/src/main/java/mod/chiselsandbits/render/chiseledblock/tesr/ChisledBlockRenderChunkTESR.java index 368d7c03..798090ce 100644 --- a/src/main/java/mod/chiselsandbits/render/chiseledblock/tesr/ChisledBlockRenderChunkTESR.java +++ b/src/main/java/mod/chiselsandbits/render/chiseledblock/tesr/ChisledBlockRenderChunkTESR.java @@ -243,6 +243,7 @@ private void uploadDisplaylists() } final Stopwatch w = Stopwatch.createStarted(); + final boolean dynamicRenderFullChunksOnly = ChiselsAndBits.getConfig().dynamicRenderFullChunksOnly; final int maxMillisecondsPerBlock = ChiselsAndBits.getConfig().maxMillisecondsPerBlock; final int maxMillisecondsUploadingPerFrame = ChiselsAndBits.getConfig().maxMillisecondsUploadingPerFrame; @@ -260,7 +261,7 @@ private void uploadDisplaylists() final Stopwatch sw = Stopwatch.createStarted(); uploadDisplayList( t ); - if ( sw.elapsed( TimeUnit.MILLISECONDS ) > maxMillisecondsPerBlock ) + if ( !dynamicRenderFullChunksOnly && sw.elapsed( TimeUnit.MILLISECONDS ) > maxMillisecondsPerBlock ) { ( (TileRenderChunk) t.trc ).singleInstanceMode = true; } diff --git a/src/main/resources/assets/chiselsandbits/lang/en_us.lang b/src/main/resources/assets/chiselsandbits/lang/en_us.lang index 62209a2a..eac5ff26 100644 --- a/src/main/resources/assets/chiselsandbits/lang/en_us.lang +++ b/src/main/resources/assets/chiselsandbits/lang/en_us.lang @@ -244,3 +244,5 @@ mod.chiselsandbits.config.useVBO.tooltip=By Default uses the same setting as MC, mod.chiselsandbits.config.radialMenuVolume='Click' volume for radial menu. mod.chiselsandbits.config.radialMenuVolume.tooltip=Setting to Zero will disable it. mod.chiselsandbits.config.enableChiselCrafting=Enable Chiseling Blocks in Crafting Table +mod.chiselsandbits.config.dynamicRenderFullChunksOnly=Dynamic Renderer Full Chunks Only +mod.chiselsandbits.config.dynamicRenderFullChunksOnly.tooltip=Prevents Subdividing of dynamically rendered chunks into single blocks. This increases performance for most common cases ( chunks with a handful of complicated blocks ), but decreases performance for the worst cases ( chunks full of super complicated designs ).