Advertisement

Linux graphics handling is idiotic

Started by September 01, 2003 11:08 PM
26 comments, last by CoffeeMug 21 years, 2 months ago
quote: Original post by C-Junkie
"Nobody" notices the above problem since on local machines its blindingly fast. (and "nobody" uses the network stuff, right?)


err... I am, right now, while I am typing this.



[ Start Here ! | How To Ask Smart Questions | Recommended C++ Books | C++ FAQ Lite | Function Ptrs | CppTips Archive ]
[ Header Files | File Format Docs | LNK2001 | C++ STL Doc | STLPort | Free C++ IDE | Boost C++ Lib | MSVC6 Lib Fixes ]
"Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." — Brian W. Kernighan
quote: Original post by C-Junkie
"Nobody" notices the above problem since on local machines its blindingly fast. (and "nobody" uses the network stuff, right?)

A technologically superior mechanism is already in place and it's called RPC. Whenever you wish to use a networked model you replace all functions by stubs that do appropriate initialization and marshalling. This way you don't have to pay for networking if you don't want to and you will have it if you do. Modern programming frameworks do this for you automatically. I don't understand why the linux scene is stuck behind the times still using C and a twenty year old networking model.

Note, I am not flaming the linux people. I use linux myself and want to see it improved.

[edited by - CoffeeMug on September 4, 2003 11:58:53 AM]
Advertisement
quote: Original post by CoffeeMug
A technologically superior mechanism is already in place and it''s called RPC. <snip>


Linux has RPC.

quote:
I don''t understand why the linux scene is stuck behind the times still using C and a twenty year old networking model.


Using C? You are free to use what bloody language you want! If your complaint is that parts of the operating system and its components are written in C, then guess what - that is the case in most other operating systems as well, including windows.

As for ''networking model'', X wasn''t actually designed to be used over a network, but it turned out that the X protocol was so well designed that it would work. So they added that.

quote:
Note, I am not flaming the linux people. I use linux myself and want to see it improved.


Well you''re right about not flaming, this is more like trolling.
quote: Original post by CoffeeMug
quote: Original post by Doc
What do you want, it handed to you on a plate?

Because I intend to introduce improvements to their project without asking for anything in return?

Don''t forget that much of their work is also volunteered.

Image loads when I''m online!The following statement is true. The previous statement is false.
Shameless promotion:
FreePop: The GPL Populous II clone.
My stuff.Shameless promotion: FreePop: The GPL god-sim.
quote: 2) Drivers. This is the huge, vast, cover-all-complaints problem with XFree86. "Nobody" notices the above problem since on local machines its blindingly fast. (and "nobody" uses the network stuff, right?) What they do notice is that quake 4 runs with 1 fps. The problem is that card manufacturers don''t like to write open source drivers for their cards.


nVidia has good Linux drivers since years and ATi just finished a reasonable one. They are not open source, but I don''t see a problem with that.
quote: Original post by CoffeeMug
A technologically superior mechanism is already in place and it''s called RPC.


That''s what X does, but it does it faster. I don''t see how RPC would solve the problem anyway: clients and servers will still have to communicate.


quote:
Whenever you wish to use a networked model you replace all functions by stubs that do appropriate initialization and marshalling. This way you don''t have to pay for networking if you don''t want to and you will have it if you do.


X uses shared memory locally, that''s zero network traffic. If the network is required, then it will use its RPC mechanism transparently.


quote:
Modern programming frameworks do this for you automatically.


I guess Xlibs is very modern.


quote:
I don''t understand why the linux scene is stuck behind the times still using C and a twenty year old networking model.


So X is too slow but shouldn''t be written in C? What would you suggest?

Most OSes and even libraries are still mostly written in C. FORTRAN is still used for number crunching, Lisp is also used a lot in fault tolerant, concurrent, distributed systems (like air traffic control). Algol is still one of the most used languages in the AI field (with Scheme at the MIT, I guess). FORTRAN and Lisp are 50 years old, and Algol is 30 years old. All of them have evolved over time, and so has C.

FWIW, TCP/IP and virtual memory are very old, much older than X. Would you suggest that we get rid of them?


Hope this helps.
Advertisement
Quote: As for 'networking model', X wasn't actually designed to be used over a network, but it turned out that the X protocol was so well designed that it would work. So they added that.

I was under the impression, that the original X was hacked together at some university specifically for being networkable. However the X standards weren't all that very well thought out even back then, and as a result X is a little bit kludgy.

If you don't like X, you can try out Fresco. It looks pretty neat, but its not ready for prime-time yet.
http://www.fresco.org/


[edited by - wildcorn on September 5, 2003 3:47:05 AM]
X is on it''s 11th major revision. What purpose(s) the original version may or may not have had is essentially irrelevant now.
---New infokeeps brain running;must gas up!

This topic is closed to new replies.

Advertisement