Originally posted by highlandsun
View Post
Announcement
Collapse
No announcement yet.
Gallium3D's Softpipe Driver Now Runs Faster
Collapse
X
-
-
Originally posted by nanonyme View PostHehe, you're probably right. With good enough low-level coders it could use a lot less system resources than it does. (not that nearly anyone does that low-level coding anyway anymore)
Secondary there will always be the dispute low-level versus high-level, as we move to higher and higher levels of abstraction. I can remember an uncle of mine disputing C++ and object-oriented programming in general, because of the performance lost - he had learned to think about memory with the requirements of his old Apple in mind.
I'm one of a last few of students in germany that will still be learning C(starting in 2 weeks), basically because I also signed up for embedded development, but aside from that it's Java and C++, and in some cases even C#(which I'm also going to have to learn - unholy :\ ). I'm not even sure if there is an option to learn more assembler than the usual "hey, it speeds up C".
Today I see C++-Developers bitching about Python and Java,(although Java certainly gained performance with the 6 series, I've even seen 3D done right with it). Tommorrow I will see the Java people bitch about the performance loss of OS-independent virtual machine scripting langs in the style of python or something like that.
Look at what KDE is doing today opening everything on the Desktop for scripting, signaling and remote controlling. Sure it will eat performance like it's nobodys business, and the Atari Kids will have a smile, but in the end, when the real use of things like remote-control desktop enviroment(which is not just VPN/SSH!), social desktop or context-sensitive applications hits, you'll see that none of this could have been made with C without driving everybody nuts.
Sure, within the X-Server or the Kernel it makes no sense or isn't even possible to switch to a high-level lang, but even if everybody knew C, there's still a world of hurt with the specifics of driver development.
Comment
-
Originally posted by nanonyme View PostIt's not just that... Even if you put modern coders to write Assembly, you'd still probably have at least as bloated code if not more. Most of the current generation of coders simply didn't learn to take everything and a bit more out of their computers.
So let's do this one again from the KDE-angle, because I use that: You could a)optimize the shit out of 3.5, a series with code already called unflexible and unmaintainable by tons of developers and third-parties. You could only barely introduce new features due to lack of manpower and code flexibility. In the end you have a rock-solid system with a feature-set equal of Windows XP in 2009.
or b)start all over, modernize your code and feature scripting to modern langs(aka the ones people use), introduce tons of features, while having releases that eat Ram and performance like crazy.
In the case of KDE b) was really the only option.
Comment
-
Originally posted by fabiank22 View PostToday I see C++-Developers bitching about Python and Java,(although Java certainly gained performance with the 6 series, I've even seen 3D done right with it). Tommorrow I will see the Java people bitch about the performance loss of OS-independent virtual machine scripting langs in the style of python or something like that.
You're right when you say that developers are hard to come by if you mean software project designers by that. Coders are cheap and you find them under every rock and bridge.
Comment
-
Originally posted by nanonyme View PostYou're right when you say that developers are hard to come by if you mean software project designers by that. Coders are cheap and you find them under every rock and bridge.
But even when people still had to go through assembler and compilers had about the intelligence of "Ugh, FORTRAN not compile, not know problem, ugh" things nevertheless weren't all good. We just changed from speed to feature, all the while gaining a lot of speed on hardware-basis. Just look at Linux back then: sure it was hand-optimized and fast and all that, but that didn't make people magically use it. No, features did. What we need isn't a Softpipe driver so optimized it could run Doom III(although I'm certain that would be possible in some way), we need features, features, features, and a little speed to keep up. Because (good) manpower isn't going to magically appear.
Comment
-
This has been one of the big debates in software engineering for at least 40 years. When programming languages were arcane and close to the metal there was a self-limiting effect such that only highly technical and detail-oriented people could write code in the first place.
A lot of effort has been made to simplify programming tools and lower the entry threshold for programming, allowing many more people to become effective programmers. This works as long as the highly technical folks are willing to focus their efforts on design, review and mentoring the new people rather than writing code themselves - that way "leaf" code may become inefficient but the overall design and "core" code of the major software projects can stay clean.
There has been some progress in this area (Linus doesn't code much these days) but we are probably only 30% of the way there.
In the meantime fast hardware and cheap memory *do* cover a multitude of sinsLast edited by bridgman; 24 September 2009, 11:33 AM.Test signature
Comment
-
Originally posted by whizse View PostYou have never tried software rendering in Mesa, have you?
Having said this, it's more due to trying to do precisely the OpenGL rendering pipeline in software, which is really something designed to have some semblance of a hardware assist. Having a softpipe that optimizes for a rendering pass and removes most of the un-used/redundant crap before it's attempted per frame would actually improve the speed quite a bit- much of the loss in speed is due to attempting to do the OpenGL 1.4 pipeline in it's entirety and trying to do the shader side without optimizations at all.
Joking aside, having a finely tuned software rendering option in Gallium would be very nice. Microsoft has shown that it doesn't have to be that slow: http://techreport.com/discussions.x/15968
Comment
-
Originally posted by fabiank22 View PostSure, within the X-Server or the Kernel it makes no sense or isn't even possible to switch to a high-level lang, but even if everybody knew C, there's still a world of hurt with the specifics of driver development.
Comment
-
Originally posted by Svartalf View PostNo kidding. It's not easy, even with something as "simple" as a network card. Worse, we're talking about modern GPUs, which are sophisticated stream processing engines as much as anything else. A supercomputer within your computer, as it were. They're not easy to drive poorly, let alone efficiently.
Comment
Comment