osu! does its best to run with sane default settings and proactively alert you if you're doing/running something which would cause your game performance to drop.
Unfortunately, due to the scope of hardware which osu! runs on, it's very hard to ensure optimal performance for every single user. This page aims to help you self-diagnose performance issues you have, but also provides specific terms you can learn (and checks you can perform) to help us help you when you reach out for support.
It is quite difficult to provide support when every kind of issue is grouped under the single word “lag”, so let’s start by defining some terms for specific scenarios.
The actual audio track of the beatmap rewinds in time, or glitches out. Basically, when the game lags, you can hear it in the audio. When diagnosing or reporting, it may help to:
During gameplay, everything on the screen stops for long enough to be detrimental to the gameplay experience. This may happen more than once, at random or at consistent intervals. When diagnosing or reporting, it may help to:
There is a noticeable delay between tapping on the keyboard or moving your mouse or tablet pen, and seeing a resulting action on the screen. When diagnosing or reporting, it may help to:
During gameplay, one or more input devices stop responding. Everything on screen moves correctly but it’s not possible to play properly until control returns. When diagnosing or reporting, it may help to:
During gameplay, the frame rate is unable to keep up, resulting in jittery and awkward movement of objects on the screen. This can also result in higher perceived input latency. When diagnosing or reporting, it may help to:
osu! offers multiple choices of frame limiters. Each of these have pros and cons. Note that regardless of setting, osu! will limit frame rate at menus to conserve CPU usage.
This frame limiter relies on a driver provided vertical synchronising mechanism. It guarantees no screen tearing, but adds 1-2 frames worth of latency due to the requirement of buffering frames before display.
Generally not recommended for 60Hz displays. It can become more useful at refresh rates above 120Hz, but with GSync and FreeSync monitors, the requirement to use VSync to avoid tearing is lifted.
This frame limiter aims to save on power usage while providing a consistent game experience. It will run at 2x monitor refresh rate and attempt to keep a consistent frame pacing.
Recommended for older PCs or for conserving battery on a laptop.
This frame limiter attempts to keep a frame rate 8x your refresh rate, with a maximum of 960 FPS. This is our recommended frame limiter for users who don’t want to run their CPU/GPU to extremities, while maintaining high levels of performance resulting in low input latency.
Can be preferred to unlimited in order to reduce the number of frames rendered, in turn leading to less potential for garbage collection overhead (which can result in spike frames).
This is a frame limiter which does nothing to limit the frame rate. osu! will render as fast as your CPU/GPU can.
While this may seem like the best option (and indeed can be, if your hardware can support it), there are a few things you should consider:
Even so, if heat generation and potentially overworking your hardware is not considered an issue, unlimited may be the option that provides you the most stable frame times.
Notice to Cutting Edge users: changing the value of
CustomFrameLimit to any number above 999, will be reverted to 999; on Stable, you can set the value above 1000 with no issues.
Caution: you cannot switch into this setting with the
F7 shortcut in-game, even if you do the steps below: you'll need to switch to
Custom in the Settings before quitting the game so it'll be available the next time osu! runs. Otherwise, you'll have to change the
FrameSync manually again.
This frame limiter attempts to keep a frame rate equal to your custom preference; however, this is a setting that cannot be changed to within the in-game menu by default.
To change osu!'s custom maximum framerate, you'll need to tweak some values in the config file:
Open osu! folderbutton in the Options menu, or by navigating to the folder manually. (The default path is
osu!.<yourPCusername>.cfgfile with Notepad or a text editor of your choice.
FrameSync = <value>and change the value to
CustomFrameLimit = <value>and change the value to your preference.