Benefits to GPU acceleration

Continuing the discussion from Have a better default Desktop Environment:

Now that @X512 has reach a breakthrough with the GPU, makes room for sugar and blur and all that appealing ui look :smiley:.
:sweat_smile: I know some body is going to say, when you put in the work, I’m Just excited.

Note that that whole discussion was before you could swap controllooks easily. Nowadays there already is not that much in the way of making a ā€œcandyā€ UI.
the only thing missing/troubling would be the lack of a window compositor, which makes shadows easier, and ā€œcoolā€ efffects like window transitions… however it is not required for all of them. (i.e a ā€œminimizeā€ animation can just use the last frame as a screenshot of a window, it does not need to have this as an off-screen canvas)

IMO there are three main benefits of having a compositor:

  1. Non-regular shaped windows (see Dockbert and HiQDock, for example)
  2. Semi-transparent windows for things like OSD (volume, brightness, etc.)
  3. Screencasting: for example, recording the content of a hidden or off-screen window,

Personally, I don’t care much about fancy transitions like in MacOS but the three above would make a huge difference.
To be honest, I’m not sure if we actually need a compositor for no. 1. maybe a mask is sufficient and perhaps, this is how it was implemented in BeOS R5.1 aka Dano.

4 Likes

nr 1 does not require a compositor, and nr 3 can argueably be implemented with off-screen surfaces directly… that does not neccesarily require compositong the other parts off the desktop hower.

I do not see any problems with the current GUI. Maybe if its all (the features discussed in this post) implemented and not a default config and the current default stays as the main one, i would be fine. I think there is a large number of people here that think haiku UI is the best today and some who even revert to the BeOS decorations and change to a more Classic mac-like theme (i do both). I am also sure most here are not fond of GUIs like KDE, Gnome and current Windows and Mac UIs.

And i also think it makes sense that the default GUI will be the one that is utilized in non-gpu acceleration contexts (the overwhelming majority of all likely current and future haiku installs), as it is very hard to support all x86-64 machines and x86 machines from the 90s to now in terms of gpu driver support, not considering also the fact they would be slow in acceleration.

6 Likes

I don’t think Haiku, is only about looking a certain way, there are other benefits to Haiku like, a unified app packaging format, speed, and just the fact that the world could use one more powerful kernel. But assuming that all users like haiku because they want to revive old 90’s computers and therefore undermining the need for GPU acceleration is, hmmm.

1 Like

Desire to revive something does not exclude doing something fancy. See MorthOS as an example.

I want wobbly windows! :melting_face:

More seriously though, I would rather not have Haiku be too glossy and stray too far from its now-distinctive aesthetic.

A couple animations and transitions here and there might be fine, but no burning close windows please. An advantage of a more minimal approach to a composited desktop is having more VRAM for apps and games to use, which is helpful for both lower-end hardware that may struggle otherwise and top-end hardware which are often used for extremely GPU-intensive workloads (i.e. 3D work, gamedev, machine learning, etc.).

Still though, if there’s ever going to be any fun/marginally useful optional effects please let it be wobbly windows. :smile:

6 Likes

I’d like to see circular windows with movable tabs that can spin around the outside.

Other than that, I wouldn’t mind seeing some graphical improvements, as long as the core stuff isn’t done away with. Things like movable tabs, etc.

I specifically was talking about machines far wider in range than 90s machines but also including. Not to mention anyone trying haiku in a newer machine with unsupported GPUs would not have the ability to use these features. So defaulting to what it is now would be wise. In no moment i said anything should be undermined but that throwing software rendering out of the bus or leaving people with unoptimized animations and layers which will be slow in their more restricted machines (not anyone can afford a high-end nvidia gpu) would be unwise. It is something linux loves to do (also to break old drivers and functional hardware or dropping old drivers from repositories without any respect for users) which i think does not make sense in haiku and many likely agree

I don’t want to have to experience the latency that a compositor adds. please don’t ruin haiku

6 Likes

On Linux/wayland you can unredirect fullscreen windows and allow tearing. But for regular desktop usage the features a compositor bring are worth a couple frames of latency.

2 Likes

For regulae desktop use this is unecessary… one frame would be painfull, but a couple of them? : /

2 Likes

-Shadows

-Transparency

3 Likes

As long as it can be switched off, I’m okay with people exploring possibilities.

For example, I absolutely detest spatial file management. But as long as I can switch it off , I’m fine with it existing for those who do like it.

2 Likes

Same here,feel free to implement fancy but useless effects,but don’t force them on me.
I know that some people like them,but forcing them is the route Windows,MacOS and most Linux desktops have already gone and I hate them for being so painfully slow.
I prefer a clean and responsive desktop with 90s-era design and no bloat.

4 Likes

I don’t think anyone in the developer team would accept adding any latency.

But I guess we’ll see what we can do for a low-latency compositor. It doesn’t have to add any latency, if done right?

5 Likes

Tearing less display will introduce extra latency.

2 Likes

Exactly how important is latency here? OS would benefit from GPU even it have to spare some nanoseconds.

This might be possible with displays that support adaptive sync, but clasically compositors would use vsync which gives one frame in effect (and for some reason some compositors have even more…)

1 Like