4 ms·
> 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 n
by outworlder 7y ago
> 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.
- Angostura 7y agoDeprecated, I thought. Just there for legacy support
- outworlder 7y agoAh, you are right, since Mojave. Yay for proprietary APIs.
- rebelwebmaster 7y agoI wonder what that means for WebGL support on Mac. Though I guess it can run through an intermediate layer similar to ANGLE on Windows.
- GeekyBear 7y agoCore 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 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 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.
- millstone 7y agoI 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.