UPDATED ALPHA VERSION OF BFI / BLUR BUSTERS CRT BEAM SIMULATOR EXPERIMENT
This is an experimental branch of ShaderGlass dedicated to BFI & Blur Busters CRT Beam Simulator shaders.
Visit https://blurbusters.com/ to find out more about the shaders and their authors.
All other RetroArch shaders have been removed in this branch; use the mainline version of ShaderGlass for those.
This is alpha2, big thank you to everyone for testing alpha1! Based on the feedback and my own experiments
I've revised the timing logic and was able to improve stability of the effects.
UPDATE 16/08: Capture stutter is now the main problem, I will be digging into this more.
How to test:
- start up ShaderGlass, it will launch in a window
- it should default SubFrames to refresh rate / 60, double check in Output -> Sub-frames (sorry no support for 144/165 yet)
- start up your game in borderless full-screen and limit to 60 fps if possible (using in-game limiter or RTSS)
- press Ctrl+Shift+G to bring ShaderGlass fullscreen while keeping focus in-game (global hotkey, press while in-game)
- press Ctrl+Shift+A to toggle shader on/off to make sure it's active (if anything, image will be slightly darker); if you're seeing desync (hard flashing) you can use this hotkey to reset
- you can use Output menu to try different shaders and change some of their Parameters
For best results:
- disable "Hardware accelerated GPU-scheduling" (HAGS) in Windows if you have the option to (System -> Display -> Graphics -> Advances graphics settings; computer restart required)
- alternatively, use Process Lasso (https://bitsum.com/) to set ShaderGlass' both CPU and GPU priorities to Always Real-Time (works just as well as disabling HAGS for me)
- use latest version of Windows 11 so that you are able to utilize Max Capture Rate in Processing -> Advanced
- disable any other apps, disconnect additional screens, etc.
- start with lower graphics quality or older games: the more GPU headroom there is, the easier it will be to avoid desyncs
With all of the above, desyncs (i.e. hard flashing) don't really happen on my setup (13600k, 5060Ti, 240Hz 1080p) anymore. The only annoyance is occasional input frame stutter where Windows Capture fails to consistently capture the game, something to look at. If you disable "Sync first sub-frame" choppiness will be less noticeable.
As usual, feel free to give this a shot and report your experience. This is really just an experiment to see if using capture method is a viable approach to running beam simulation shaders (it's far from ideal, but nevertheless worth trying). Since we are dealing with the black box of Windows' GPU scheduling, any correlation with your settings or specs can reveal meaningful info.
Changes/new options in alpha2:
- classic/driver VSync is now the default; this will publish a new frame as soon as possible giving Windows best chance to present it in time; you can bring back the earlier "Internal VSync" in Sub-frames menu; driver VSync technically has higher latency, but for now stability is the focus
- syncing input frame to first-sub frame is added and also default; this removes the chromatic aberration-like effect where source frame was changed in-between subframes; also adds a tiny bit of latency and makes capture chop worse but results in more consistent image (can be disabled)
- you can set GPU in Processing Menu; integrated GPUs will struggle to run the beam simulator at higher refresh rates so this will work best with a second discrete GPU
- many threading logic changes, trying to get as consistent timing as possible
PLEASE PROVIDE FEEDBACK IN GITHUB DISCUSSION
#200