Composite redraw speedup?

Egil Möller egil at innovationgarage.no
Wed Feb 12 13:53:54 UTC 2020


> EFL does. Evas (the canvas) does all the rendering (either in software or GL)
> and handles "native surfaces" which are its term of adopting things like
> pixmaps into the scene graph as objects. It glues in the EGL or GLX pixmaps for
> you, partial update (buffer age...) etc. It may not be your cup of tea, but it
> does these kinds of things.
Well... I need to do my own shader code. In particular, I do nearly all
the layouting in the geometry shader, and I send "all" window properties
in as uniforms/arrays/textures (depending on type, and what the shaders
have defined as inputs). Does it handle that kind of super generic GL
usage?
> Unfortunately it's big and the sample of "how do I write a WM/compositor using
> it" is "look at Enlightenment" which is absolutely not small or simple

:( That seems to be the state of documentation of all things compositor...

> You've accepted reality at least :) You're getting into a rabbit-hole of "It'll
> grow and grow and the more you try and polish it up the more it will grow". :)
>
As is the case with most software. And so too already with this project.
Mostly, I wanted to experiment with some new UX ideas (see the video).
It took me a long time to get around to start developing on this,
exactly because of how hairy it is...


> My suggestion above - have that not drive animation in detail but at a higher
> level with source/destination geometry/state info and timelines and some kind
> of transition/interpolation path (linear, ease in/out or just provide a
> parameterized curve etc.) then let the compositor "run it" once told what it
> needs to do. Of course allow that to be interrupted and some new change
> initiated as needed by input etc.
The problem is how to handle sequences of that / other events, e.g. "do
this when this animation is done". It becomes a bit of a convoluted API...

/Egil


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <https://lists.x.org/archives/xorg-devel/attachments/20200212/ca0cb493/attachment.sig>


More information about the xorg-devel mailing list