Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ensure the majority of users get good performance #18892

Closed
peppy opened this issue Jun 27, 2022 · 5 comments
Closed

Ensure the majority of users get good performance #18892

peppy opened this issue Jun 27, 2022 · 5 comments
Assignees
Labels
epic A feature of core importance (and also requiring considerable effort and thought). type:performance

Comments

@peppy
Copy link
Sponsor Member

peppy commented Jun 27, 2022

Performance is already in a pretty good place for modern hardware.

That said, there's a lot of edge cases when OpenGL doesn't (and can't) perform well. In stable, we had compatibility mode to cover this. In lazer, we will also have something similar, but it will be a first-class implementation of DirectX (and maybe vulkan / metal by extension). In other words, the game would prefer DX over OpenGL on platforms where that makes sense, ie. windows.

We should also do a general performance pass on other non-GPU aspects, although I've already been doing that over time and we aren't in such a bad place.

@peppy peppy added type:performance epic A feature of core importance (and also requiring considerable effort and thought). labels Jun 27, 2022
@peppy peppy added this to the User acceptance milestone Jun 27, 2022
@smoogipoo
Copy link
Contributor

Related: ppy/osu-framework#4909

@CoolGuy12490

This comment was marked as off-topic.

@VocalFan
Copy link

I'd like to add my two cents. I'd recommend Vulkan as it's a lot more cross-compatible (DirectX is windows focused), and often has a bit better performance than DirectX. As can be shown below with Rainbox Six Siege's performance difference.
image

Along with this, as mentioned earlier, DirectX is a strong Windows focus, while Vulkan supports a multitude of devices. Windows, Mac (With a MoltenVK layer), Linux, Android, and iPhone. I believe it'd be easier to just code Vulkan and MoltenVK, instead of maintaining DirectX with two conversion layers. (DX to VK, VK to MoltenVK, or DX to Metal)

@ppy ppy locked as off-topic and limited conversation to collaborators Nov 14, 2022
@smoogipoo
Copy link
Contributor

Thanks, but we don’t need more opinions in this. We have a path forward that will satisfy the requirements for all platforms.

@peppy
Copy link
Sponsor Member Author

peppy commented Aug 20, 2023

I'm going to close this as I think we're basically "there".

Of note, there are still remaining optimisations we have in the pipeline (ppy/osu-framework#5952, ppy/osu-framework#5757, ppy/osu-framework#5757 + atlas size bump) which will improve things further.

@peppy peppy closed this as completed Aug 20, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
epic A feature of core importance (and also requiring considerable effort and thought). type:performance
Projects
None yet
Development

No branches or pull requests

5 participants