Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> The crucial limitation here is that flushBuffer gives you no way to indicate which parts of the OpenGL context have changed. This is a limitation which does not exist on Windows

Sigh.

The state of OpenGL on OSX is terrible.



Core Animation Layers do allow you to mark a layer or only a portion of a layer as needing an update.

https://developer.apple.com/documentation/quartzcore/calayer

Taking advantage of this would require deeper changes in Gekko than this initial change.

https://bugzilla.mozilla.org/show_bug.cgi?id=1491456

Perhaps WebRender will do a better job of leveraging the possibilities of the native platform APIs for the various lesser used platforms?

In any event, it's a huge amount of work to land a change which makes such a huge difference in battery life, and that work is appreciated.


I think the author is incorrect: flushBuffer is ~20 years old. The "corresponding API" in Windows is not OpenGL, and Apple also has analogous modern APIs which handle dirty regions efficiently.


Deprecated, I thought. Just there for legacy support


Ah, you are right, since Mojave.

Yay for proprietary APIs.


I wonder what that means for WebGL support on Mac. Though I guess it can run through an intermediate layer similar to ANGLE on Windows.




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: