joncampbell123 / dosbox-x

DOSBox-X fork of the DOSBox project
GNU General Public License v2.0
2.78k stars 381 forks source link

Change option for "lazy rendering" (the new on-demand rendering) to allow true, false, and auto. Auto on for SVGA, auto off otherwise. #4195

Closed joncampbell123 closed 1 year ago

joncampbell123 commented 1 year ago

Is your feature request related to a problem? Please describe.

No response

What you want

Based on the discussion over at DOSBox Staging (https://github.com/dosbox-staging/dosbox-staging/pull/2398) it might be a smart move to change this code so that the default is "auto", meaning off by default for standard VGA modes where Demoscene effects may need the per-scanline rendering, but switches on automatically for SVGA modes where it is rare if non-existent for per-scanline Demoscene effects to occur (cue the "Prove Me Wrong" sitting at a table meme). As Staging points out this could improve emulation performance for the Windows desktop or if you like to play Quake at 640x480, for example.

If it could be easily done perhaps the auto mode could switch on automatically if it detects that the game is drawing to the screen in a way that involves little to no raster effects. For example the lazy rendering works perfectly fine with DOS games that memcpy() to VRAM (Heretic, Hexen), page flip with unchained 256-color mode (DOOM), or even do a palette change at a set scanline for more colors (DOS port of Lemmings). At some point in the future anyway.

Describe alternatives you've considered

No response

Additional information

No response

Have you checked that no similar feature request(s) exist?

Code of Conduct & Contributing Guidelines

joncampbell123 commented 1 year ago

Done