Rasterman Responds To Seth And Havoc
An anonymous reader writes "Rasterman, of Enlightenment fame, has responded to Seth Nickell and Havoc Pennington's blog entries, which were in reference to this previous article. about Next gen X rendering. Raster says: 'Well it seems the XDevConf has produced some interesting blogs and discussion. I'm a bit sad I was not able to attend (no funding at all), as there seems to have begin a lot of discussion and moves in directions we in Enlightenment land have been going for years, and are likely far ahead in. I guess this means we haven't been able to share our experience in this. Maybe next year. Anyway the point is that this has started up some musings from Seth Nickell and Havoc Pennington related to this. This is great - finally people are beginning to take seriously what the Enlightenment crowd have been talking about for years.'" (Note: the previous post was about Nickell's post, not the other way around.)
http://www.osnews.com/comment.php?news_id=9791
has alot of responces from raster on this subject so its worth a read and there also seems to be some progress on the whole debate
Note: the previous post was about Nickell's post, not the other way around.
Ah, thanks for qualifying this. Now it is about as clear as a galaxy full of dark matter.
Anyone else think this article sounded a bit more superhero than it turned out to be?
"Rasterman Responds To Seth And Havoc"
RasterMan, defender of good finally reengages his age old enemies Seth, and his evil master Havoc.
There's nothing Intelligent about Intelligent Design.
Tuesday, 22 February 2005
:) He mentions "A sophisticated drawing layer" (read his blog for the full text). We have that - Evas. it can accelerate via OpenGL, it's got a FAST software renderer. It can render to the Linux Framebuffer. It can render to memory. It can render using DirectFB. It can render using *GASP* ... Cairo! It can display in Qtopia. We can add new engines for new targets with little effort. Evas scales down to rendering at usable speeds on embedded devices (100-600Mhz ARM CPU's, limited RAM etc.). He discusses a toolkit that aggressively takes advantage of this - we have been working on EWL and Edje. Edje is a lower layer theme/layout system, with EWL being a full widget set on top of this, giving you whiz-bang themes with widget layout built on top of an Evas canvas with everything punting down to the rendering layer at the bottom there. We are doing our own Window Manager - and the day Xrender stops sucking, we will add compositing to it too - re-using all the layers we already have to do this. We have a low level acceleration mechanism (OpenGL) but its too unstable for use IMHO. This is a problem that needs fixing and is something that needs to be addressed.
:) Hundreds of snowflakes driving down the screen... E17 has a toy module for just this... and flames to burn them up as they hit the bottom of the screen. All with glorious alpha blending. He speaks of animated background desktops with things like grass blowing in the breeze - We do that already in E17. The desktop BG is an Edje file - and thus is capable of all the animation and effects Edje and Evas offer. In fact take a look at the following 2 video files (they are jerky because xvidcap is jerky and thats just how it is - in real life they are smooth as a babies bottom - you just have to see these things "live" to believe it. Also note - this has NO hardware acceleration. I am hoping one day to have acceleration available that is good enough for production use).
Enlightenment the experimental toolkit
Well it seems the XDevConf has produced some interesting blogs and discussion. I'm a bit sad I was not able to attend (no funding at all), as there seems to have begin a lot of discussion and moves in directions we in Enlightenment land have been going for years, and are likely far ahead in. I guess this means we haven't been able to share our experience in this. Maybe next year. Anyway the point is that this has started up some musings from Seth Nickell and Havoc Pennington related to this. This is great - finally people are beginning to take seriously what the Enlightenment crowd have been talking about for years.
What I'll go into is some of the things Seth and Havoc talk about that we have already done and are well under way or very mature. Things we have advocated for years and have already solved - quite optimally. Our designs are forward-looking and just WAITING for drivers to catch up and stop "sucking". I could write essays about the many ways to address this issue alone (XRender), but I won't go there this time. I've been there before.
First let me talk about Seth's blog. He discusses "Next-Generation Rendering For the Free Desktop". This is great. this is just what we need... oh wait. it's just what we've been DOING for years!
Now he goes on to say what this will enable: "Toolkit themes that draw with layer blending effects" - Done. EWL, Evas, Edje. "Indiana Jones buttons that puff out smoothly and animated clouds of smoke when you click on them". OK - we don't have the smoke - but we have all the animation, glinting in the light, fading, glowing, sliding, etc. etc. etc. We have an entire engine devoted to just this (Edje), a theme description language, compiler, scripting engine, compressed theme format usable "live" without installation etc. He goes on to talk of "Alpha transparency whenever you want" - Done. Evas. Live window thumbnails - XRender has to improve something WICKED for this to be sane.
files/e17_movie-02.avi
files/e17_mov
You, sir, are a magnificent bastard and a glorious ass.
It only sounds resentful if you are looking for resentment. It is a simple matter of fact -- he could not afford it as he and his project are not funded.
Another fact: his lack of funding is contrasted by the fact that others, who are only now investingating issues he has already implemented are well funded.
It is what it is -- factual. So keep your "you got what you asked for" attitude to yourself, thank-you very much.
That's part of the problem. While Raster's done a magnificent job -- and frankly, it's pretty mind-blowing -- he's completely not concerned about backwards compatibility regarding toolsets. Again, what he's done is amazing but it's basically a canvas, not a traditional toolkit.
The OSS GUI world is so deeply rooted in Qt/KDE and GTK+/Gnome that there's no chance at *all* that people will adopt his APIs for the next gen display system.
Red Hat's people are concerned with achieving this kind of stuff without too deeply breaking source compatibility. If they can pull that off, my hat's off to them.
That said, red hat's people can learn a *lot* by working with Raster. Clearly, his code is fast, and his technical design's good. But the model is likely inapplicable to traditional widget toolkits.
lorem ipsum, dolor sit amet
Frankly, I don't think there _is_ a speed issue with X11. There are performance issues on XFree86/XOrg with some (many) drivers, AFAIK mostly due to limited developer time and limited access to hardware. The fact that the current software RENDER implementation is not signficantly optimised, and few drivers implement RENDER hardware acceleration, does not help.
Working on my NVidia equpped box here (GeForce Ti, nvidia drivers, but for 2D 'nv' is almost as good) X is much snappier than I usually find WinXP to be. Turning on RENDER acceleration has helped a lot.
I'm sure folks will bring up the "because of the network" myth up here, so let's get this straight - any slowness in X is not because of network support. Go ask Keith Packard, I'm pretty sure he's been rather clear on the matter more than once. My personal, very much non-expert understanding is that most performance issues peope experience are due to limited hardware acceleration and inferior drivers.
If you don't believe me about how much difference the hardware and drivers make, go find an S3 based system, preferably S3 Trio32/S3 Trio64, and compare it to a PCI-based (to keep it fair) NVidia GeForce 4 MX on the same hardware. It's like they're two totally different computers - the change is jaw-dropping. I use thin clients a lot, so I care strongly about video performance and tend to notice these things.
It's also worth noting that hopefully many of these plans will lead indirectly to performance improvements, by making RENDER acceleration and RENDER optimisation pretty much mandatory.
Rasterman left Redhat because he felt noone there really followed his vision of an X desktop. Here we are years later and we've come full circle. Now, many (if not most) users in the community are looking for highly customizable desktop eyecandy and Gnome, KDE, and Xorg are all out there trying to deliver on what Rasterman was doing 3 years ago.
X. Is not. Network Based.
Not on the local machine. For local displays it doesn't use any networking at all. It uses UNIX pipes which are very fast and also DRI (Direct Rendering Interface) to talk directly to the video hardware.
I wish this myth would disappear. X only uses networking when using it over a network.
University - a box of academia nuts.
You sir, are full of crap.
... and that's an EET that was designed to push the limits of what Evas/Edje can do. With GL acceleration that falls to 10-15%.
Let's see here...
The effects usually look professional, but they run slow and inefficiently
Evas is up to 150 times faster than XRender in plain software mode (with no hardware acceleration) at rendering images. In fact, we often prefer running in software mode than in GL mode because it's more stable and often works better. This is the wrongest statement I've ever heard in my life. Have you ever seen Engage? It does the OSX docker effect absolutely smoothly even on a relatively slow CPU and the crappiest of video cards. That complex, multi-layered animated background you see in the video runs on my system smoothly while taking less than 40% CPU
However, enlightenment is way too layered and has a million different little components... I just personally think it could all be implemented better.
So you think it would be better if we had one big monolithic, inflexible library that was full of bugs? Or you're one of those people who think that somehow the EFL is slower because it's componentized -- even though it beats the crap out of anything comparable that exists performance-wise? How does "consolidated" translate into "scalable", anyway, Mr. professor of software engineering?
This technology is there, it has been carefully thought out, solidly and cleanly implemented. Go take a look at the code/API yourself before you begin to comment. It is usable NOW, and you don't need to wait until E17 is released before you can use it. None of those things you see in the videos are simulated, that is presently working software available to anyone who wants to install it.
Am I a hipster-doofus?