cancel
Showing results for 
Search instead for 
Did you mean: 

Persistence 101 -- How Low Persistence Reduces Motion Blur!

mdrejhon
Protege
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
8 REPLIES 8

mdrejhon
Protege
"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

nka
Honored Guest
thanks for the informations. Didnt understand all, but helped me understard much !

mdrejhon
Protege
"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

mdrejhon
Protege
I made a followup in another thread, that I think deserves to be in Persistence 101:

"Mark Rejhon" wrote:
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

mdrejhon
Protege
I have created a persistence comparision chart.
The Oculus DK2 (2ms) has almost 10x less motion blur than Oculus DK1 (16.7ms).



EDIT 2019:
Here's a new article about Blur Buster's involvement in accelerating low persistence VR.
https://www.blurbusters.com/how-blur-busters-convinced-oculus-rift-to-go-low-persistence/

mdrejhon
Protege
I wanted to mention a follow-up article about my little-known contract with the Oculus Kickstarter (long before they hired their first employees -- long before the John Carmack and Michael Abrash days). 

How Blur Busters Convinced Oculus to Go Low Persistence

The Oculus Kickstarter team were beta testers of TestUFO six months before the TestUFO website launched!


TenzoDog
Honored Guest

I'm hoping you can help.

I can't do displays with black frame insertion.
Disorientation in 10 minutes, nauseous in 15, pass out in 30.  Its a holdover from a stroke.

Is there any way to remove BFI from the quest pro, or am I out of luck?



@TenzoDog wrote:

I'm hoping you can help.

I can't do displays with black frame insertion.
Disorientation in 10 minutes, nauseous in 15, pass out in 30.  Its a holdover from a stroke.

Is there any way to remove BFI from the quest pro, or am I out of luck?


Not yet!   But by the end of the decade!  We've solved the problem.

@mdrejhon wrote:
"msalha" wrote:
Is it possible to simulate the low persistence for the DK1?
Not possible with a full-persistence display. 

UPDATE 2023: It's now possible in a prototype, thanks to technology progress!

We've helped manufacturers create experimental low-persistence sample and hold displays.

Blur reduction without BFI, without strobing, without flicker!

It simply required formerly-unobtainium refresh rates.  1000fps 1000Hz is now already in the laboratory.

  • Flickerless 1ms MPRT. 
  • Strobeless blur reduction.
  • PWM-free and BFI-free blur reduction.
  • Reprojection with zero double images!
  • It's here already in the laboratory.

We just tested 1000fps reprojection using 10:1 lagless frame generation (reprojection at 10:1).

This breakthrough (strobeless blur reduction), eliminates double-image artifacts for reprojection, AND reduces display motion blur by 90% without needing strobing.

Unfortunately, 1000fps reprojection requires a desktop GPU at the moment.  A very powerful GPU -- RTX 4090 was successfully tested at 1000fps reprojection.  Source code/demo included.   Also, 1000Hz displays are already in the lab.  Hopefully tomorrow's DLSS 4.0 and 5.0

In addition, to avoid common reprojection artifacts, we found we had to reproject from a starting frame rate  of over 100fps, beyond the flicker-fusion threshold and stutter-fusion threshold.  

Ergonomic flicker-free low-persistence sample&hold is the Holy Grail of simulating real life.  Real life does not flicker.  Real life does not strobe.  Real life is like infinite frame rate.  Naturally, brute-framerate sample and hold, solved the problem. 

Now "low-persistence" and "flickerless sample and hold" in the very same sentence, is now successfully tested by Blur Busters in the laboratory.  In 2014, I was not in any research papers.  As of 2023, I am now cited in more than 25 peer reviewed papers.  

Goodbye flicker-VR by year 2030. 

Read more at www.blurbusters.com/framegen -- it's real.  

There is a consortium (including me) that is actually currently negotiating with some vendors (e.g. NVIDIA) for a possible GDC 2025 or 2026 demo -- or some other convention.  We're working to attract more sponsors for the consortium for this breakthrough, solving the GPU problem AND the display problem for low-persistence 1000fps 1000Hz sample-and-hold that is blur-free and doubleimage-free.  Ergonomic blur reduction is here in the lab.