The primary goal for Celeste optimization is Buffer-Frame Integrity. The game uses a 5-frame buffer to execute commands ($Score = 1 / (0.85/S_{graphics} + 0.15/S_{cpu})$ is not applicable here, but the principle of frame timing is). If your refresh rate and V-Sync are misaligned, that 5-frame window can effectively shrink to 2 or 3. This configuration focuses on disabling the internal Unity/XNA sync and optimizing the settings.celeste for raw input throughput.
File Path
The settings.celeste file (sometimes found as settings.xml in older versions or within the Save data) is located in the root of your “Saves” folder.
C:\Program Files (x86)\Steam\steamapps\common\Celeste\Saves\settings.celeste
(Note: If you are using Everest for mods, these settings may be managed via the Everest.yaml or in-game mod menus.)
Technical Configuration (The 2026 “Speedrunner” Template)
Open the file in a text editor. Look for the following parameters and adjust them to match these high-performance values:
<Settings>
<Fullscreen>true</Fullscreen>
<WindowMode>Fullscreen</WindowMode>
<VSync>false</VSync>
<DisableInputBuffering>false</DisableInputBuffering> <ScreenShake>0</ScreenShake>
<Photosensitive>true</Photosensitive>
<SpeedrunClock>2</SpeedrunClock>
</Settings>
Parameter Breakdown:
- VSync=false: In-game V-Sync is the enemy of frame-perfect jumps. It adds roughly 1–2 frames of lag. Disabling it here ensures the game loop runs as fast as possible.
- Fullscreen=true: Always use true Fullscreen rather than Windowed. This bypasses the Windows Desktop Window Manager (DWM) sync, which is a hidden source of input delay in 2026.
- ScreenShake=0: While purely visual, screen shake can obscure the “sub-pixel” position of Madeline, making it harder to time pixel-perfect corner jumps.
- DisableInputBuffering=false: NEVER set this to true unless you are doing a “TAS” (Tool-Assisted) run. Celeste’s 5-frame buffer is what makes the game playable. Turning it off requires a literal 1-frame precision for every action.
Strategy for 2026 Frame Precision
- The “OpenGL” vs. “XNA” Choice: In 2026, the OpenGL build of Celeste (accessible via Steam Beta branches) is often more stable for modern GPUs and offers lower frame-time variance than the legacy XNA/DirectX build.
- Controller Polling: If you are using a controller, ensure your polling rate is set to 1000Hz. Celeste reads inputs on every frame; if your controller is only polling at 125Hz, you may miss the start of a frame-perfect window.
- Input Stacking: You can bind multiple keys to the same action in
settings.celeste. Speedrunners often bind Jump to two different keys (e.g., Space and Shift) to make “Cornerboosting” easier by mashing both. - Sub-pixel Normalization: Dashing into a wall or ceiling “normalizes” your sub-pixel position to the center of the pixel. Use this before attempting a frame-perfect jump to ensure your starting position is mathematically identical every time.
Key Performance Parameters
| Parameter | Recommended Value | Why? |
| V-Sync | Off | Reduces input lag by ~16-30ms. |
| Refresh Rate | 144Hz+ | Makes the 5-frame buffer window visually clearer. |
| Input Buffer | Enabled (Default) | Essential for “Coyote Time” and buffered jumps. |
| Screen Shake | 0% | Increases visual clarity during high-speed dashes. |
Frequently Asked Questions (FAQ)
Does high FPS make the game harder?
No, but Celeste is locked to a 60Hz logic rate internally. Even if your screen shows 240 FPS, the physics are calculating at 60. However, higher FPS reduces the “input-to-screen” delay, making your reactions feel faster.
What is “Coyote Time”?
It is a small grace period (about 5 frames) where you can still jump even after walking off a ledge. It’s part of why Celeste feels “fair” even when it’s difficult.
Why do my “Wavedashes” keep failing?
Wavedashing requires a specific height. If you have Screen Shake on, the camera wobble might be causing you to misjudge the peak of your jump. Disabling it in the config is the first step to consistent Wavedashing.
Can I change the game speed in the config?
Yes, under Variant Mode, but this is considered “Assist Mode” and will be flagged on your save file. For practice, use 80% or 90% speed until the muscle memory is set.
Conclusion and Expected Results
By manually disabling VSync and forcing Fullscreen in your settings.celeste, you are ensuring that your physical button presses translate to on-screen actions with the lowest possible latency. You can expect more consistent Wavedashes, easier Wall-bounces, and a significantly “sharper” feel to Madeline’s movement during 2026 speedrun attempts.