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

Add a warning when running in windows compatibility mode #22092

Open
peppy opened this issue Jan 9, 2023 Discussed in #21803 · 6 comments · May be fixed by #27654
Open

Add a warning when running in windows compatibility mode #22092

peppy opened this issue Jan 9, 2023 Discussed in #21803 · 6 comments · May be fixed by #27654
Labels
platform/windows priority:1 Very important. Feels bad without fix. Affects the majority of users. type:performance

Comments

@peppy
Copy link
Sponsor Member

peppy commented Jan 9, 2023

Or even just refuse to run. We shouldn't allow this as it just adds one more variable which could break things.

Discussed in #21803

Originally posted by Natelytle December 27, 2022
I was troubleshooting someone's lazer performance in a discord server I am in (>50fps, lots of frame spikes) and it had turned out they were running the game in Windows 98/ME compatibility mode and had no idea. I think adding a warning for this similar to running with audio disabled or the low battery warning could be good for UX when people's games are running badly because of it.

Before:
image
image

After:
image

@peppy peppy added type:performance platform/windows priority:1 Very important. Feels bad without fix. Affects the majority of users. labels Jan 9, 2023
@cdwcgt
Copy link
Contributor

cdwcgt commented Jan 9, 2023

image
This is very strange, don't they pop up this error?

@peppy
Copy link
Sponsor Member Author

peppy commented Jan 9, 2023

Are you testing there using compatibility mode? Maybe the issue is that in the discussion thread they were using windows 98 compatibility, which is so archaic it doesn't hit the above conditional?

@cdwcgt
Copy link
Contributor

cdwcgt commented Jan 9, 2023

Yes, I was thinking of writing a solution for it, and I found it while testing.
And my windows version (Looks like microsoft doesn't allow .net core programs to use lower compatibility configurations than vista) does not allow to choose windows 98/ME compatibility mode, the minimum is windows vista

So there is a big question, how did that person use the windows 98/ME compatibility setting, maybe it didn't work at all
image

but a little strange, according to Microsoft docs, Environment.OSVersion should return a real OSversion but not the OS select in compatibility settings

@refparo
Copy link

refparo commented Jan 10, 2023

@cdwcgt It seems the osu!.exe in %AppData%\Local\osulazer\app-2022.xxxx.0 is a .net core program, but the wrapper in %AppData%\Local\osulazer is not.

@cdwcgt
Copy link
Contributor

cdwcgt commented Jan 10, 2023

This might seem like a hassle (for code test), and it looks like he does inherit the setting
But this will require the program to start as an administrator so he will receive this error
image

from Environment.OSVersion.Version

image

that it, look like everything from before vista will return the real OS

@cdwcgt
Copy link
Contributor

cdwcgt commented Jan 10, 2023

Considering that starting as an administrator is also in the compatibility settings, maybe it is a good choice to prompt the user to check the compatibility test in ElevatedPrivilegesChecker?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
platform/windows priority:1 Very important. Feels bad without fix. Affects the majority of users. type:performance
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants