diff options
author | Nebuleon Fumika | 2012-12-25 16:00:34 -0500 |
---|---|---|
committer | Nebuleon Fumika | 2012-12-26 11:29:47 -0500 |
commit | 9c1742f6cb2043d0ed6a61ab6de3bef0aad6dc56 (patch) | |
tree | 7f52adbb95afedc11cee0e724623be0a8351914c /source/nds/entry.cpp | |
parent | 7f0e1fee814df6c44ced04246f511b0f91787673 (diff) | |
download | snes9x2005-9c1742f6cb2043d0ed6a61ab6de3bef0aad6dc56.tar.gz snes9x2005-9c1742f6cb2043d0ed6a61ab6de3bef0aad6dc56.tar.bz2 snes9x2005-9c1742f6cb2043d0ed6a61ab6de3bef0aad6dc56.zip |
Universally use update method 2 for the lower screen and 0 for the upper screen. Method 1 causes problems after about 15 minutes; despite the double-buffering, screen updates start to tear in the middle consistently.
Diffstat (limited to 'source/nds/entry.cpp')
-rw-r--r-- | source/nds/entry.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/source/nds/entry.cpp b/source/nds/entry.cpp index ea5f6ce..ce8d732 100644 --- a/source/nds/entry.cpp +++ b/source/nds/entry.cpp @@ -174,7 +174,10 @@ bool8 S9xDeinitUpdate (int Width, int Height, bool8 /*sixteen_bit*/) break; } - ds2_flipScreen(UP_SCREEN, 1); // synchronise to vblank to avoid tearing + ds2_flipScreen(UP_SCREEN, 0); + // A problem with update method 1 (wait, double buffer) means that, after + // about 15 minutes of play time, the screen starts to half-redraw every + // frame. With update method 0, this is mitigated. (Method 2 is too slow.) return (TRUE); } @@ -598,7 +601,6 @@ int sfc_main (int argc, char **argv) if (Settings.Paused) { S9xSetSoundMute (TRUE); - // mdelay(50); // Delete this delay unsigned short screen[256*192]; copy_screen((void*)screen, up_screen_addr, 0, 0, 256, 192); |