From 787942aef2a032140d9f09238ce11570ab713ba1 Mon Sep 17 00:00:00 2001 From: johni0702 Date: Thu, 16 Jul 2015 16:18:26 +0200 Subject: [PATCH] Add high performance rendering mode which does not render the GUI every frame --- .../java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java | 4 ++++ .../eu/crushedpixel/replaymod/settings/RenderOptions.java | 2 ++ .../java/eu/crushedpixel/replaymod/video/VideoRenderer.java | 4 +++- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java b/src/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java index 143ffba5..04269c5d 100644 --- a/src/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java +++ b/src/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java @@ -516,6 +516,10 @@ public class GuiRenderSettings extends GuiScreen { options.setIgnoreCameraRotation(ignoreCamDir.isChecked()); + if (isCtrlKeyDown()) { + options.setHighPerformance(true); + } + if(commandInput.getText().trim().length() > 0) { options.setExportCommand(commandInput.getText().trim()); } diff --git a/src/main/java/eu/crushedpixel/replaymod/settings/RenderOptions.java b/src/main/java/eu/crushedpixel/replaymod/settings/RenderOptions.java index 7f3b7a6e..b8aeac16 100644 --- a/src/main/java/eu/crushedpixel/replaymod/settings/RenderOptions.java +++ b/src/main/java/eu/crushedpixel/replaymod/settings/RenderOptions.java @@ -27,6 +27,7 @@ public final class RenderOptions { private int height = Minecraft.getMinecraft().displayHeight; // Highly advanced + private boolean highPerformance; private String exportCommand = "ffmpeg"; private String exportCommandArgs = ""; @@ -55,6 +56,7 @@ public final class RenderOptions { copy.skyColor = this.skyColor; copy.width = this.width; copy.height = this.height; + copy.highPerformance = this.highPerformance; copy.exportCommand = this.exportCommand; copy.exportCommandArgs = this.exportCommandArgs; return copy; diff --git a/src/main/java/eu/crushedpixel/replaymod/video/VideoRenderer.java b/src/main/java/eu/crushedpixel/replaymod/video/VideoRenderer.java index 7ddba530..58882f99 100644 --- a/src/main/java/eu/crushedpixel/replaymod/video/VideoRenderer.java +++ b/src/main/java/eu/crushedpixel/replaymod/video/VideoRenderer.java @@ -115,7 +115,9 @@ public class VideoRenderer implements RenderInfo { @Override public float updateForNextFrame() { - drawGui(); + if (!options.isHighPerformance() || framesDone % fps == 0) { + drawGui(); + } updateTime(mc.timer, framesDone);