/ Forums

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories

New To The Forum? Click Here To Read The How To Guide. -- Developers Click Here.

Persistence 101 -- How Low Persistence Reduces Motion Blur!

mdrejhonmdrejhon Posts: 26
edited March 2014 in General
Chief Blur Buster here (owner of BlurBusters.com; a popular site on low persistence gaming desktop monitors).

In late 2012, I told Palmer about LightBoost gaming displays, which helped inspire him on his low-persistence journey.

Motion blur math is:
1ms of persistence translates to 1 pixel of motion blurring during 1000 pixels/second motion
(assuming refresh rate synchronized motion: framerate==refreshrate)

This means 3ms persistence during 2000 pixels/second (one screenwidth per second panning) translates to about 6 pixels of motion blurring. This is much better than full persistence. Full persistence at 60Hz (flickerfree) translates to 16.7ms of persistence, so 2000 pixels/second creates 33 pixels motion blur. The only way to achieve 3ms persistence without light modulation(flicker) is to display (1000/3ms) frames == 333fps@333Hz. A a result, today's technology have to use strobing/black frame periods to lower persistence much like a CRT. Some high end HDTV's already do interpolation (e.g. 240fps@240Hz) as a way to do lower "full persistence" without using strobing/phosphor/blackframes. However, the Motionflow/interpolation and ultrahigh refresh rate techniques is not currently practical for video games due to input lag of interpolation or GPU power.

Persistence Animations
Good animation demo of motion blur from persistence -- http://www.testufo.com/eyetracking
Good animation demo of black period to lower persistence -- http://www.testufo.com/blackframes

Thanks
Mark Rejhon
Chief Blur Buster -- blurbusters.com

Comments

  • mdrejhonmdrejhon Posts: 26
    msalha wrote:
    Is it possible to simulate the low persistence for the DK1?
    Not possible with a full-persistence display.

    The black frame duty cycle (persistence length) is linearly proportional to motion blur. To attempt to do it in a software-based manner, you could do it only at low frame rates (e.g. 30fps+blackframes with the equivalent lowered motion blur of 60fps@60Hz), as demonstrated at http://www.testufo.com/blackframes#count=3 (3 UFO version).

    Make sure to run a in supported browser. The software based black frames animation demo above can only do persistence in full-persistence steps. If you run it on a 120Hz monitor=8.3ms full persistence (flickerfree mode) it can compare 8.3ms persistence versus 16.7ms persistence versus 25ms persistence, for example.

    Only hardware-based methods (phosphor/strobe backlight/lightboost/OLED flashing/etc)
    can achieve persistence lower than a frame cycle:

    60Hz at full persistence = sample-and-hold (continuously shining) = 1/60sec = 16.7ms persistence = baseline
    60Hz at 50% persistence = 50% dark:50% bright = 8.3ms persistence = 50% less motion blur
    60Hz at 25% persistence = 75% dark:25% bright = 4.1ms = 75% less motion blur
    60Hz at 10% persistence = 90% dark:10% bright = 1.6ms = 90% less motion blur

    Obviously, 60Hz low-persistence flickers badly (e.g. 60Hz CRT), so you want to get to a higher refresh rate, such as 75Hz or above. Since your vision is blocked from external environment while wearing a headset, 75Hz is not as flickery as staring at a CRT. It's similiar to watching movies in an old movie theater that's darkened (24fps @ 48Hz projector strobe on 35mm film), so the low-Hz flicker is not as noticeable when it's the only light source you are seeing.

    Hardware-based persistence methods (e.g. strobed OLED, strobe backlights, scanning backlights, etc) are much more efficient. So you need hardware based support for low-persistence, to get less motion blur than full persistence at full frame rates.

    Note -- Persistence is not the same thing as GtG transitions. A 1ms or 2ms LCD can have 16.7ms of persistence.

    Thanks,
    Mark Rejhon
    Chief Blur Buster -- blurbusters.com
  • nkanka Posts: 63
    thanks for the informations. Didnt understand all, but helped me understard much !
  • mdrejhonmdrejhon Posts: 26
    nka wrote:
    thanks for the informations. Didnt understand all, but helped me understard much !
    You're welcome!
    Feel free to ask me questions, as I'm considered one of the Internet's foremost display motion blur experts.

    Another way to understand persistence is that it creates eye-tracking-based motion blur.
    Your eyes are analog; and continuously moving nonstop when you track your eyes on moving objects. However, displays are displaying a series of static frames. As your eyes track moving objects, your eyes are in a different position at the end of a display's refresh than at the beginning of a refresh. This smears the static refresh across your vision; causing motion blur.

    Example: You're tracking a moving on-screen object that is moving at 1000 pixels per second (e.g. like the full-framerate UFO at http://www.testufo.com). This means at 1000 pixels/second during 60Hz full-persistence (1/60sec = 16.7ms persistence = a static frame displayed for 16.7ms). 1/60th of 1000pixels/sec is actually 16.7 pixels per refresh cycle. So your eyes have moved 16.7 pixels between the beginning of a refresh cycle and the end of a refresh cycle. That "smears" the static refresh across your retinas; creating the persistence-caused motion blur you see in the animation at http://www.testufo.com/eyetracking ... During full persistence, the length of motion blurring equals the distance the motion travelled between two refresh cycles (GtG transitions adds extra motion blur above-and-beyond this, but GtG for OLED and modern gaming LCDs is insignificant compared to persistence-caused motion blur).

    During these motionspeeds, eye saccades are still considered an insignificant factor as most humans can quite accurately track objects at half-screen-width-per-second (even seeing single individual pixels in such motion on a CRT or on an ultralow-persistence strobe LCD that's moving at that speed).

    Now, halve that persistence by making the frame visible half of the time (by using 50%:50% black frame insertion), so you've got 8.3ms of static frame, and 8.3ms of black period, during a 1/60sec (16.7ms) time period. As your eyes track that moving object, you're only getting 8.3 pixels of motion blurring during this 1000 pixels/second motion example. That's half as much motion blur as 16.7 pixels of motion blurring.

    Now, this is another thought exercise, that makes the "motion blur math" much simpler and easier to understand. :-)

    Fun Optical Illusions Created Via Persistence-Based Motion Blur
    Checkerboard -- http://www.testufo.com/eyetracking#pattern=checkerboard
    Thin-vs-Thick Lines -- http://www.testufo.com/eyetracking#pattern=lines1
    ....View these synchronized animations on a flickerfree LCD in a supported HTML5 browser

    Thanks,
    Mark Rejhon
    Chief Blur Buster -- blurbusters.com
  • mdrejhonmdrejhon Posts: 26
    I made a followup in another thread, that I think deserves to be in Persistence 101:
    There are two ways to lower persistence:
    1. Lower persistence via strobe method. Persistence equals strobe length, one strobe per frame.
    2. Lower persistence via higher refresh rate method. Persistence equals frame length (1/fps).
    You can also do both. Use a higher strobe rate to reduce visible flicker or stroboscopic artifacts, as you've said.

    For example, you can lower persistence via a higher refresh rate without using strobing.
    60fps@60Hz full-persistence = 1/60sec = ~16.7ms
    120fps@120Hz full-persistence = 1/120sec = ~8.3ms
    240fps@240Hz full-persistence = 1/240sec = ~4.1ms
    480fps@480Hz full-persistence = 1/480sec = ~2ms
    960fps@960Hz full-persistence = 1/960sec = ~1ms

    So low full-persistence numbers are possible. Some high-end HDTV's use interpolation to do this (the dreaded Motionflow effect), but someday in the future, it would be nice to do it natively (true framerate on true refresh rate), to eliminate flicker effects and stroboscopic effects, getting low full-persistence numbers. However, since that's not possible, we need to use strobing as an easier way to lower persistence without raising refresh rates to unobtainium levels.

    That said, 144Hz strobed would be much nicer than 75Hz strobed. But it would be hugely demanding on GPU power, because you need framerates matching refresh rates, for the proper blur-free effect.

    Also, there's a very active persistence discussion in this thread (read from that post onwards), as it provides very useful background information on understanding persistence.

    Thanks
    Mark Rejhon
    Chief Blur Buster -- blurbusters.com
  • mdrejhonmdrejhon Posts: 26
    I have created a persistence comparision chart.
    The Oculus DK2 (2ms) has almost 10x less motion blur than Oculus DK1 (16.7ms).

    motion_blur_from_persistence.png
Sign In or Register to comment.