diff --git a/client/src/core/Renderer.ts b/client/src/core/Renderer.ts index bc742730..57b0d0c7 100644 --- a/client/src/core/Renderer.ts +++ b/client/src/core/Renderer.ts @@ -145,7 +145,7 @@ export default class Renderer { this._ambientLight = { color: new Color(), intensity: 1 }; // Anti-aliasing is handled in post-processing - this._renderer = new WebGLRenderer({ antialias: false }); + this._renderer = new WebGLRenderer({ antialias: false, powerPreference: 'high-performance' }); this._sceneUiRenderer = new CSS2DRenderer({ element: document.getElementById('scene-ui-container')! }); this._scene = new Scene(); this._viewModelScene = new Scene(); diff --git a/client/src/settings/SettingsManager.ts b/client/src/settings/SettingsManager.ts index 7aa794e7..1976c3bc 100644 --- a/client/src/settings/SettingsManager.ts +++ b/client/src/settings/SettingsManager.ts @@ -178,13 +178,13 @@ const LOW_FPS_THRESHOLD_RATIO = 0.50; // If the FPS stays above or below the threshold for the specified duration, we attempt to adjust // quality. Since increasing quality might degrade performance and force us to revert it // later, we apply upgrades more cautiously than downgrades. -const QUALITY_UP_TIME_THRESHOLD = 5; +const QUALITY_UP_TIME_THRESHOLD = 3; const QUALITY_DOWN_TIME_THRESHOLD = 3; // Client and game initialization involve many heavy processes, often causing FPS to drop. // Using FPS values during this time may lead to unnecessarily lowering quality. To avoid this, // quality changes are disabled for a set time after receiving the World Packet. -const QUALITY_ADJUSTMENT_WARMUP_TIME = 10; +const QUALITY_ADJUSTMENT_WARMUP_TIME = 5; // Good FPS may trigger a quality increase, which could then lower FPS and cause a downgrade, // potentially leading to repeated up/down quality switches. This can cause visible flickering