seer wrote:
Let's see... Lets draw everything on screen using the GPU or using the CPU ? The whole idea of LDDM is to take even more of the GUI from CPU to the GFX card.
As I recall, many 2D-operations are accelerated to begin with, so already a large portion of graphics operations is handled by the GPU. Back in the heydays, when Diamond, Matrox and 3dfx were the things to have, all they cared about was 2D-performance. That same performance is still lurking today in the corners of the modern videocards, albeit largely forgotten. Nowadays it goes without saying that straight blits are faster than the eye can follow. Or have you forgotten the times when window dragging was done by XOR-drawing the outline...?
In addition, you cannot offload anything to the GPU. It doesn't draw on its own, not even with all those fancy shader languages. The CPU still needs to supply it with the information it needs to work with. There is one concept of modern GPU's which
will improve performance even without actual 3D performance, namely the Z-buffer. Overlapping windows are simply sorted according to their 'depth', and the GPU takes care of the rest, including clipping. There is no need for a separate layers-like library anymore where the CPU handles buffering and clipping and what not. The CPU is just responsible for creating the 'texture' of each window on the fly, and shipping it to the GPU to be rendered. Internal clipping is a thing of the past. The use of the alpha channel comes free of charge. However, there still needs to be some sort of rudimentary layer heuristics to determine which windows would need to be actually drawn in the first place---otherwise you are just wasting Z-buffer bandwidth.
Of course you get to play with a few extra's, namely textures nearly free of charge, and vectorised graphics nearly free of charge (at bloody long last). All new and useful features, granted, but not of the sort you need the latest in GPU performance for. Unless, of course, your fancy runs to eye candy.
That was the point I was trying to make.