MAMEWorld >> The Loony Bin
View all threads Index   Flat Mode Flat  

Haze
Reged: 09/23/03
Posts: 5245
Send PM
Re: Beam Racing
10/16/18 11:59 AM


> > Techniques like Beam Racing, which requires a lot more effort to actually do right,
> > can take out the extra frame of lag from the PC side and match how the games would
> > run on hardware (to the nearest line, not pixel, but nobody is measuring response
> > times in pixels right now) Run-ahead is an ugly cheat. Unfortunately as people
> would
> > rather cheat it seems there is less incentive to do it properly (as doing it
> properly
> > actually will requiring rewriting every single driver to have 100% proper line
> > rendering and buffering logic emulated at the exact times the hardware does it)
>
>
> Isn't that what ZX Spectrum emulation would require in order to achieve 100%
> accuracy? If that's the case, maybe its driver could be used for testing any Beam
> Racing implementations, whenever somebody wants to attempt a rewrite of it.

Beam Racing is not related to ZX Spectrum emulation, no, it's a presentation technique that happens to require emulation that is already scanline accurate in order to implement.

For ZX Spectrum emulation you do need accurate screen timing, you actually need accurate *pixel* timing, as many effects change things during the horizontal scan, right before video data is pulled. Byuu found the same for that one SNES game which changes the palette during the horizontal scan at a very specific position in order to draw a shadow.

*without* scanline accurate rendering Beam Racing becomes difficult as the rendering / execution load across your screen is unbalanced, and once using techniques like beam racing you're effectively dealing not with 'frames per second' but 'scanlines per second' and your emulation must be able to deliver each single scanline (assuming 240 lines, 60 fps) within 1/14400th of a second as opposed each single frame within 1/60th of a second. If any one *scanline* doesn't render in time then the entire framerate drops.

The problem with a lot of systems in MAME and other emulators is that they're framesynced and assume that everything is drawn at one specific point in the frame which means the load is heavily unbalanced (effectively the last scanline takes 240x as long as every single other one) and in many cases real buffers that existed on hardware to prevent graphic corruption if spriteram etc. is updated midscreen aren't being emulated, and CPU execution times don't have to be as accurate either as long as they're relatively accurate within frame. Simply forcing 'scanline' updating to split the load evenly for an emulation that hasn't been properly developed will create a lot of glitches due to other bad assumptions in the emulation.

So yeah, Beam Racing demands accurate emulation to implement, but visually accurate emulation doesn't demand beam racing.







Entire thread
Subject Posted by Posted on
* I may get flamed for this, but this IS the loony bin so... (Retroarch Bounty) URherenow 10/07/18 06:53 AM
. * Re: I may get flamed for this, but this IS the loony bin so... (Retroarch Bounty) MooglyGuy  10/07/18 09:16 AM
. * Re: I may get flamed for this, but this IS the loony bin so... (Retroarch Bounty) URherenow  10/07/18 05:23 PM
. * Re: I may get flamed for this, but this IS the loony bin so... (Retroarch Bounty) lharms  10/07/18 10:02 PM
. * Re: I may get flamed for this, but this IS the loony bin so... (Retroarch Bounty) AaronGiles  10/08/18 10:50 AM
. * Re: I may get flamed for this, but this IS the loony bin so... (Retroarch Bounty) lharms  10/08/18 10:15 PM
. * Re: I may get flamed for this, but this IS the loony bin so... (Retroarch Bounty) URherenow  10/07/18 11:02 PM
. * Re: I may get flamed for this, but this IS the loony bin so... (Retroarch Bounty) Haze  10/07/18 01:03 PM
. * Re: I may get flamed for this, but this IS the loony bin so... (Retroarch Bounty) DiodeDude  10/07/18 11:52 PM
. * Re: I may get flamed for this, but this IS the loony bin so... (Retroarch Bounty) Haze  10/08/18 12:49 AM
. * Re: I may get flamed for this, but this IS the loony bin so... (Retroarch Bounty) DiodeDude  10/08/18 02:20 AM
. * Re: I may get flamed for this, but this IS the loony bin so... (Retroarch Bounty) LensLarque  10/08/18 05:11 PM
. * Re: I may get flamed for this, but this IS the loony bin so... (Retroarch Bounty) DiodeDude  10/08/18 11:38 PM
. * Re: I may get flamed for this, but this IS the loony bin so... (Retroarch Bounty) LensLarque  10/09/18 02:30 AM
. * Re: I may get flamed for this, but this IS the loony bin so... (Retroarch Bounty) Haze  10/08/18 05:37 PM
. * Re: I may get flamed for this, but this IS the loony bin so... (Retroarch Bounty) LensLarque  10/08/18 09:00 PM
. * Re: I may get flamed for this, but this IS the loony bin so... (Retroarch Bounty) Haze  10/08/18 10:18 PM
. * Re: I may get flamed for this, but this IS the loony bin so... (Retroarch Bounty) LensLarque  10/08/18 10:38 PM
. * Re: I may get flamed for this, but this IS the loony bin so... (Retroarch Bounty) Haze  10/09/18 01:20 AM
. * Re: I may get flamed for this, but this IS the loony bin so... (Retroarch Bounty) LensLarque  10/09/18 02:45 AM
. * Re: I may get flamed for this, but this IS the loony bin so... (Retroarch Bounty) Haze  10/09/18 03:34 AM
. * Re: I may get flamed for this, but this IS the loony bin so... (Retroarch Bounty) LensLarque  10/09/18 03:49 AM
. * Re: I may get flamed for this, but this IS the loony bin so... (Retroarch Bounty) Haze  10/09/18 11:31 AM
. * Re: I may get flamed for this, but this IS the loony bin so... (Retroarch Bounty) LensLarque  10/09/18 12:51 PM
. * Re: I may get flamed for this, but this IS the loony bin so... (Retroarch Bounty) Haze  10/09/18 01:44 PM
. * Re: Beam Racing ICEknight  10/16/18 01:56 AM
. * Re: Beam Racing Haze  10/16/18 11:59 AM
. * Re: I may get flamed for this, but this IS the loony bin so... (Retroarch Bounty) LensLarque  10/09/18 02:29 PM

Extra information Permissions
Moderator:  GatKong 
1 registered and 99 anonymous users are browsing this forum.
You cannot start new topics
You cannot reply to topics
HTML is enabled
UBBCode is enabled
Thread views: 1359