From e13c573ecc6a9fa3fd9ea30d5b8eb80d48193b9b Mon Sep 17 00:00:00 2001 From: Emily <106335580+Vozath@users.noreply.github.com> Date: Mon, 9 Mar 2026 13:03:23 -0400 Subject: [PATCH 1/2] disable vsync and force maxFps to zero --- 4J.Render/4J_Render.cpp | 2 +- Minecraft.Client/Rendering/GameRenderer.cpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/4J.Render/4J_Render.cpp b/4J.Render/4J_Render.cpp index 54aeb9d6f..571a3d171 100644 --- a/4J.Render/4J_Render.cpp +++ b/4J.Render/4J_Render.cpp @@ -94,7 +94,7 @@ void C4JRender::Initialise() } glfwMakeContextCurrent(s_window); - glfwSwapInterval(1); // vsync + glfwSwapInterval(0); // vsync // Keep viewport in sync with OS-driven window resizes. glfwSetFramebufferSizeCallback(s_window, onFramebufferResize); diff --git a/Minecraft.Client/Rendering/GameRenderer.cpp b/Minecraft.Client/Rendering/GameRenderer.cpp index 1d2eeb30f..93490f169 100644 --- a/Minecraft.Client/Rendering/GameRenderer.cpp +++ b/Minecraft.Client/Rendering/GameRenderer.cpp @@ -1068,11 +1068,11 @@ void GameRenderer::render(float a, bool bFirst) int xMouse = Mouse::getX() * screenWidth / fbw; int yMouse = screenHeight - Mouse::getY() * screenHeight / fbh - 1; - int maxFps = getFpsCap(mc->options->framerateLimit); + int maxFps = 0;//getFpsCap(mc->options->framerateLimit); if (mc->level != NULL) { - if (mc->options->framerateLimit == 0) + if (maxFps == 0) { renderLevel(a, 0); } From 3f1c95418fa165a8f8d8ba42e039a6503c18ef61 Mon Sep 17 00:00:00 2001 From: MathiewMay Date: Mon, 9 Mar 2026 13:25:56 -0400 Subject: [PATCH 2/2] removed the turnOnLightLayer on handRenderer so that it renders correctly (similar to how chunk renderer had to be disbaled for proper rednering) Add nullptr check before calling redner on itemInHandRenderre to prevent a occasional seg fault. --- Minecraft.Client/Rendering/GameRenderer.cpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/Minecraft.Client/Rendering/GameRenderer.cpp b/Minecraft.Client/Rendering/GameRenderer.cpp index 93490f169..3a135655b 100644 --- a/Minecraft.Client/Rendering/GameRenderer.cpp +++ b/Minecraft.Client/Rendering/GameRenderer.cpp @@ -777,11 +777,14 @@ void GameRenderer::renderItemInHand(float a, int eye) { if (!mc->options->hideGui && !mc->gameMode->isCutScene()) { - turnOnLightLayer(a); + //turnOnLightLayer(a); // disable light layer on handrenderer similarly to how it was done on the chunk render (this makes the hand look proper) PIXBeginNamedEvent(0,"Item in hand render"); - itemInHandRenderer->render(a); + // add null pointer check to itemInHandRenderer to prevent a occasional seg fault + if (itemInHandRenderer != nullptr) { + itemInHandRenderer->render(a); + } PIXEndNamedEvent(); - turnOffLightLayer(a); + //turnOffLightLayer(a); // disable light layer on handrenderer similarly to how it was done on the chunk render (this makes the hand look proper) } } glPopMatrix(); @@ -789,7 +792,10 @@ void GameRenderer::renderItemInHand(float a, int eye) //if (!mc->options->thirdPersonView && !mc->cameraTargetPlayer->isSleeping()) if (!localplayer->ThirdPersonView() && !mc->cameraTargetPlayer->isSleeping()) { - itemInHandRenderer->renderScreenEffect(a); + // add null pointer check to itemInHandRenderer to prevent a occasional seg fault + if (itemInHandRenderer != nullptr) { + itemInHandRenderer->renderScreenEffect(a); + } bobHurt(a); } // 4J-PB - changing this to be per player