gtk2: backport GPU scaling feature #854
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
feature was originally added via PR #764 to the gtk3 frontend.
this makes it possible to run the scaling on the GPU, avoiding the incredibly slow software scaling that's otherwise done via cairo when view->window size is set to anything > 1.0.
note that the window size "scale" needs to be identical to the chosen GPU scale factor, otherwise software scaling kicks in again.
unlike the scale setting in the CLI port, which simply upscales the native NDS framebuffer in hardware, this setting scales up even the actual 3D textures, resulting in a sharper image, at the cost of higher CPU/GPU usage. a game using demanding 3D scenes, like zelda phantom hourglass' intro scene, may be able to still trash the FPS.
the original PR also reported issues when setting the GPU scale to a fraction, therefore the increments are currently locked to 1.0.