Hardware Based XRender Slower than Software Rendering?
Neon Spiral Injector writes "Rasterman of Enlightenment fame has finally updated the news page of his personal site. It seems that the behind the scenes work for E is coming along. He is investigating rendering backends for Evas. The default backend is a software renderer written by Raster. Trying to gain a little more speed he ported it to the XRender extension, only to find that it became 20-50 times slower on his NVidia card. He has placed some sample code on this same news page for people to try, and see if this is also experienced on other setups."
Oh how I agree with that statement.
Recently my motherboard died of bad caps, so decided to splash out on an nvidia motherboard. Damn thing had crap all linux support. I don't know if it was the m/b manufacturer (MSI), or nvidia chipsets in general, but:
USB didn't work (even under windows w/ or w/o nvidia special drivers), actually, the worked, but very rarely.
Onboard Sound didn't work under linux (w/ nvidia special binary only drivers)
Onboard network card, (again needed nvidia binary only drivers), didn't work.
And the damn thing crashed often.
I didn't know about the mem=nopentium trick, and would have tried it, but I sent the board back to my supplier with, "tried it, won't work, won't buy, won't recommend". They didn't put up much protest.
I stick with the via chipsets. Sure they aren't supported by via for linux (atleast, not in any real way, they do have drivers, but they are binary only, and don't work). The opensource drivers work damn well. Infact, I suspect, better than the manufacturers binary only (provided you can get them to work).
Then again, thats just for my home pc, which I cheap out on. For any server, I just stick with IBM parts. damn things just plain well WORK!
I use to have a funny sig, but slash cut it off, and I forgot what the punchline was.
How is our OS supposed to be worth using if its not better than theirs?
The average user does not judge better by how secure or stable it is, the judge better by how it looks, how smooth and easy to use it is, and how much eye candy it has.
If you use Linux, please help development of Autopac
Just wondering, cause it is not enabled by default. If I'm not entirly wrong ', no X driver does hardware acceleration of the Render extension yet. Except the binary only nVidia driver. But since its hw accelerated Render extension is experimental it is not on by default.
" Option "RenderAccel" "boolean"
Enable or disable hardware acceleration of the RENDER
extension. THIS OPTION IS EXPERIMENTAL. ENABLE IT ATY OUR
OWN RISK. There is no correctness test suite for the
RENDER extension so NVIDIA can not verify that RENDER
acceleration works correctly. Default: hardware
acceleration of the RENDER extension is disabled.
"
The RenderAccel support in the NVIDIA drivers is not complete. That's why its disabled by default. From the benchmark results, it seems that Render wins when there is no scaling involved, and loses badly when there is scaling involved. This suggest an obvious answer --- scaling is not accelerated on the Render implementation on NVIDIA cards! As a result, when scaling is used, the card falls back on a software implementation that is obviously not as good as imlib2's very optimized software implementation. Now, why would NVIDIA bother with Render support if no scaling can be used? Because the only real user of Render at the moment is Xft, which uses it to composit AA text! Of course, the glyph bitmaps are not scaled, because that would reduce sharpness. So NVIDIA released a half-assed Render implementation (they do not, to be fair, that its incomplete, and disable it by default) so the common case of AA-text would get a speed-up!
A deep unwavering belief is a sure sign you're missing something...