Re: GTK+ scene graph



On 18 August 2014 18:32, Andy Tai <atai atai org> wrote:
Would this new layer have performance implications?  On older computers that
would not be GPU accelerated

what "older computers" are we talking about? 10 years old? unsupported
GPUs with no drivers?

when we introduced GL in the pipeline through the compositor 5 years
ago, stuff that was 5 years old *at the time* already could run
decently. I'm not going to care about hardware that is 10 years old or
that does not have drivers because nobody cares enough to have GL on
those machine. they can continue to run XFCE from 2009, for all intent
and purposes. it's highly unlikely they'll be able to run anything
else anyway.

anything that gets sold or recovered in emerging markets *today* comes
with a GPU that is capable of running multiple GL applications under a
GL compositor.

would gtk 4 still work using CPU rendering,
and with comparable performance to gtk+3 (or better, gtk+ 2)?

it would be as fast as a software-based implementation of OpenGL,
which is to say it would be as fast as your CPU can emulate your GPU.

there is nothing preventing a pure software-based renderer
implementation to happen — you just need to figure out how to draw 2D
textures in 3D — but I fully expect people using GL to do stuff like
video surfaces, or using different overlays if the graphical hardware
supports them. doing anything else is a massive waste of time, power,
and effort.

honestly: everything today is using GL already, and if it's not using
it right now, it's switching to GL. it's the only drawing API that we
can actually rely on at any point, on multiple architectures, vendoes,
and platforms.

your X11 server will start to use GL soon; your browser very likely
already does, and if it does not right now it's because of historical
baggage; your window manager is likely using GL to implement the X11
composite extension. once we switch to Wayland, we'll likely require
EGL if available.

it's actually easier to get proper support for GL on MacOS and Windows
than it is to expect Cairo to use hardware acceleration from the 2D
pipeline. in theory, we could even use DirectX for compositing on
Windows, instead of GL, but to be fair I prefer an industry standard,
as crappy and designed by committee as OpenGL is, than a native API
that only has one provider and one implementation.

while the new scene graph API in itself won't require you to use GL
directly (though it'll let you do that), internally the compositing of
each surface will defer to GL whenever a 3D transformation is involved
— with the full intention of using GL for all compositing.

ciao,
 Emmanuele.

-- 
http://www.bassi.io
[ ] ebassi [ gmail com]


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]