|
|
Log in / Subscribe / Register

The same discussion again and again...

The same discussion again and again...

Posted Nov 5, 2011 10:11 UTC (Sat) by ikm (guest, #493)
In reply to: The same discussion again and again... by khim
Parent article: Rawhide gets GNOME Shell for all display types

> For a lot of operations we are talking about 10x-20x savings. You can do 3-5 times more "work" and still save power.

I miss the times when showing doodads on screen wasn't considered "work".

> Then you are screwed. End of story.

I think this summarizes this whole topic quite nicely.


to post comments

The same discussion again and again...

Posted Nov 5, 2011 14:34 UTC (Sat) by tialaramex (subscriber, #21167) [Link] (3 responses)

I never liked trying to interpret the rows of little bulbs. Everything after that has involved doodads on screens, so I think I have to disagree there.

A lot of people seem obsessed with the idea that OpenGL is specifically about 3D, as if that was somehow in contrast to 2D rather than a superset. But it isn't. These devices accelerate arbitrary vector drawing operations, to them 2D is merely a specific chosen value in one matrix. It's as though we got upset because someone introduced CPUs which do floating point, bemoaning the loss of the "good old days" when CPUs only did integer arithmetic.

[ Somewhere between when I first used it, and today, Linux got rid of its 8087 floating point emulation, implementing all the crazy features of the genuine Intel part using integer operations. I can't say I miss it ]

What is being referred to here as "2D accelerations" was actually more or less the Windows GDI operations embedded into hardware. For every operation that you might still have some use for today (say, a blit) there were a dozen more that are useless (e.g. render Windows bitmap font glyph). None of it generalises, unlike OpenGL. So we definitely don't want that "back" in the sense that we ever had it on non-Windows systems.

The same discussion again and again...

Posted Nov 5, 2011 18:54 UTC (Sat) by drag (guest, #31333) [Link] (1 responses)

> A lot of people seem obsessed with the idea that OpenGL is specifically about 3D, as if that was somehow in contrast to 2D rather than a superset. But it isn't. These devices accelerate arbitrary vector drawing operations, to them 2D is merely a specific chosen value in one matrix. It's as though we got upset because someone introduced CPUs which do floating point, bemoaning the loss of the "good old days" when CPUs only did integer arithmetic.

Pretty much.

To Elaborate:

...in terms of 'consumer desktop' hardware:

Back in the 'bad old days' you only had 2D acceleration. People wanted fast text drawing and games were all 2D. So video card providers created chipsets that accelerated 2D operations.

The next step was when 3D games first started coming out and people wanted those to be faster. At that point pretty much all effort to improve 2D only performance ceased completely.

Years after the first generation 3D acceleration video hardware came out you would still be able to find 2D acceleration engines. These 2D chipsets were just about the same as they were 2-3 hardware generations ago. All development halted years ago and this hardware hung around purely for the sake of old software compatibility. It was 'fast enough' and 2D performance was no longer something that customers gave any thought to.

Fast forward to today:

Nowadays there is no such thing as 2D chipsets. All that hardware is completely almost thing of the past. Some retrograde hardware may still have some vestiges of 2D-only acceleration, but they just really obsolete in the worst way (ie. Via chipsets).

3D acceleration is increasingly becoming a misnomer. It's effectively gone 365 degrees and now we are back to software.

What we are left with is GPUs. General purpose processor units designed for accelerating the sort of fuctions commonly used by graphics programmers. All 'hardware acceleration' means is that instead of just using the CPU to process your applications (software acceleration) your software now runs on both your GPU and your CPU.

So.....

What this means is that the amount of work required to get good 2D acceleration out of GPUs is just about the same amount of work required to get 3D acceleration out of GPUs.

That is you are not saving yourself any effort on the lower stacks by denying yourself the use of 3D APIs.

And since OpenGL acceleration is something that needs to be stable and functionally present on a modern desktop then... there is really no good reason NOT to use OpenGL, except that maybe you prefer other APIs for personal reasons or whatever.

The same discussion again and again...

Posted Nov 5, 2011 19:46 UTC (Sat) by ovitters (guest, #27950) [Link]

In addition: I do still see some issues with drivers (nvidia one). But just a bug that should be fixed in nvidia/gnome-shell/mutter/X/elsewhere. Not a design bug.

The same discussion again and again...

Posted Nov 9, 2011 13:37 UTC (Wed) by nix (subscriber, #2304) [Link]

[ Somewhere between when I first used it, and today, Linux got rid of its 8087 floating point emulation, implementing all the crazy features of the genuine Intel part using integer operations. I can't say I miss it ]
I was just digging through arch/x86/math-emu yesterday. It's still there, as is CONFIG_MATH_EMULATION.


Copyright © 2026, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds