To use HLSL or not to use HLSL with Version 3.0?

Sometimes it is easy to get caught up in the hype of HLSL and lose focus on what is actually in front of you.

With the impending release of version 3.0 of my custom setup that is no longer implemented through HLSL. I decided to investigate the possibility of what it would be like if one was to stop using HLSL altogether. Also, what are the real advantages and disadvantages when using the current version of the HLSL filter?

1. I will start with what difference does HLSL 'prescale x & y' really make, what effect does using MAME's bilinear filter and bitmap prescale settings have, and what happens if you try to use them in a combination? I just ran a very quick comparison test and these were my findings.

The answer turns out rather interesting:
With MAME's 'bilinear filter' turned on and 'bitmap prescale' turned off and HLSL disabled the resulting image had the maximum amount of 'anti-aliasing', this also means a certain amount of blurriness, but this is not a problem for some people or depending on your screen size.

On the other hand, if using HLSL it appears that there was not much of a noticeable difference between 'prescaleX&Y' set at 0 or 4. Also, MAME's 'bilinear filter' didn't make a difference when HLSL was on, it looked as if the 'bilinear filter' did nothing. This means that if using HLSL then 'bilnear filter' and/or an 'prescale x & y' above 0 are pointless (Although it must be said that if you use a 'prescale x & y' of a different scale to what magnification you are doing from original game resolution to output resolution then it will create blurriness, and a 'prescale x & y' higher than magnification you are doing from original game resolution to output resolution will actually crash HLSL/MAME). If MAME's 'bilinear filter' is turned off then it looks better to have HLSL enabled rather than disabled.

So, with Version 3.0 it comes down to whether you want to use MAME's 'bilinear filter' or not. If you want 'bilinear' then you can't use HLSL. If you don't want 'bilinear' then you should use HLSL.

For testing result screenshots, here is 2.6MB .7z file:
(sorry about the strong pattern effect, 'alpha channel' is not adjustable at the moment)

2. The next thing to look at is colour manipulation; most of the time colour settings will make or break the aesthetics of the displayed games image. What is important here is whether you have the controls or not to gain the desired look. Are MAME's inbuilt settings enough or do you need HLSL's more indepth customization?

Firstly, before doing anything with colour you need to make sure your monitor is calibrated correctly. I recommend this website here: after all the different ways I have calibrated my monitors over the years, this has been the easiest to understand and I gained exactly the result I wanted.

MAME only has three settings; brightness, contrast, and gamma. I have been able to get a nice calibrated game image using them. With only these settings you can't really push the envelope though, maybe this is intended with the 'preservation' stance?

HLSL on the other hand has an enormous amount of colour customisation settings. If you want to boost the impact of your gaming image this maybe your only option?

So again, it come's down to personal preference. Some people will be happy with MAME's settings and some will prefer the more exciting colour palette's that HLSL can create.

I created some screenshots from what I class as great settings with and without HLSL, here is 9.8MB .7z file:
(sorry about the strong pattern effect, 'alpha channel' is not adjustable at the moment)

3. What about a quick rundown of the remaining HLSL features that can't be done with MAME's standard settings?

*HLSL Pincushin and Curvature effects can't be done with standard MAME settings. On the otherhand though, unfortunately they are not compatible with my custom Version 3.0 setup. This maybe a deciding factor for some people, you could still use my Version 2.0 though?

*HLSL Defocus is not something that is set via standard MAME settings. MAME's 'bilinear filter' may give a very slight defocus/blur after effect and if that is what you are after, then it maybe better to use that without HLSL, instead of using HLSL with Defocus?

*HLSL's various converge settings are something that can't be done via MAME's standard settings. Some people would argue that they are only used to mimick CRT defects. If so then it would also be questionable as to why you would want to use them?

*HLSL Saturation and individualised colour settings. These indepth setting's are definately what can raise the bar of what can be achieved with MAME and alone can justify the use of HLSL.

*HLSL Phosphur Life is an interesting setting. A simple description is that it gives a kind of ghosting effect on fast moving game sprites. It can look quite good when used sparingly and cannot be done with MAME otherwise.

*Lastly the NTSC settings in HLSL cannot be achieved via standard MAME settings. Since I have not looked into them myself I cannot comment on them at this time.

So in conclusion, as you can see it is not a clear cut answer where someone can recommend one way or the other. It is possible to have pleasing results either way. It all comes down to what image characteristics an individual person wants and their personal preferences.