Apple's Vision Pro XR Headset Uses 90 Hz Micro-OLED Displays

Apple Vision Pro
(Image credit: Tom's Hardware)

Earlier this week at WWDC, Apple made several hardware announcements related to its Mac platform. The company launched the all-new 15-inch MacBook Air along with a Mac Studio and Mac Pro powered by M2 Ultra processors. However, the product that overshadowed the entire keynote was undoubtedly the Vision Pro extended reality headset.

We learned a lot about the headset, including its impressive dual Micro-OLED displays featuring a collective 23 million pixels. Each eye has access to over 4K resolution, resulting in a crystal-clear picture with no hint of pixels in view, according to people that had hands-on time with the headset. Now, a developer session from Apple's developer conference reveals that the Vision Pro's displays have a refresh rate of "usually 90 frames per second."

For reference, non-pro MacBooks, iPhones and iPads have a refresh rate of 60 Hz, while the Pro variants of each feature a 120 Hz refresh rate. The 90 Hz refresh rate of the Vision Pro puts it right in the middle. The Vision Pro doesn't meet the 120 Hz threshold, so it doesn't carry the ProMotion label attached to devices such as the iPhone 14 Pro, iPad Pro, and 16-inch MacBook Pro.

In the developer session entitled "Deliver video content for spatial experiences," the presenter also revealed that the 90 Hz refresh rate is not static. Apple says a maximum refresh rate of 96 Hz "may be used automatically" while playing 24 fps video content.

In addition to the high-tech displays, the Vision Pro is powered by a 5nm M2 processor in conjunction with an R1 co-processor tasked with wrangling the data from a dozen cameras, six microphones and five sensors.

Apple's Vision Pro is expected to launch in 2024 with a price tag of $3,499. That price puts it out of reach for most consumers, but many are hopeful that subsequent generations can hit more palatable price points, allowing for broader adoption. As my colleague Andrew E. Freedman wrote, "I firmly see this announcement as a first step in building the future, with Apple's dedicated third-party developers making experiences that will germinate here, but become invaluable down the line."

Brandon Hill

Brandon Hill is a senior editor at Tom's Hardware. He has written about PC and Mac tech since the late 1990s with bylines at AnandTech, DailyTech, and Hot Hardware. When he is not consuming copious amounts of tech news, he can be found enjoying the NC mountains or the beach with his wife and two sons.

  • RichardtST
    $3500 and it doesn't even do 120 hz? Seriously?
    I guess that's about par for an Apple product.
    Reply
  • -Fran-
    RichardtST said:
    $3500 and it doesn't even do 120 hz? Seriously?
    I guess that's about par for an Apple product.
    Weeeell, in absolute fairness, 90Hz for an HMD is ok. What matters is not having tearing and stutters more than "max refresh/FPS".

    IIRC, Mr Carmack kind of demonstrated/argued 90Hz is the "practical minimum" for an HMD to not cause nausea in full immersion.

    I have the Index set to 120Hz, but I can live with ~40 FPS as long as they're consistent (ish) and there's no massive stutter under that value. But that's me. Mileage definitely varies in that dept.

    Regards.
    Reply
  • lmcnabney
    The inference to 'up to 96hz' displaying 24hz content is troubling. That means either frame interpolation (creating the soap opera effect and multiplying moving objects) as used on consumer UHD TVs or AI generated fake frames as created by DLSS3 processing. Both add latency due to processing which is BAD for AR/VR solutions and nausea.
    This may be why the apps don't appear to encourage user movement and instead focus on 'sit and consume' usage.
    Reply
  • Giroro
    This thing could have a billion pixels per eye at 1000 Hz. It won't matter.
    Nobody is going to buy one until Apple figures out what these things are supposed to actually do.
    Reply
  • JamesJones44
    Interesting that is using a micro LED display over OLED. That's a good part of the reason for the cost most likely... and the fact that it's Apple of course.
    Reply
  • RichardtST
    -Fran- said:
    Weeeell, in absolute fairness, 90Hz for an HMD is ok. What matters is not having tearing and stutters more than "max refresh/FPS".

    IIRC, Mr Carmack kind of demonstrated/argued 90Hz is the "practical minimum" for an HMD to not cause nausea in full immersion.

    I have the Index set to 120Hz, but I can live with ~40 FPS as long as they're consistent (ish) and there's no massive stutter under that value. But that's me. Mileage definitely varies in that dept.

    Regards.

    We must play vastly different games. 40hz would be horrifying in Beat Sabre or some of the other live-action games I tend to play. Huge differences between 40 and 60 and 90 and 120. I'll take 120 any day. I can see the stepping and individual frames. I may be old as dirt, but I'm not slow yet! :)

    And why on earth would you need 96hz to watch a 24hz video? Are they scamming people again?
    Of course they are...
    Reply
  • edzieba
    lmcnabney said:
    The inference to 'up to 96hz' displaying 24hz content is troubling. That means either frame interpolation (creating the soap opera effect and multiplying moving objects) as used on consumer UHD TVs or AI generated fake frames as created by DLSS3 processing. Both add latency due to processing which is BAD for AR/VR solutions and nausea.
    This may be why the apps don't appear to encourage user movement and instead focus on 'sit and consume' usage.
    Not familiar with standard best-practices for VR displays, I take it?

    Every frame undergoes processing prior to scanout. First, the frame is offset (rotational timewarp) based on the most recent fused head pose - because since you started rendering the frame that pose is several ms stale, and several ms of latency is unacceptably slow for VR. Next, the frame is then warped to account for the position change of the head (spatial timewarp or 'spacewarp') which requires pixel synthesis to acount for the differential movement of foreground and background objects (parallax). In practice, these two steps occur simultaneously as a 6-axis transform, and they also take into account the optical flow field of the frame in order to correctly displace objects in motion. Finally, the frame is warped to account for the non-rectilinear optics used to view it, which means applying an invers-pincushion warp that is wavelength dependant (you warp the 3 colour channels separately to counter chromatic aberration in the optics).
    Now, because every frame undergoes synthesis, there is very little practical difference between a frame that started rendering 10ms ago and a frame that started rendering 20ms ago in terms of the display timeline. That means as your warps are asynchronous and render time independent, you can use them for complete frame synthesis in case of a render miss - i.e. if the display is due for a scanout but a new frame has not completed rendering, you apply the up-to-date transform to the old frame and still generate a valid frame for display.
    On top of that, there is no reason you cannot apply that same technique to every other frame, or every third frame, in order to double or triple the effective render rate to produce a given display update rate.

    All these techniques have been implemented years ago and are in active use even on mobile devices (e.g. the Quest series).
    Reply
  • newtechldtech
    RichardtST said:
    $3500 and it doesn't even do 120 hz? Seriously?
    I guess that's about par for an Apple product.

    LOL .. you know this device works on M2 SOC right ? it will not run games at 120fps not even 90 fps with that SOC and for dual 4K screens (4K per eye) ? even RTX 4090 cant run two 4K screens at 60 fps ...

    Anti Apple people lost their minds completely ...
    Reply
  • RichardtST
    newtechldtech said:
    LOL .. you know this device works on M2 SOC right ? it will not run games at 120fps not even 90 fps with that SOC and for dual 4K screens (4K per eye) ? even RTX 4090 cant run two 4K screens at 60 fps ...

    Anti Apple people lost their minds completely ...
    "Can't run two 4k screens at 60hz". We have a winner for "noob of the year"....
    It all depends on the content that is being displayed. My 1080ti can drive 4k60.
    I've done it. It works. Most games get scaled down until they CAN do 60 hz because
    anything less is painful.
    Reply
  • RichardtST
    edzieba said:
    Not familiar with standard best-practices for VR displays, I take it?

    Every frame undergoes processing prior to scanout. First, the frame is offset (rotational timewarp) based on the most recent fused head pose - because since you started rendering the frame that pose is several ms stale, and several ms of latency is unacceptably slow for VR. Next, the frame is then warped to account for the position change of the head (spatial timewarp or 'spacewarp') which requires pixel synthesis to acount for the differential movement of foreground and background objects (parallax). In practice, these two steps occur simultaneously as a 6-axis transform, and they also take into account the optical flow field of the frame in order to correctly displace objects in motion. Finally, the frame is warped to account for the non-rectilinear optics used to view it, which means applying an invers-pincushion warp that is wavelength dependant (you warp the 3 colour channels separately to counter chromatic aberration in the optics).
    Now, because every frame undergoes synthesis, there is very little practical difference between a frame that started rendering 10ms ago and a frame that started rendering 20ms ago in terms of the display timeline. That means as your warps are asynchronous and render time independent, you can use them for complete frame synthesis in case of a render miss - i.e. if the display is due for a scanout but a new frame has not completed rendering, you apply the up-to-date transform to the old frame and still generate a valid frame for display.
    On top of that, there is no reason you cannot apply that same technique to every other frame, or every third frame, in order to double or triple the effective render rate to produce a given display update rate.

    All these techniques have been implemented years ago and are in active use even on mobile devices (e.g. the Quest series).
    It's easier than that. You simply request all your positional data N milliseconds ahead. Since 60 hz is roughly 16 ms, and because frame generation and lag take up another frame or so, asking for positional data roughly 30ms in the future works out pretty nicely (for a 60hz game loop). The controller automagically uses a couple nifty little algorithms (speed, acceleration, angular momentum, etc, etc) to make its best guess where everything will be at the requested time in the future. Pleasantly enough, it is pretty darn good at it and the result is that the screen you see is nearly exactly where your body feels it. You don't feel lag because its all matched up in time.

    If your content only updates at 24hz then displaying 96hz will just get you artificial fake frames like DLSS, or, if fake frame generation is turned off, you'll just get new screen data at 24hz. Whichever way you slice it, it is still 24hz data, not 96hz. A 24hz video is a 24hz video.
    Reply