Is it possible to put a hqx2 filter on mame and retro arch? Can someone give me the tutorial to make the file?
I ask because the screen looks real rough and sharp. Anyway I can fix it?
Hello! Welcome to the forums! Sorry for the belated reply!!
Hq2x would be far too much of a drain on resources, and you’ll be running a slide show; even using a single pass hq2x filter.
I’m not sure if it’s implemented in the current 0.5 version, but I have installed all of the common filters in my current DEOT v2+ image. You can try anything out, and find out what I mean re: how slow it is.
I’m guessing what you would want is something along the lines of a bilinear filter. You can activate it within Retroarch, under the video settings.
Have a look at these examples:
The second one is with no filtering. The upscaling gives a jagged look, since the Gameshell resolution isn’t a multiple of the GBA’s resolution (240x160). You can see how the text does not have much consistency in kerning width.
The first screen shot shows bilinear filtering in effect. As you can see, it’s a tad blurry, but a world of difference better than the jagged edges of an unfiltered image, with a much more normalised screen font kerning.
The next three images show the differences, emulating NES games, given their lower resolution.
Zoom in closely to the text at the top. You can see how the configuration of the LCD isn’t technically parallels rows and columns of pixels; but more of a diamond formation; much like an old CRT would have had. I am actually a huge fan of this display, despite what many may say as if gives a hardware solution to having what can seen to be close to a CRT accurate solution without having to waste resources on shaders and/or filters.
The first image shows hq2x filtering. You can see how it has an interpolated quasi haze to the edges of jagged corners, which although nice comes at a huge performance hit.
The second shows no filters at all. On the NES, the resolution is 246x240, meaning that although it won’t be an integer multiple of the Gameshell’s 320x240 screen, it is a lot closer than that of the GBA. There is still some jaggedness due to scaling, but nowhere near as bad as that seen above.
The third image shows bilinear filtering. It is again a lot blurrier overall, but interpolates the scaling to allow for a much more normalised smoother image, without the huge performance hit experienced with the hq2x filter.
There has been a lot to be said about people just slapping a bilinear filter over a game, eg the Chrono Trigger steam remake. It got a huge amount of flack for ruining a game, making it a blurry mess on what would otherwise be a high resolution screen. Text could not longer be rendered correctly, so was replaced by horrendous popup windows, akin to an error message in an operating system.
In short, using a bilinear filter for a game that would no doubt be played on a sceeen larger than 320x240 was a bad move. Something like a hq2x filter would have been far more practical in this instance, given the general beefiness and power of a desktop computer.
The same can’t necessarily be said about using hq2x on a gameshell, given it’s limited resolution that would barely be able to interpolate the correct pixels, unless you were emulating extremely low resolution games that could be scaled as an integer value to the screen’s resolution. That and the lack of processing power to really do so.
Another thing to consider: Scan lines.
The art style of a lot of games are made with the assumption that people would be using a CRT tv with scan lines. These enhance the image quality, with the simple inclusion of black lines between pixels, giving greater depth and volume to pixel art. The shaders that make things extremely clean and liquid like remove this level of artistic interpretation, making things feel sterile and mass produced. Furthermore, depending on the density of scan lines, they can help to alleviate problems with scaling, adding in a contiguous buffer between pixels, bringing the resolution closer to a multiple of the native resolution.
Check out here for some examples.
If the blurriness of bilinear filtering isn’t your cup of tea, consider scan lines.
This is just my personal opinion, and experience with using shaders on the gameshell. I’m sure that lots of people will disagree with me, and I’m not trying to start any kind of flame wall. Just thought I’d give you some kind of response, since you’ve had this post unanswered for a while.