Windows vs. Linux On 3D Performance 256
Linux Games have posted this article about Windows VS Linux on 3D performace. They tested Quake III with Matrox G400, NVidia GeForce 256 DDR, and 3DFX Voodoo 3 3000 -- all with their latest drivers (both Linux drivers and Windows drivers). There are some interesting results, and even a few surprises. What do you think about the results?
statistics (Score:1)
Linux must beat Windows... (Score:2)
As someone else stated, this proves why he stays with Windows. Even though it is very close, it's not there yet.
Now, this isn't a flame of the driver writers, because (as was also previously stated), the windows people have had years to fine-tune their drivers for games under Windows. But with Linux being such a superior OS (we all know it), it should CRUSH Windows. IMHO, only then will it make a difference, not even being equal will match, because then people will still stick with Windows, because that's what they know.
There has to be a reason for the switch, to the hard-core gaming crowd, that slightly higher FPS could be the reason. The next question is, what about for the rest of the world? Do we want everyone and their grandmother to use Linux?
This is my
Re:Multitasking methods... (Score:1)
You can minimize the effects of this on a test by stopping all other programs. I.e. kill inetd, mail daemons and so on. True multitasking is not a problem when no other tasks run. This frees up some memory too.
Why does Linux lead in low res & not high res? (Score:1)
In our communication with NVIDIA, they've told us that at lower resolutions they're seeing Linux leading Windows.
Now, I'm not a linux guru, but it seems to me that Linux shouldn't be doing this, but rather the opposite, as its got less "crap" loaded/taking up memory/etc than Windows. ie) Shouldn't Linux go faster than windows when a heavier load is applied?
Or is this a direct result of the drivers (and their level of optimization)? Is it merely the drivers which are holding linux back in the performance field? Or are there other issues?
-=++=- Lord, grant me the serenity to accept the things I cannot change, the courage to change the things that I can, and the wisdom to hide the bodies of those people I had to kill because they pissed me off.
Re:Multitasking methods... (Score:1)
(essentially the X drivers let OpenGL functions act like system calls, rather than going through the X IPC mechanism like 2D drawing commands. On Windows *all* drawing is done this way) </I>
A self-contradiction. Using OpenGL system calls is not direct messing with hardware. It bypasses X for sure, so no networked display. But it still uses a system interface instead of accessing hardware.
This means OpenGL will work with any hardware as long as an OpenGL driver is provided for it. Using hardware directly would give you a game that works with one 3D-card only.
NT tasking (Score:1)
- Web browse in several windows at once
- Read email (with a bloaty client no less (OE))
- ICQ (with desktop floating enabled)
- Task manager
- SSH 2.0 client (often x2 or x3)
- GUI Chess client
- GUI IRC client
- Winamp
Sometimes, in addition to these, I:
- Play Quake 2 over Internet
- Compile in C++Builder (which uses 50mb of ram itself)
I used to, in addition to this, do:
- SETI@home (before I decided it was lame)
- GetRight (before I noticed how poorly coded it was and how much it hung)
I have a Celeron 300 and 96Mb of ram. I note that the total ram usage is sometimes well over 100Mb, but tasks which are idle get their display memory swapped out, and it is only slow when i switch back to a task that I have had minimised for some time (even if it was minimised and still doing stuff).
My current uptime is 11wks 4days 36mins 9secs.
Maybe this is a call to arms? (Score:1)
I'm sure there may have been a few different things similar to what I'm speaking in development, but none I know that have a great push behind them.
Also another issues that must be brought to attention... if companies are going to create these games, people must buy them. I don't condone paying for sometihng your not going to use, but I'd hate to see games being pirated from these companies that are starting to port games and create games from Linux.
Maybe I'm just a retard (I'm sure I'll have atleast 10 AC's reply that I am) but we desperately need development of a more game friendly API that would seperate itself from the OS in the fashion that DirectX does...
or maybe Linux needs something like MFC! (sarcasm!)
Re:How do apparent limitations of X-Windows impact (Score:3)
This makes the assumption that the X bashers know what they're talking about.
With DRI the 3d pipeline bypasses X. There is some resource usage by X for font/pixmap caches but it is negligible and wouldn't have caused the slowdowns seen here.
People just want a scapegoat and X happens to be the handiest thing to point a finger at. The real problem is that very few people understand X and even fewer people contribute to the XFree86 team.
There are people in XFree86 who are concerned with speed, and experiments done in the past have proven that XFree86 drives the cards as fast as they can possibly go. Performance problems are in most cases caused by lack of documentation about the cards acceleration features, not because X is getting in the way.
Remember, at it's heart XFree86 is an async-io synchronisation mechanism. Any windowing system needs a similar mechanism, be it locks or mutexes or message passing. Changing from one mechanism to another will not change performance, it simply moves the "bottleneck" somewhere else.
These didn't use DRI! (Score:1)
Re:Linux sucks on Games... (Score:1)
It is reimplementation of old ideas in , sometimes better and new , style.
Re:OS protection: does it hamper performance? (Score:1)
Re:that's a load of crap (Score:1)
I remember reading somewhere some stats about it...
Re:Linux sucks on Games... (Score:1)
Re:Kind of a pointless test (Score:1)
Actually, many are switching to Windows 2000 - especially when there's a 5-10% speed improvement in Quake3.
overhead that Linux or any multiuser OS with a good security model has.
Win2k's certainly better than 98 in that respect, yet it's quicker on less mature drivers.
--
qube http://www.quake3arena.co.uk [quake3arena.co.uk]
Re:Optimize (Score:1)
To be fair they should have tested on an Alpha as well.
Re:Windows is not even involved here. (Score:1)
Re:Define real work (Score:1)
FYI I have my active desktop on all the time, and use web view in explorer....
And also, Microsoft never forced it on you. IE4 setup asks you, IE5 doesn't even include it. And you can always turn it off...
Re:drivers (Score:1)
Not The Only use (Score:1)
"Patience is a virtue, afforded those with nothing better to do." - I don't remember
Re:Define real work (Score:1)
I don't think there is a person alive who would say they prefer win9x/nt4 active desktop to be on.
I did it once so that I could have different pics of Britney showing all the time, and be able to move them easily, but after it fucked up every 5 minutes I got sick of it.
Re:Windows is great (Score:1)
(*) I think this is, grammatically speaking, crap, but am trying it out to get a feel for it.
(**) The next new innovation?
Re:Which version? (Score:1)
Win2k comparisons are being done against Unix and Linux and all the rest that is out there.
Which version? (Score:1)
This flamebait will hopefully be marked down if moderation has any meaning at all, but...
Unix/Linux advocates better start realizing that Windows/2000 is pretty damn good. There are some compatability headaches, but it's been rock solid for me.
--
Bring Out Yer Dead! (Score:1)
Oh, but you will be soon.
Aureal management:I'm feeling better!
Anomalous: inconsistent with or deviating from what is usual, normal, or expected
Re:Define real work (Score:1)
OS's
Win2k:
At work1: twice, due to some soundcard driver fucking up.
work2: all the freakin time, it's some hardware issue.
Win98: a lot, i'm running a netshow server on one. about every 2 days i get a message about my soundcard driver bailing out. system is really slow. but nothing helps until a reboot.
Linux: i think once, but i can't remeber why.
FreeBSD: i few times while i was fucking around with trying to get some CD Burner working:
Microsoft Apps:
Office apps: nothing i can remember, but i don't use them much.
Visual Studio: InterDev, VB and VC++ die all the time. about twice a week
Explorer: (this is the shell for windows people). about once a week explorer dies. this doens't lose any data, i just have to restart it so it's not a biggy.
IE: i dono, 4 times a week. but i use it about 12 hours a day.
some reasons people may think NT/Win2k is unstable. NT can get into a very bad state when an app has gone south. this doesn't happen much, but you will know when windows are drawing and responding veeeery sloooowly. if you are patient enough to kill the bad app, things will go back to normal.
Also explorer does die a lot. this is the shell (i.e. the desktop, and startbar). this is no bigy as you can bring up the task manager and restart explorer. think of it as X crashing.
do i think *nix's are more stable then NT's? hell yes. do i think they are unstable usless OS's? hell no. my work enviorment is Win2k and FreeBSD. i use Win2k as my desktop and telnet into my *nix machines to do anything. I've used KDE, Gnome, Blackbox, etc.. and IMHO they are all slow, unreliable and inmature in comparsion to the Windows GUI.
-Jon
Re:Doesn't really say much except... (Score:1)
That's why all the relevant libraries are LGPL (or equivalent). Closed-source applications can use them.
Just wait. (Score:1)
Re:OS protection: does it hamper performance? (Score:1)
No, why in the world would you want to use a temp buffer when the PCI bus-master can see the entre 32-bit memory range?
Drivers for PCI bus masters generally tell the PCI device to transfer to/from some physical address range. The userland app gives the driver a pointer to virtual memory. The driver convert this to a physical address by looking it up in the page tables - which is dead easy.
The driver may also have to cope with how a contigous range of virtual pages are broken up into scattered physical pages. This may, in the worst possible case, break IO requests into 4k chunks. It is usually not that bad though, and modern hardware have ways to get around it anyway.
Note that none of this gives linux any disadvantage whatsoever, as windows too uses the page tables. Well, unless you are running windows 3.0 in "standard mode" that is...
Re:Wrong (Score:1)
Optimize (Score:2)
Someone go out, profile, find the critical path in x86 Mesa code and optimize it by handwritten assembly (using MMX, 3DNow! and SSE). See if you can decrease branching factor, make better use of modern L1 and L2 caches or reduce memory loads altogether and preload data from memory before actually using it.
Granted, portability is gone after that, but it's performance that matters, eh?
Hey, don't look at me! :)
Re:Multitasking methods... (Score:1)
It's well and good that you are a windows fan, but I think you should apply some sense and moderation to your posts. You are just as much a FUD zealot for windows as most
Re:Linux sucks on Games... (Score:1)
Re:Why does Linux lead in low res & not high res? (Score:1)
I recall playing Q2 and sometimes noticing that it was a little jerky, and then realizing that I forgot to close SETI@home.
So it definitely doesn't make things unplayable - just introduces two tasks that both want full cpu.
Re:Linux must beat Windows... (Score:1)
Not so. This would be true if gaming was the *one* reason to use linux. It isn't. Linux users usually choose linux for reasons other than gaming, although they too may enjoy a game now and then. This is definitely possible with linux today.
Linux has some advantages over windows even when using games. Stability is one - you don't ever reboot because a buggy game crashed. You simply restart the game, and this happens lightning fast because most of it is still in disk cache.
Stability also means I can play cpu/screen intensive games while waiting for a 2-hour download to complete. The high network load will not slow down the game, and the cpu-intensive game won't slow down the download. Windows couldn't do this reliably years ago when I switched. I don't know about windows today, but you don't want to restart or delay a long download when paying per minute. And it is *so* irritating leaving the machine alone for a long while "just to be safe". That doesn't cut it once you're used to never ever worrying about what else the machine is doing.
And if communications isn't a problem, have you tried playing all sorts of games while waiting for a CD-burn to complete? Without worrying about crashes/delays ruining the CD?
LGPL... kay, thanks for the info (Score:1)
Re:PS rules for games! (Score:1)
4 player split screen on one machine, and 8 players online. (assuming you're hosting it on a DC, and not connecting elsewhere... in that case it's limited by the server)
How Linux can get into the game market (Score:2)
---
Re:Windows is not even involved here. (Score:1)
Makes sense to me.
Re:My conclusion (Score:3)
Not really - all the tested X drivers use direct-to-hardware rendering, same as Windows. If the apps were run through the X socket, you'd see linux at more like 5% of windows performance instead of 90% =).
That said, X is really showing its age. IMHO network transparency is neat but not necessary at all for 99.9% of users. I'm sick and tired of crappy, jittery 2D on linux - perhaps the solution is pure client-only rendering. Those that need apps over the net can use VNC.
Well not exactly... (Score:1)
DOS 6.0 actually could run in partially protected mode 32bit code using DPMI and EMM386.EXE. The code ran in virtual 86 mode(similar to how DOSEMU works BTW), and the kernel, if you could call pre Win95/98 system files that, also ran in real mode.
DOS 7.0 and above provide system calls to ease the entrance into 32 bit protected mode, and then the graphical user interface kernel takes over. After entering this Mode DOS 7 STILL provides a couple of system services. (Take a look at some of Microsoft's books on System Device Drivers programming if you don't believe me, or Caldera's online files involving their recent case.)
In Win95/98 you get a strange mix of protected mode and virtual 86 mode drivers, which don't always like to play nice, especially dealling with older or flakey hardware that doesn't like newer drivers. (I remember having to use DOS mode drivers for my 2x cdrom, when Win95 just came out.)
It was actually possible to run 32 bit programs in Win 3.1, using Win32s, (if anyone ever remembers doing such a thing, I used to use PovRAY like that).
Win 95/98 don't provide the same level of protection that Linux provides while running in protected mode. So even though the processor is in protected mode, you are running programs with VERY high levels of hardware access, compared to their linux conterparts.) Which is probably what the original poster was talking about. An OpenGL app in linux has to go through something like:
Linux Kernel < XFree86 < OpenGL < Program
NT4 and W2K have a completely different infratructure than Win 95/98, which is the reason why NT4 had little to no DirectX support. Microsoft couldn't make drivers designed to live so close to the hardware, without severely sacrificing in other areas.) OpenGL and NT4 work very nicely together as I recall, and OpenGL cards will thrive in NT4. (Half-Life is a good example.)
So, it would be much fairer to compare W2k or NT4 to Linux than Win95/98 to Linux.
Re:Define flamebait and taking the bait. (Score:1)
By the time that I've logged into my Windows (NT) box, I have nearly 50 processes running including:
MP3.com Beam-It, Creative SB software, McAffee, PPPoE client services, RAS software, SETI@home, WinFax, Yahoo Messenger, PGP, Norton CrashGuard (!!!
When I start working, I will add multiple MS VC++'s, JBuilder 3 Enterprise, some Java processes, MS VSS, SQL Server 7, Query Analuzer, IE, Netscape, Outlook, bash, VPN connections, IIS, ISAPI extensions using DCOM, Word, Excel, pcAnywhere (hosting and connections to multiple servers), MSDN, NT Explorer, Emacs (including gnuclient), Rational Rose, Real Player, DVD player software, etc - all of the apps that I need whilst working for a DVD/internet company.
If I want to take a break, do I close them all down? No - I just go and play Quake 3 on top of all that. Do I reboot a lot? No. Does it crash a lot? No. Do I think that a lot of Linux advocates who claim NT crashes a lot know what they're talking about? No. Can Linux be unstable or in a state requires rebooting? Of course!... I played around with the Sound Blaster live stuff a while ago. I managed to hang the computer a few times. I was forced to reboot many times as sometimes I couldn't unload the module, and other times I couldn't insmod it again.
Don't tell me that Windows is unstable and that you cannot do a lot of things simultaneous without effecting the OS. It's just not true. I've been developing software under NT for some time and I can leave the machine up and running for long periods of time without rebooting.
Re:Windows is not even involved here. (Score:1)
In some respects it already does. However, some of the documentation on how to use the high speed interfaces in XFree86 and Linux are a little sparse so it is possible that some people aren't aware of what's available.
For example, DGA 2.0 in XFree86 4.0 provides similar services to DirectX 2D. You can have framebuffers mapped directly into your client. No X encoding/decoding overhead for images. In effect a direct rendering infrastructure for 2D.
Then there's XVideo which provides services for registering video sources. This will assist applications working on video playback.
DRI now provides a 3D pipeline which matches (perhaps exceeds) Direct3D for the quality of the pipeline, and does it with clean OpenGL.
Some of these services are only new, or have changed since the XFree86 3.3 days, but the base is there to work with, so go use it.
People should keep in mind that Linux wasn't all that fast when it came out either. Do people remember the awful IDE performance? Or that 1.0 sucked wind through a straw for networking? Even SCSI performance was pretty bad until 2.0.
XFree86 needs people to work on it and make it better too. There are lots of areas that can be improved, or better documented, and applications need to be modified to exploit the new faster code in XFree86 4.0.
What isn't needed is a lot of complainers, or people who think that starting again is the best way to fix things (and then repeating all the same old mistakes that XFree86 has already been through and solved).
Hey! (Score:1)
Re:How do apparent limitations of X-Windows impact (Score:1)
Reading A New Rendering Model For X [slashdot.org] it appears, that without bashing X the feature set could be improved. However the bypassing of X for the 3d pipeline was the main feature I was interested in.
tangent - art and creation are a higher purpose
Re:Kind of a pointless test (Score:1)
Not that I can blame them, that bloated motherfucker is nearly $400 a copy here.
Re:My conclusion (Score:1)
1) Buy yourself a matrox G400 card or something as powerful. You can't easily do X on an S3 Trio 3d or similar chipsets. 32bit colour in high resolutions are very nice on the Matrox G400.
2) Get a PS/2 mouse and use it instead of a serial mouse. Serial mice don't seem to get enough updates under X and cause window moving and scrollbar fiddling to be slow and clunky. This is the most important part, Do Not Use A Serial Mouse In X.
3) If you want an extra blast of performace, install and use Xfree 4.0. Xfree 4.0 is much faster than Xfree 3.3.X, but isn't as compatible with strange hardware as Xfree 3.3.X
So there you have it, 3 steps to decent X performace. It won't be as good as windows, but it isn't far off.
Re:These Stats are Not Up to Date! (Score:2)
The differences between XF3.3x+Mesa+Glide and XF4.0+DRI are:
open source directx.. (Score:1)
Re:Windows is not even involved here. (Score:1)
Re:How do apparent limitations of X-Windows impact (Score:2)
This I entirely agree with. The font handling in X11 is an absolute joke; a relic of ideas and limitations of the 80s which certainly shouldn't be holding us back these days.
It's a great thing Keith is working on making fonts better for XFree86. He is a very smart guy and if there's anyone that can fix the font mess in X, he's the one to do it.
But keep in mind that limitations in X are in almost all cases fixed through extensions. Good examples are XInput, or DGA, or GLX, or DPS. Not a single one of these features was planned for when X was written, but now you can seamlessly support all these features in your programs.
I'm particularly impressed with DPS which now gives XFree86 users the equivalent of Macintosh's QuickDraw. Print quality rendering on the desktop and at amazingly high speed too.
Or GLX which gives us an OpenGL implementation that is simultaneously a direct renderer (when it is possible), an indirect renderer (if you don't have permissions to directly access the hardware) and a network renderer (providing X's extremely useful network transparency), all automatically sorted out at runtime.
Or DGA which gives you direct access straight to the framebuffer, but with the benefit of still being able to use XAA for hardware accelerated blits and fills and the like. This makes DGA much better than SVGALIB for 2D graphics.
Keith may eventually produce something like an XFree86-Font extension, or XFree86-AntiAlias. It is an exciting time to be using XFree86. It's all getting better, and faster, and wonderful things are being done. It's always sad to see people who harp on the few bad things in X rather than look at all the great improvements that are being made and developed.
XFree86 problems can be solved, but not if you sit on your laurels and complain.
There's more to 3D than just games. (Score:2)
However, people are becoming frustrated with NT, and longing for the stability/flexibility they had with their IRIX based systems. Major animation houses are now moving to Linux, at least for rendering. Maya has its renderer ported to Linux already, and houses that write their own software are porting to Linux also. (I've spoken to people from two major houses who said, "we're giving up on NT.") But, on the actual interactive end, where 3D performance counts, the major packages have not yet been ported, (though the houses may be porting their in-house packages.) So... much of the discussion of Linux for 3D animation users is, "Will, or when will, enough packages port to Linux so that we can use it instead of NT?" Also, "Will we have the level of OpenGL performance we need for these applications?" It's good to see the gaming article, because, attention to 3D that helps the gamers winds up helping the animators too, but I would like to see more articles addressing these aspects of 3D Linux performance.
Re:Which version? (Score:2)
These Stats are Not Up to Date! (Score:2)
XFree 4.0 which _has_ been released, supports DRI (Direct Rendering Infrastructure) which lets you have direct access to the graphics hardware giving a _big_ improvement over XFree 3.X's older archecture.
Now, it is still a bit of a pain to set up, and you can't run Quake or Quake II (only Quake III) under it, but it gives _awesome_ performance. Have they bothered to try this, they would have found Linux KICKS WINDOWS ASS.
Check 3dfx's linux website, source forge, and XFree for more info...
Windows is not even involved here. (Score:4)
Wrong (Score:5)
It's a shame you can't mod and post in the same story; I'd like to be able to both negate the "insightful" rating and explain why it's BS.
Take a look at the drivers they used. Not a one of them sends data over the X pipe. The X server basically is there to say, "yeah, you can bang directly on the hardware" and then get out of the way.
If they were sending data over the X pipe, you'd definitely know it. 3D hardware acceleration is often bandwidth limited; you could get up to a 50% drop in framerate without direct rendering. Smart design would reduce this problem, but I still suspect you'd see 70% optimal framerate, max... and in the LinuxGames tests, 70% was the worst case, not the best.
What was the best case? 99% framerate. This suggests to me that it's not idle processes or the kernel hogging CPU, it's not any weirdness from X or kswapd... it's just that some drivers are better than others. And right now, it looks like Windows drivers are 5% to 40% better than Linux drivers. Frankly, since Windows sales are 500% to 40000% better than Linux sales, I'm not complaining about driver quality.
I am surprised to see the 3Dfx drivers do so poorly, though. Isn't anyone helping out Daryll Strauss now that we've got source code available?
But of course, just how much can you trust the benchmarks? They ran it on one game, using a particular configuration, for a specific kernel.
Well, aside from the usual difficulties, there was one special case; the Matrox testing was done using full OpenGL drivers under Linux and a specific Quake 3 "TurboGL" driver under Windows; TurboGL drivers are Matrox's OpenGL subsets designed to run one game per DLL. In fact, the TurboGL driver postdates the Linux Mesa drivers; at one time (and probably still) the Linux implementation was significantly faster than the full Matrox OpenGL.
Re:Measure of Support not Performance - Excuses (Score:3)
So if things were different they wouldn't be the same. Go figure. & Linux will improve over time. Oh my gosh, what a revelation.
You're saying that this isn't a comparison of the OS. I think the article was pretty straight forward in saying that it was just comparing Windows vs. Linux 3D Performance in Q3A. Do we really need to give Linux a hug and say "Don't worry that doesn't really matter because it will get better in the future." and make excuses every time someone points out a short coming?
Linux comes up short when comparing Windows vs. Linux 3D Performance in Q3A. Accept it and help provide suggestions in improving things or move on. Excuses doesn't make Linux any better.
I don't mean to be hyper critical here. I hear allot of "Well windows has lots of developers." or "Well windows has X or Y." and such statements when Linux comes up short in certain areas. In the end that doesn't help anything, in fact Linux does do poorly in these tests. I refer to the last line in the Linux Advocacy how to.
http://howto.tucows.com/LDP/HOWTO/mini/Advocacy
Re:This benchmark was VERY poorly done.. (Score:3)
The IIRC the 3.3.6 X-driver used DGA (and so was full screen only). As a result it is entirely possible that it should be as fast as the DRI solution, or faster if the DRI implementation is not yet as well optimised.
So I am quite prepared to believe that the DRI implementation could be *slower* than the older version at the moment.
Defending my Honor. (Score:2)
Many thanks to those who noticed this, and pointed out the details of the way windows works with DOS.
Thanks also to those who actually READ THE ARTICLE. [linuxgames.com]
Just use both (Score:2)
I use Windows when I want to play games or do any real work (despite StarOffice's attempts, it's nowhere near Word). When I need to program in C++ or just browse the internet, I use Linux.
In addition, I'd love to know what version of Windows you guys are running. I've been running Windows 98 SE solidly for over 4 weeks, with no need to reboot. I like the concept of having a crashless operating system, but is it really required for the average user? I don't mind a crash here and there, if it affords me extra affordiability and solid support (MS's Technet section of their website is the most comprehensive I've seen by any software developer).
And to those who say "Well, Windows 98 SE rarely crashes because it's Windows 98 Second Edition, the latest in a long string of upgrades", all I have to say is: "What about Linux?" Doesn't anyone remember the almost hourly crashes of the first few point releases (it took 2 years to get anything close to stable).
Re:Multitasking methods... (Score:2)
If you have a dual NT workstation, I'll bet it beats the pants off Win98. 95/98 is usually faster than NT on equivalent hardware (though I can't vouch for Win2K speed), but it takes NT to take advantage of a second CPU. Running Win98 on a dual workstation will leave half your clocks playing pinochle.
Re:Which version? (Score:2)
Until the suspend mode started to give BSODs...
Re:could somebody explain to me (Score:2)
Re:Win2k out performing win98 (WHATEVER!) (Score:2)
Re:Doesn't really say much except... (Score:2)
Re:Windows is not even involved here. (Score:2)
While I love the GUS as much as the next guy (I have two!) I am not aware of there being this level of support for Linux. Maybe in the ALSA drivers? Linux only has support for one program to have the sound device opened at a time, making those 32 channels go to waste, and I am not aware of an app that can take advantage of the onboard RAM for samples (except for XMP), even MIDI doesn't work (AFAIK you have to use TiMidity which is a software GUS emulator!!). The GUS has the most support with old DOS games and MOD players (the Windows driver was abandoned before DirectSound support could be added). Many moons ago I asked Gravis to opensource their drivers but they refused, probably some third party code or something.
You just haven't played Doom or System Shock if you haven't heard the crystal clear, hardware accelerated audio from a GUS. I keep an old (mid '80s) NEC 386-16 w/1.5MB RAM around to play MODs. It can play 8 channels of 44khz 16bit audio with waveform displays for each channel, crystal clear. Only now do mainstream cards offer multiple, hardware buffered, channels and downloadable samples that the GUS had 10 years ago.
Re:open source directx.. (Score:2)
Re:Wrong (Score:2)
Re:Windows is not even involved here. (Score:2)
Linux's default sound driver allows direct access. mmap("dev/dsp"). There is no need for DirectX.
OK, imagine Windows is a thick forest. You are a programmer, and somewhere in this thick forest is your destination. There are several winding dirt pathways that you could take to get there, but you obviously can't go very fast on such pathways. So, the government of this forest (Microsoft) realizes that they need to improve the trasportation around here. So, they build a bunch of multi-lane super-highways that are perfectly stait and had no speed limit (DirectX). Now you can get where you need to go fast and efficiently. Everyone is happy.
What about Linux? Well, with Linux, there is no forest, and you don't have to go anywhere. You are already there.
Disclaimer: This basically applies to everything except for X. To fix the X problem, we have the new direct-rendering stuff. As you can see, nVidia's beta Linux drivers were able to almost match their Windows' couterparts' performance, so it is clearly quite possible for Linux to match Windows' speed. For everything non-graphical, Linux does not need a "DirectX" because it already gives you direct access to the hardware.
------
open "sores" in defense of Linux (Score:2)
I'm amazed at how quickly people jump to the defense of Linux by saying it has more overhead, and doesn't let the game have total system control. I thought Windows was huge and bloated! I thought it could never be as efficient as Linux, in terms of CPU time given to an application -vs- OS overhead. I read that distributed.net clients ran faster in Linux than Windows! This reminds me of the Mindcraft scenario, where noone could live up to Linux having a flaw. (In that case, the IP stack)
That having been said, the lesson we need to fess up to is that if Linux is to compete on the desktop, development in these areas needs to progress. Microsoft is behind in servers, and reliability. Linux is behind on the desktop. Both are working toward improving in the strengths of the other.
Business can prioritize, attack, and resolve. Open source must do the same. If we continue to cop-out the problem will not be solved, and open source will get a scar for being unwilling(not unable) to see the big picture.
Re:Windows is not even involved here. (Score:2)
Re:Windows is not even involved here. (Score:2)
Re:Windows is not even involved here. (Score:2)
Re:Windows is not even involved here. (Score:2)
PS: Repeat after me, SDL is not a full-fledged media system. It is merely a wrapper API for native high-performance APIs. Also, DirectX does not preclude OpenGL. It merely keeps you from using DirectDraw. In addition, SDL graphics functions don't work with OpenGL either. This is a big difference compared to D3D where you can render into a hardware buffer, directly write in it with DirectDraw, and use the whole thing as a source texture for some 3D object.
Re:Inherent performance limitations for 3D? (Score:5)
Under Windows you're drivers can talk near directly to the hardware, and their are less layers of protection slowing things down. Under Linux, their are more layers of protection between the hardware and the drivers, not to mention things have to talk more directly to a windowing system like X.
This means that in general linux games, etc.. will be more stable than their Windows equivalents, and if they crash, again in general, your system should be able to survive. (Even if you have to telnet in and reboot.)
Here's where DRI and XFree 4.0 come in. With DRI a driver can talk much more directly to the hardware, and generally speed things up, and provide more features.
So in Windows you get a slight speed increase in drivers at the sacrifice of stability. Of course, anything dealing with hardware/drivers can cause complete system lockups, its just less likely in Windows than in Linux.
A better comparison would be either Linux to NT 4.0, or Linux with XFree 4.0 to Windows 2000.
As it stands, you can get a nice idea of the slowdown by the GeForce drivers, which are ownly slightly faster in Windows than in linux. Of other note, is that the drivers in Linux are not optimized for games, as the article brought out several times. It would be VERY interesting to see some Linux vs. NT/2000 benchmarks in workstation operations(cad/design/etc...)
Re:Windows is not even involved here. (Score:2)
Re:Windows is not even involved here. (Score:2)
Re:Windows is not even involved here. (Score:2)
Re:Multitasking methods... (Score:3)
This is so completely wrong, how the hell did it get modded up? Windows isn't based on dos any more then Linux is because of Dosemu and lodlin.com. The only reason the system boots in dos mode (in win9x) is for compatibility sake. In fact, this no longer happens in WinME.
And as far as taking over your system, it simply doesn't happen. The game can take over your screen with directX, and use a Realtime priority thread if it wants to hog the CPU, but it probably doesn't. This is no different then what happens in Linux. Win32 programs don't use DOS at all, that's why they run on NT and 2000, witch don't use DOS code at all.
Is it so hard for people to know what they're talking about before doing so?
Performance of Linux vs Windows (Score:3)
An ostensibly fill limited benchmark will not reveal any disparity beyond state issues in the hardware. The geometry performance is not going to be significantly different in a software implementation of T&L provided there is at least a moderate effort by the vendor to support instruction sets like SSE or 3DNow on Linux.
What will be really telling in future is the difference between dispatch mechanisms & kernel level support for graphics when we get some heavy duty T&L support and a benchmark which exercises it. This will become significant for many games and is already significant for 'serious' 3D applications.
You are simply not going to get anything near parity unless we can persuade Cox & Torvalds that 3D is important enough to distribute the kinds of kernel hacks needed for efficient 3D support. Right now they are intransigent and have even lambasted 3D experts like Jon Leech in public over kernel support issues. In addition we'll need to remain flexible about driver implementation frameworks we want to support. Something like the DRI is OK now but when you need to send 15 million triangles a second to the graphics card it's not going to cut it.
Unfortunately Linux currently does not give anything near parity with hardware T&L. Even with an excellent driver implementation and the best will in the world it cannot and it may not for some time to come.
Re:Kind of a pointless test (Score:2)
--
Re:Windows is not even involved here. (Score:2)
Most importantly, breaking the abstraction layer provided by the OS makes games and other applications dependant on actual hardware details. This is bad, this is going back to the bad old DOS days.
Secondly Linux is well written. Using its abstractions exacts at worst a near negligable speed penalty (unless your app is coded in a brain-dead manner, such as calling write() with one byte every time). Doing thing the right time is not going to slow things down enough to take away from the enjoyment of a game. Unless you really can tell the difference between 100 FPS and 99 FPS.
Kind of a pointless test (Score:2)
--
Re:Windows is not even involved here. (Score:2)
Tux the Stud (Score:3)
--
Let's not all suck at the same time please
There is no single Windows (Score:2)
As for Linux being such a superior OS -- that must be compared on an issue-to-issue basis. It's true for some, not true for others (usability).
A little bit less generalization, please.
If all's good, there won't be any Windows twenty years from now and nothing left to argue. And yes, I want everyone to use Linux because then my family will use it and I will be able keep everyone from deleting important system files.
This benchmark was VERY poorly done.. (Score:2)
Re:Windows is not even involved here. (Score:2)
I think OpenAL [openal.org] might be the 3D sound device API/subsystem were waiting for.
Inherent performance limitations for 3D? (Score:2)
Are there reasons why one would expect slightly better 3D performance under Windows than Linux, given drivers that are about equally optimized on each system? I'm interested to know if we should expect to match or even beat Windows 3D performance, or if 95% is about the best that can be done. If 95% is the best we can do, that's quite alright so long as we have good reasons (e.g. solid design, stability). I've always believed it's good to sacrifice a bit of performance to keep things manageable for software people, and stable for end-users.
Re:Linux sucks on Games... (Score:2)
linux wasn't invented to take on windows. Linux was invented Just Because.
90% isn't "poorly"... (Score:2)
There is a type of FUD called "exaggerating differences", where a small % advantage for one platform or another is turned into a big deal. Let's not engage in FUD here.
-E
Re:Measure of Support not Performance (Score:2)
The conclusion of this article was that performance under Linux is "comparable" - not good enough. When people are prepared to overclock systems or spend hundreds on a video card alone to get the most out of their gaming, 88-99% as fast as windows just isn't an option. Linux has to get BETTER than windows or forget it - the gamer market needs a compelling reason to switch, and for those guys the only compelling reason is MORE FPS. In fact Linux has a disadvantage to overcome - most games are not even available. Can't wait for Terminus!
"Does Windows performance really blow away Linux performance?" So far.
Win2k out performing win98 (WHATEVER!) (Score:2)
Re:Define real work (Score:2)
Re:Kind of a pointless test (Score:2)
Re:Windows is not even involved here. (Score:3)
Quake3 uses OpenGL for 3D video, so it's not a matter of Linux vs. DirectX.
As for sound, they turned that off.
Aureal is dead, btw.
There's SDL for Linux, which offers the same services (sans 3D) than DirectX does. Luckily it allows the use of OpenGL with it.
As for the operating system effecting the game, this is a matter of drivers, stacks, etc.
This is what they were comparing; the performance between drivers for these 3D cards.
The performance of 3D graphics has little to do with Linux's technical merit, given that it's not in the business of 3D graphics. As for the X servers, they're limited by technical information, and time. Given the time scale, the Utah GLX people have done an amazing job.
Not the latest drivers (Score:2)
In the article, they complained about the nVidia drivers being unstable, and they suggested that this bug would be fixed if the drivers were open. But then they said that they were not using the latest drivers due to "issues" with Q3A.
I am using the latest drivers. There are no "issues". They work perfectly. What's more, the instability they mentioned WAS FIXED (mostly) in the newer drivers. Supposedly, there is still an occasional crash, but I have tried to make it happen with no success.
------
Measure of Support not Performance (Score:5)
As Linux grows because of its capabilities in other areas and its openness, it will gain market share, and the disparity between the two will decrease. Just give it time
---
Re:Wrong (Score:2)
I believe this [geocrawler.com] answers your question.
Basically, no.
Re:Needed: SMP support. (Score:2)
It's not just a 40% boost in the framerate that makes Q3 under NT better. When the action gets really heavy, the framerate does not drop anywhere near as drastically as it does in uni-processor mode. So here's a request for more SMP support in games that can benefit, and more stable drivers from nVidia (original drivers for my GeForce caused NT to lock up a lot, newer drivers - 3.72 - just cause Q3 to crash a lot).
My conclusion (Score:2)
The more interesting question, IMHO, is the reason behind the good performace of the Matrox G400 and Nvidia, compared to 3dfx. The Nvidia card's performance is due to vendor tweaking, hence the close performance measurements. The Matrox G400, I think, is due to the wide popularity of the card, detailed vendor specs, and - dar I say - the wide use by the XFree86 team. 3dfx had a greater discrepancy becuase it is an older card and developers have lost interest, perhaps?
But of course, just how much can you trust the benchmarks? They ran it on one game, using a particular configuration, for a specific kernel. How can one generalize the results? I just have to wonder ...