Live data from Hacker News

Trying to get past the 500 nits limit of the MacBook Pro (and failing)

alinpanaitiu.com

1–10 of 87 posts

Re: Trying to get past the 500 nits limit of the MacBook Pro (and failing)

#3
I was amazed by how bright this page could get, on both Macbook and iPhone — https://kidi.ng/wanna-see-a-whiter-white/ — and I want to figure out how to use this superwhite on my interactive tutorials. But as far as I can see, canvas, svg, and webgl can't access it.

Re: Trying to get past the 500 nits limit of the MacBook Pro (and failing)

#4
A couple things: the Objective-C methods you listed are often accessible via the runtime APIs unless they are marked as being direct calls. And kSLSBrightnessRequestEDRHeadroom is unlikely to be a function; from its name it is probably a constant of some kind.

Re: Trying to get past the 500 nits limit of the MacBook Pro (and failing)

#5
post #3

I was amazed by how bright this page could get, on both Macbook and iPhone — https://kidi.ng/wanna-see-a-whiter-white/ — and I want to figure out how to use this superwhite on my interactive tutorials. But as far as I can see, canvas, svg, and webgl can't access it.

[deleted]

Re: Trying to get past the 500 nits limit of the MacBook Pro (and failing)

#6
post #3

I was amazed by how bright this page could get, on both Macbook and iPhone — https://kidi.ng/wanna-see-a-whiter-white/ — and I want to figure out how to use this superwhite on my interactive tutorials. But as far as I can see, canvas, svg, and webgl can't access it.

HDR works for the Photos app. Though it doesn’t work for social apps I’ve tried, I’ve seen similarly high brightness static images in Safari. If you can’t do it with canvas, I’m betting you can do it with a Blob object/blob: URL or even just a plain data: URL. You’ll also need to set the appropriate color space, otherwise it’ll default to sRGB. You very well may also need to use some non-web APIs (pick your binary interface of choice), if canvas clamps to 8-bit (which I’m too lazy to look up on mobile at this particular moment, but I’d be surprised if it doesn’t).

Re: Trying to get past the 500 nits limit of the MacBook Pro (and failing)

#7
post #3

I was amazed by how bright this page could get, on both Macbook and iPhone — https://kidi.ng/wanna-see-a-whiter-white/ — and I want to figure out how to use this superwhite on my interactive tutorials. But as far as I can see, canvas, svg, and webgl can't access it.

Further info: https://prolost.com/blog/edr

What’s nuts is that this also works on displays without the ability to control luminosity on individual parts of the screen. The link you posted works on my 2020 11” iPad Pro, which has an LCD with no local dimming.

However, it slowly ramps up over a second or two, whereas my OLED iPhone (which can of course set luminosity per pixel) enters retina-searing mode immediately.

Re: Trying to get past the 500 nits limit of the MacBook Pro (and failing)

#8
It's easy to write an app that displays arbitrary graphics at 1600 nits on the MacBook Pro. You just have to use the Metal API, an "extended" color space, and a Float colorPixelFormat.

I'm not sure that this blog post author is trying to accomplish, possibly they are trying to use some other API besides Metal?

Re: Trying to get past the 500 nits limit of the MacBook Pro (and failing)

#9
post #8

It's easy to write an app that displays arbitrary graphics at 1600 nits on the MacBook Pro. You just have to use the Metal API, an "extended" color space, and a Float colorPixelFormat. I'm not sure that this blog post author is trying to accomplish, possibly they are trying to use some other API besides Metal?

Even if they don't want to use Metal, there's stuff like MoltenVK that you can probably use to access the same functionality

Re: Trying to get past the 500 nits limit of the MacBook Pro (and failing)

#10
post #8

It's easy to write an app that displays arbitrary graphics at 1600 nits on the MacBook Pro. You just have to use the Metal API, an "extended" color space, and a Float colorPixelFormat. I'm not sure that this blog post author is trying to accomplish, possibly they are trying to use some other API besides Metal?

I believe the author wanted the entire screen framebuffer to be displayed at 1600 nits. I.e. effectively cranking the brightness up to 11.
Post reply on HN