31 Jul 2015
Got the new public release out the door, and already have some metrics to work with. So let’s take a look at the picture as it is now. It’s not as optimistic as it could be, but my expectations weren’t high.
Total sample size: 27,360 (this will increase over time)
Hardware OpenGL context availability
Two of every hundred users will be unable to run the next public release, due to having incorrect drivers installed. They may have been able to scrape by until now using the generic “Microsoft Basic Display Adapter” - which provides very limited hardware support for DirectX - but this just doesn’t cut it as far as OpenGL is considered.
For the most part, the answer here is user awareness. Users need to install graphics card drivers where they are not yet present on their system. There is already a pop-up in osu! (as of today) which informs users of this problem and directs them to a wiki page with useful details on fixing it.
.NET 4.0 availability
Even more alarming, almost four in every hundred users don’t have .NET 4.0 (or higher) available on their system. This is also a cause of nor being able to run future osu! builds. osu! has had a pop-up for some time now which allows the user to click to install a newer .NET framework, but it looks like we still have some way to go here.
It’s also important to keep in mind that some of these users are wine users, which are unable to present .NET 4 to osu! until we release a new osu! bundle for OS X.
GL FBO availability
Frame Buffer Objects are useful for drawing to textures at very high performance. We use them for slider and game-wide filter optimisations and plan to use them more going forward. They are pretty well supported, but the game will still need to work without them for the foreseeable future.
GL VBO availability
Vertex Buffer Objects are useful to reduce draw calls and CPU-GPU memory bandwidth usage by sending large buffers containing everything you want to draw, while also only updating what you change. It gives the GPU more independence. While we have a working branch with VBO support, we are still analysing whether this will be of benefit for a game like osu!.
Fall-back support would still be available even if VBOs were used. We already use VBOs for cursor trail rendering where available, as it helps drastically with performance.
We still have some work ahead of us before the next public release is feasible. Not only do the above statistics say this, but there are reports of “stuttering” and general sub-par performance with certain GPUs. We are working with users to solve these. If you can reproduce lower performance on cutting-edge when comparing to the latest stable (direct x OR opengl) then jump on slack and help us help you in #cuttingedge!