Skip to content

feat: Offer settings for up to 256 times the original resolution ("16x")#1906

Open
72374 wants to merge 1 commit intoazahar-emu:masterfrom
72374:up-to-256-times-the-resolution
Open

feat: Offer settings for up to 256 times the original resolution ("16x")#1906
72374 wants to merge 1 commit intoazahar-emu:masterfrom
72374:up-to-256-times-the-resolution

Conversation

@72374
Copy link
Copy Markdown

@72374 72374 commented Mar 18, 2026

I have a screen with a resolution of 3840x2160, and when i play a game while the resolution is set to 10x (4000x2400), there can still be enough aliasing and pixel-flickering to be distracting; with it set to 16x (6400x3840), it is much nicer, and the performance is still good enough for me; depending on what i play.
It would be convenient if that was possible with the official versions of Azahar too, so here is a PR for that. :)

When trying "17x" or more, it did result in significant graphical issues, so 16x seems to be the limit (at least without further changes).

Also, a suggestion for the naming of these settings:
"10x" is actually 100 times the original resolution, and "16x" is 256 times that, as the multiplier is for each dimension.
If the multiplier for the number of pixels would be written there, it would be easier to understand the performance-cost of these settings. With the current naming, a change from "9x" to "10x" has a larger performance-cost than a change from "1x" to "4x", for example.
I can add a commit (or open another PR) for that change, if that is wanted.

@github-actions github-actions Bot added the needs verification Needs to complete an anti-AI challenge. label Mar 18, 2026
@github-actions github-actions Bot closed this Mar 18, 2026
@github-actions
Copy link
Copy Markdown

Welcome to the Azahar Emulator repository! Due to the surge of AI bots we have decided to add an extra verification step to new contributors. Please follow the exact instructions in your own written Pull Request description to reopen it.

@72374
Copy link
Copy Markdown
Author

72374 commented Mar 18, 2026

My username is 72374. The logo is from Azahar.

@github-actions github-actions Bot reopened this Mar 18, 2026
@github-actions
Copy link
Copy Markdown

Verification successful! Pull request has been reopened. Please also edit your PR description to remove the block of text between --- to make the description easier to read.

@github-actions github-actions Bot removed the needs verification Needs to complete an anti-AI challenge. label Mar 18, 2026
@RedBlackAka
Copy link
Copy Markdown
Contributor

Would be cool to have internal 8K. But have you tested this in enough titles to verify that there are no issues? Else, will see if I can do some testing myself. Additionally, you should likely also add this to Android for consistency

Regarding the naming, the current one is standard. It's 16x the screen resolution and 256x the pixels

@72374
Copy link
Copy Markdown
Author

72374 commented Mar 19, 2026

I mostly played "Mario Kart 7" at 16x, but also at 12x, when the performance was momentarily low enough to cause some audio-stuttering; though, the intro-scene of "The Legend Of Zelda: Ocarina Of Time 3D", and the first few screens of "Tomodachi Life Welcome Version" appear normal too (compared to 10x).
I did not notice graphical issues, though if there are any, those would likely be there with 10x too.

Screen-resolution is the same as pixel-count. The image at "2x" (with the current naming) would fill 4 of the original displays (in 2D-mode).

@72374 72374 force-pushed the up-to-256-times-the-resolution branch from 99d99b9 to ca0e1e2 Compare March 19, 2026 15:55
@ptyfyre
Copy link
Copy Markdown
Contributor

ptyfyre commented Mar 29, 2026

Seems useless, especially for Android which 99% of users who play on it are playing on small screens and on battery

Maybe should be kept for PC only

Copy link
Copy Markdown
Collaborator

@DavidRGriswold DavidRGriswold left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This code looks fine, it's a straightforward code change. I see no real reason not to include this, if it causes issues for users they can just wind it back. I don't have anything that can handle 10x and I simply don't use it.

@DavidRGriswold
Copy link
Copy Markdown
Collaborator

(that said, on a 4k screen you should really be using 9x to get 3600x2160 and not 10x. Integer scaling of exactly 9x would fill your screen height perfectly with the normal black bars on left and right because of the aspect ratio difference)

@RedBlackAka
Copy link
Copy Markdown
Contributor

Yup looks good, did testing in multiple games and can confirm there are no visual glitches with any of these settings. 16x however absolutely destroys performance and causes stutters, even on an RTX 4080S. So that's that

@72374 72374 force-pushed the up-to-256-times-the-resolution branch 2 times, most recently from 7a45533 to e58da28 Compare April 8, 2026 21:10
@72374 72374 changed the title feat: Offer settings for up to 256 times the original resolution ("16x") feat: Offer settings for up to 324 times the original resolution ("18x") Apr 8, 2026
@72374 72374 changed the title feat: Offer settings for up to 324 times the original resolution ("18x") feat: Offer settings for up to 256 times the original resolution ("16x") Apr 8, 2026
@72374 72374 force-pushed the up-to-256-times-the-resolution branch from e58da28 to db510c4 Compare April 8, 2026 21:55
@72374
Copy link
Copy Markdown
Author

72374 commented Apr 8, 2026

I thought for a moment that setting internal resolution to 17x or higher does actually work properly; but then i found, that the graphical issues, that i saw, only happen while texture-filtering is used. With 16x it still works well.

If someone can solve the issue with the texture-filtering, perhaps 18x could be added as well; which seems like a reasonable upper limit, as it matches the vertical resolution of 8K-UltraHD-screens (4320), and thus also enables 4x supersampling for 4K-UltraHD-screens.

[…] on a 4k screen you should really be using 9x to get 3600x2160 and not 10x. Integer scaling of exactly 9x would fill your screen height perfectly […]

For seeing the image exactly how it was rendered, that would be good, yep. Though that would also mean more flickering, because the image would not be blurred by the resampling/downscaling then.
As i want the game-view anti-aliased, which is currently working best when the internal resolution is exactly four times the displayed resolution, while "Linear Filtering" is on, "18x" (7200x4320) would be the best choice for the internal resolution for a screen with a resolution of 3840x2160 (as long as the game-view is filling the entire height).

Regarding performance:
I played a few courses in Mario Kart 7 at 24x (9600x5760) with Vulkan, and it was better playable than at 16x (6400x3840) with OpenGL. Both were playable, with 60 fps on average, with some frame-pacing issues that were acceptable while Variable Refresh-Rate (VRR) was active. Average GPU-load (according to MangoHud) was around 70%.

GPU: Radeon RX 6750 XT
CPU: i7-12700K

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants