- 
          
 - 
                Notifications
    
You must be signed in to change notification settings  - Fork 84
 
Subframes, BFI and Blur Busters #193
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
| 
           I have not tested this -- but, question -- does this work with framerates different from the simulated target Hz? That is kind of the original CRT behavior preservation (e.g. like running low frame rates on a CRT). Where low framerates keeps merrily working fine (just stutters and/or creates double image artifacts ala 30fps at CRT 60Hz double-image effect). Say hi to me on Discord @blurbusters if you'd like;  | 
    
| 
           Thank you for your comment, I sent you a message on Discord! Technically yes, processing is completely detached from input framerate (for better or worse - exact timing and sync not guaranteed...) so it will work with lower input frame rates, too. The fight with this approach is ensuring we can get frames from Windows Capture timely (without having to introduce buffering and latency) and that DWM consistently renders a high frame-rate unfocused window, on top of a focused input window - the aim of ShaderGlass is to provide real-time effects over gaming/interactive content. While in some scenarios there's been success, there's still a lot of work (research and experimentation really, since this isn't an approach Windows really caters to) necessary to make timing as consistent as possible.  | 
    
          
 Thanks, I replied on Discord! Some suggestions: 
 Obviously, we cannot always control when GPU presents the final frames, especially since GPUs will often have major contention (e.g. rendering a frame for longer than a single subframe -- aind GPUs aren't always able to efficiently deliver frames on time -- but hardware-based flips can help with that provided you have an high priority frame-presentation thread higher than the rendering threads (game) & processing thread (CRT filter). I understand if these are advaned stuff far beyond your plans, but I thought I'd add this detail, since it's a big challenge to prioritize the frames. I'll continue the discussion on Discord.  | 
    
| 
           Welcome. I received new ViewSonic XG2431 monitor (you too) on past Friday and 1 day later, I tested it. :) NOTICE! BFI SW affects any LCD strobed monitor (or XG2431/XG270 only?) at strobe (BFI HW - eg: ULMB or PureXP...) enabled. ;)  | 
    
          
 My CRT simulator has an LCD saver algorithm built into it.  | 
    
          
 I deleted "abnormally and randomly few freezes per minute or per 10~15 seconds of flickering issue[/b] on "DesktopBFI" app or "ShaderGlass" app with "BFI-sample" for burn-in issue" because of no any freeze of flickering on WinUAE emulator with BFI SW enabled and minutes later I got still burn-in again. I apologize you. :) But if LCD monitor/TV has IPS panel, we do not use BFI-SW for avoid any burn-in while you may use BFI-SW on TN panel. I request you (or ViewSonic) should work new firmware to 50Hz be added for PureXP.  | 
    
          
 It has a SAFE IPS LCD BFI ALGORITHMI know how to do a custom BFI/CRT algorithm that has NO BURN IN FOR LCDs, regardless of IPS, TN, or VA LCDs. There's no burn-in with my custom LCD Saver algorithm. I explain an LCD-friendly software BFI algorithm. SAFE LCD BFI ALGORITHM: https://forums.blurbusters.com/viewtopic.php?t=7539 Hardware strobing is superior for a lot of things, but sometimes software BFI is useful for multiple reasons: 
 Some people prefer hardware strobing, and other people prefer software strobing. My custom "safe BFI LCD" algorithm with no burn in, is already built into the Blur Busters CRT Simulator. Instead of dropping frames or using odd-Hz divisors, it uses a slow 0.001Hz slew (some displays need 0.01Hz), which is why a few people sometimes report a slow rolling bar if you haven't calibrated your gamma. "Right Tool For Right Job"  | 
    
          
 Ok. But I don't deserve this, if safe BFI is softer flicker. -- Can you work well new firmware of XG2431 to add 50Hz for PureXP?  | 
    
| 
           @mdrejhon: If you fail to work well new firmware of XG2431 to 50Hz added for PureXP, I'll return new monitor until september, 12th. You must reply URGENTLY me due to this date of return expiration!  | 
    
          <OFFTOPIC>Courtesy help: 
 The refresh rate range of PureXP is from 60Hz to 240Hz. ViewSonic makes final decision on refresh rate range for strobing. I was unable to successfully convince ViewSonic to add 50Hz PAL strobing. I apologize, but I tried my best to convince ViewSonic. It's beyond my control, I'm sorry. I tried many times, you are not the first person to request PAL strobing. It was still a giant miracle Blur Busters convinced ViewSonic to even support 60 Hz strobing. All the other strobing technologies do not even get as low as 60 Hz (DyAc, ULMB, ELMB, etc). I tried my best, but many manufacturers get complaints about flickering screen, from inexperienced people. WORKAROUND: You can still combine software BFI and hardware strobing, to see what looks like low-Hz hardware strobing. XG2431 strobing can still be useful for 50Hz PAL strobing, if you combine both software BFI and hardware BFI simultaneously. 
 The software BFI converts 100Hz strobing to defacto 50Hz strobing. Please be noted though: 
 You can still turn off hardware-based strobing (ULMB, ELMB, PureXP, VRB, etc). And instead switch to CRT simulator while running at 200Hz. You can get 50Hz PAL with CRT simulator at 75% blur reduction. The more Hz the better. 240Hz gives you better CRT 50Hz beam simulator than 144Hz does, since you can use 4 subframes. More subframes = more blur reduction in software. With the CRT electron beam simulator, 1000Hz OLED is the future, with "Bring Your Own Algorithm" in 100% software-based motion blur reduction. But it means software such as ShaderGlass becomes mandatory, with a lot of computing power, to do it without erratic flickers. Problem is that software blur reduction can flicker a bit. It will take time for software to become mature. Rolling scan (beam simulation) has less flicker than hardware based strobing. So you have multiple choices of still getting the XG2431 blur busting: 
 However, yes, you do have limitations. You don't have access to easy 50 Hz PAL hardware strobing without help from software (simultaneously using software BFI to convert 100 Hz PureXP to 50 Hz PureXP). If that's a mandatory requirement, then you should return the monitor. But remember, to get familiar with the benefits too. Please remember I tried my best with ViewSonic. They make final decision on refresh rate range supported by hardware strobing. And how big a miracle I convinced them to do better than ULMB, ELMB, DyAc, etc... Hope this helps! HOW TO REPLY: Please use a different venue to contact me about ViewSonic monitor specific issues, let's keep this github entry for ShaderGlass. You can email me at mark [at] blurbusters [dot] com.</OFFTOPIC> | 
    
| 
           @mdrejhon Thank you. I watch any DVB-T channel (Portugal - 50Hz signal) on VLC media player. Does ShaderGlass have new safe BFI SW? Or any new other BFI tool?  | 
    
          
 You can try this: 
 It won't work perfectly because CRT wasn't designed to be BFI, but it does closely emulate BFI (in a safe way) when scan direction is 0 and you use very low numbers (e.g. 0.25) for brightness-vs-blur. IMHO, the experience will be much better with ShaderGlass on VLC on a 240Hz+ OLED. To other readers: Has anyone tested ShaderGlass with VLC? The tricky part is synchronizing the frames with the CRT simulation. e.g. 24fps movies at 72Hz, or 60fps video at 240Hz, or 50fps video at 200Hz, etc. -- but there are a lot of configuration tricks available, just a question of how things are tweaked -- or how things are automated by ShaderGlass  | 
    
| 
           @mdrejhon Brightness vs Blur on ShaderGlass? I can't find this because on alpha3... Maybe rest shaders (eg: EGA...) in library are deleted. On release of ShaderGlass... but no BFI shader. Or what other app?  | 
    
          
 In ShaderGlass alpha while on crt-beam-simulator go Shader -> Parameters, the setting is called Brightness vs Clarity  | 
    
| 
           Thank you. I'll try bright-clarity... But... for BFI-simple or CRT beam simulator: Oh! I've CPU Intel i7-12700KF@stock, 2x16GB DDR4-3600MHz and GPU GeForce RTX 4090@stock running Windows 10 x64 22H2.  | 
    
| 
           @nuninho1980 Hm your GPU should be able to handle it no problem, it might be Windows 10 holding you back (sorry I don't make the rules). Were you able to disable HAGS or use Process Lasso to increase CPU/GPU priorities (instructions in the alpha discussion page)? Edit: also try using Window Input, it's bit more performant (instr on alpha page).  | 
    
| 
           I tried to disable HAGS, to reboot PC and to increase the priority from "normal" to "high" for ShaderGlass but still randomly freezes of flickering. At 200Hz, we get double-image on UFO test with ShaderGlass (SG) using but single-image without SG using.  | 
    
| 
           Hello!! 4 days later... :D On ShaderGlass alpha3: 
  | 
    
| 
           Hello. 2 weeks later... New NVIDIA Studio v581.29 driver (before Studio v580.97) reduced much, much randomly freezes of flickering for "120-safe-BFI", for "120-smart-BFI" and for "CRT beam simulator". This driver is very probable. BFI-types and "CRT beam simulator" shaders get single-strobe 😁🥰 but except BFI-simple gets only abnormally double-image since that new driver. Best regards. 😉  | 
    
| 
           Some info about sleep(amd mwaitx; intel umwait) instruction from rpcs3 video https://youtu.be/3dkN-6TJNHs?t=342  | 
    
This is an early experimental version of ShaderGlass adding BFI & Blur Busters CRT Beam Simulator shaders.
Please refer to the alpha release here:
#202