[UPDATE] mGBA adds high-res scaling in its latest development builds

hqrenderer.png

'Tis the season for emulator enhancement projects. First, we've seen bsnes adding a high-definition Mode 7 upscaling feature, then a widescreen Game Boy emulator got released, and now it looks like mGBA will be receiving something fancy too!

One of the planned features for its next release is a high-res OpenGL renderer, which will allow for a variety of graphical improvements. Like the previously mentioned bsnes-hd, you can expect games using a Mode 7-like perspective effect (for example, F-ZERO ones and Mario Kart: Super Circuit) to look less pixelated when scaled. However, this time it doesn't just end there: sprite rotations and transformations have also been enhanced, as well as other display modes and miscellaneous graphical features! This means a good number of games will look noticeably better, as seen in some screenshots posted by mGBA's developer (endrift). A video has also been uploaded, showing the feature in action while playing F-Zero Climax (13x scaling, 3120x2080):



The high-resolution renderer is not yet available in stable mGBA builds, however it can be found in development ones (PC & Switch only, see update below). It's completely optional and will not be enabled by default: you can do so by looking at the "Enhancements" section in the settings (remember to set the renderer to OpenGL!). Keep in mind that by using a development build, you could find unexpected issues and poor performance, so it's still recommended to wait until a new stable version will be released unless you really want to stay on the bleeding edge.

UPDATE (27/5/19): Hi-res scaling has been added to the latest Switch builds. The feature is highly experimental on this platform and it could suffer from both graphical glitches and slowdowns. Code optimization is still being worked on: due to this, the developer kindly asks all users to not file bug reports related to poor performance.


:arrow: Source
 

spectral

Well-Known Member
Member
Joined
Nov 10, 2012
Messages
626
Trophies
1
Age
42
XP
2,484
Country
Haven't looked at what bsnes does at this point so will have to skip that for now. As far as the quoted post is concerned it is not as much tricks if you are thinking speedhacks of yesteryear but a fundamentally different approach, or at least one that builds massively off the simpler and slower approach you can knock out as an experiment.
The simple approach takes the data in the emulated system's memory every frame and does what it does to it (presumably rather than looking at it like a jumble of pixels like every other filter it looks at their positions in "space" and does the maths to scale it and smooth things out). As far as a general flow of operations is concerned that is nothing major. Doing it every frame (60 of them a second remember, though some drop down to 30) is however quite demanding, especially if you also have to do the rest of the stuff that the emulated system does.
Building a model and kicking that to a graphics card, and then sending updates every frame (or every time it is changed, possibly also detecting when the whole "model" is changed), and allowing it to do anti aliasing and all that stuff they are designed for takes far more code and fiddling to accomplish but will yield the same results for far less demand on a CPU.

You're over thinking his point. His point is however it is doing it, it is currently slow on PC's that are much more powerful than a switch. So if the PC doesn't have the power to do it, how does the switch? It's doubtful they will use one method on PC and another on switch. So however it is doing it, it is reasonably demanding or PC's wouldn't be struggling.
 
Last edited by spectral,

lordelan

Well-Known Member
Member
Joined
Jan 4, 2015
Messages
5,787
Trophies
1
Age
44
XP
6,518
Country
Germany
Nice, finally it appeared on the Switch.
Hopefully it gets upstreamed into the Libretro core as well in the future (when it's polished). :)
 

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
36,798
Trophies
3
XP
28,321
Country
United Kingdom
You're over thinking his point. His point is however it is doing it, it is currently slow on PC's that are much more powerful than a switch. So if the PC doesn't have the power to do it, how does the switch? It's doubtful they will use one method on PC and another on switch. So however it is doing it, it is reasonably demanding or PC's wouldn't be struggling.
If the methods available were limited to what we are seeing now then sure. The method we are seeing right now is more results focused than speed focused. The same results can be achieved with a lot less but with a bit more complicated code and leaning into hardware that the Switch will have a take on, and just about any PC still running will have a take on.
 
D

Deleted User

Guest
Sorry if i don't get it, this contains the update for rescaling for Switch? with standalone you refer it doesn't work on Retroarch?
 

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
36,798
Trophies
3
XP
28,321
Country
United Kingdom
Emulators proved to be superior to hardware again
While I agree that emulators have far greater potential than stock hardware, and usually live up to it, this sort of thing could be done in hardware as well, and usually quite trivially as these things go too (if you have the hardware there doing everything else it is not too hard to supplant whatever the GBA's bad mapping methods do for something far nicer, and chuck in a bit of AA while you are at it). I have thus been quite disappointed when we see hardware clones that don't do cool stuff like this.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Maximumbeans @ Maximumbeans: butte