I can successfully say I found lots of ways to slowly send pixels to the screen on macOS. Of the slow ways, assigning an IOSurface to the contents of a CALayer is one of the faster ones, but still not as flexible as, or as fast as OpenGL.
Also delegating scrolling to CA will let us avoid jank caused by missynchronizing mouse events to sync, which is maddening to fix otherwise.
-
-
I thought Core Animation would be a happier path, but it didn't pan out for the few implementations I tried. Only way to get pixels to CALayers close to fast enough was with IOSurface (which as I understand it, uploads to GPU memory when unlocked).
-
But then it seemed there was a decent amount of overhead repositioning CALayers while scrolling (we have a tile implementation, and were using one CALayer per tile). Overall I was maxing out the CPU at about 55fps on a 2013rMBP, whereas with OpenGL was getting 60fps at 70% util.
- 5 more replies
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.