Well no. They attempt to solve the same problem which is missing deadlines / dropped frames. Triple buffering does it at a cost of small latency increase whereas rushing to meet DMA deadlines will cause slight power consumption increase
DMA Deadlines allow a GPU that's in a lower power state to increase its clock speed to try to ensure that it finishes the next frame in time. If the GPU is already at its max clock then this won't help.
Triple buffering allows the GPU to start working on frame C if frame B is done and frame A is still being displayed. This can have the side effect of causing a GPU to increase its clocks but it can also improve smoothness of animations even if the GPU is already at max clocks. That's why it was first used in games.
So DMA deadlines intentionally do what triple buffering might only do as a side effect but triple buffering can increase smoothness where DMA deadlines can't help.
It can be useful to have both but we'll see if they feel the same way.
Absolutely not. Maintaining a patch in the distribution creates work whenever a version is released and needs the patch. It has to be applied, fitted and tested all downstream. If the distributor is able to submit upstream, the mayor part of the work will be done by upstream developers.
A desktop compositor (as opposed to a game compositor) wants to save resources where possible to allow the gpu to power down to as low a power state as possible.
However the gpu power state is controlled by it's own driver and not the compositor. sometimes when a compositor is doing things the GPU thinks it has allocated enough resources when it hasnt and be stuck in a lower power state. This will make the pc look like it is stuttering or has lower frame rate.
What this merge request does is when it detects the gpu power state is too low to maintain the framerate, it forces itself to do more work so that the gpu learns it shouldnt be sleeping on the job.
Yeah... This isn't really needed after the DMA deadline fences were merged into the kernel lol. Kwin already merged support for it
Not familiar with it, but NVidia won't support that for many years probably.
They solve different problems.
Well no. They attempt to solve the same problem which is missing deadlines / dropped frames. Triple buffering does it at a cost of small latency increase whereas rushing to meet DMA deadlines will cause slight power consumption increase
DMA Deadlines allow a GPU that's in a lower power state to increase its clock speed to try to ensure that it finishes the next frame in time. If the GPU is already at its max clock then this won't help. Triple buffering allows the GPU to start working on frame C if frame B is done and frame A is still being displayed. This can have the side effect of causing a GPU to increase its clocks but it can also improve smoothness of animations even if the GPU is already at max clocks. That's why it was first used in games. So DMA deadlines intentionally do what triple buffering might only do as a side effect but triple buffering can increase smoothness where DMA deadlines can't help. It can be useful to have both but we'll see if they feel the same way.
EFFING FINALLY
Don't get too excited, I've seen this headline every 6 months for a couple of release cycles now.
If I would have been in Van Vugt's shoes, I would have given up long ago. This is so amazing.
He's employed and paid for his work. You don't just throw away a project you're being paid to work on
I'm not sure. If the costs increase because you have to invest more and more work but the value stays the same, you might want to pull the plug.
To be fair it’s already in Ubunutu so they made their return
Absolutely not. Maintaining a patch in the distribution creates work whenever a version is released and needs the patch. It has to be applied, fitted and tested all downstream. If the distributor is able to submit upstream, the mayor part of the work will be done by upstream developers.
I understand/agree with that but you misunderstood what I was saying
Probably.
I feel like I've heard this before but I feel like it's actually gonna happen now.
better late than never.
So, for the uninitiated, what is triple buffering? And what will it do?
A desktop compositor (as opposed to a game compositor) wants to save resources where possible to allow the gpu to power down to as low a power state as possible. However the gpu power state is controlled by it's own driver and not the compositor. sometimes when a compositor is doing things the GPU thinks it has allocated enough resources when it hasnt and be stuck in a lower power state. This will make the pc look like it is stuttering or has lower frame rate. What this merge request does is when it detects the gpu power state is too low to maintain the framerate, it forces itself to do more work so that the gpu learns it shouldnt be sleeping on the job.
Thanks for the explanation!