diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/gpu/GpuPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/gpu/GpuPlugin.java index d64e1b103f..2beac24839 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/gpu/GpuPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/gpu/GpuPlugin.java @@ -1437,12 +1437,18 @@ public class GpuPlugin extends Plugin implements DrawCallbacks @Subscribe public void onGameStateChanged(GameStateChanged gameStateChanged) { - if (computeMode == ComputeMode.NONE || gameStateChanged.getGameState() != GameState.LOGGED_IN) + switch (gameStateChanged.getGameState()) { - return; + case LOGGED_IN: + if (computeMode != ComputeMode.NONE) + { + invokeOnMainThread(this::uploadScene); + } + break; + case LOGIN_SCREEN: + // Avoid drawing the last frame's buffer during LOADING after LOGIN_SCREEN + targetBufferOffset = 0; } - - invokeOnMainThread(this::uploadScene); } private void uploadScene()