Tue, 05 Dec 2000 winterlion wrote:
Just to forwarn : this message/reply is a bit of a rant about bad press
about linux.
Does anyone else have an answer to question 1 (below)? I was not looking
for a yes/no answer.
Mail convention is to quote relevant lines and reply under it, so:
- Are their any disadvantages to SDL under Linux over SDL with
Windows/DirectX
SDL under Linux disadvantages?
streaming audio more complicated. (actually works better though)
OpenGL a little harder to program. (same)
threading is mandatory.
Huh? Isn’t it always, in any kind of RT system, as long as you do any serious
processing?
I -do- reccomend working with hardware supported by XF86/4.0 DGA
and unless you’re purely 2D ignoring fbcon/svgalib.
(personally I’m strictly fbcon unless -forced- to use XF86, say
by OpenGL)
In my case, the most solid 3D solution currently seems to be Utah-GLX, which
only works on XFree86 3.3.x… But indeed, for s/w rendering, 4.0.x is a lot
faster, and fbcon is even faster than that. (However, we still have some way to
go before we can match the sysRAM -> VRAM “blitting” speed of DirectX. DMA
support is required for that.)
SDL under Windows versus DirectX/Windows?
About the only thing I suspect here is that as Windows/OpenGL
tends to be somewhat buggy and unreliable compared to Direct3D
and SDL doesn’t really encourage Direct3D, I’m guessing that
use here is a little more complicated…
Dunno really… As to Windows games, it seems that the Direct3D ones are having
about as much trouble running correctly as the OpenGL ones.
Besides, the OpenGL games tend to work on WinNT as well as 95/98/ME, which is
not possible with Direct3D games. That is, OpenGL is more portable, even accross
Windows platforms.
Windows has support for more hardware than Linux (including X11,
fbcon, svgalib). There is also evidence from people on the list that
DirectX can be faster for 2D graphics than anything that SDL supports.
(Windows also seems to have faster OpenGL drivers than Linux, and this
is not likely to change in the near future for obvious reasons)
There are also advantages to using Linux over Windows for SDL
Well I -must- comment here. I cannot resist
This is NOT true for all situations. What I’ve found is that when opengl
is properly hardware accelerated with good drivers, linux opengl is
considerably superior to either windows opengl or even windows directx.
I don’t know about superior, but I can’t say that anything’s missing in the
OpenGL games I’ve played on Linux…
But I do get a sense that there is considerable less stalls and skips on
Linux than on Windows. That may or may not be because I’m running lowlatency
patched kernels. (Sub ms worst case scheduling latency for SCHED_FIFO threads,
improved scheduling for the entire system. Seems to speed up multiprocessor
servers in some cases as well - no doing that kind of stuff myself, though.)
I won’t argue the 2D graphics though - SDL is still somewhat lacking here
although it has quite good blitting code. Not that I use it though
It’s a driver design issue - DMA is the only way to get fast VRAM "access"
these days, and no Linux drivers do it, AFAIK. Unfortunately, every person who
would/could hack this in (myself included) seems to have other priorities…
I will -not- consider nVidia’s hardware to be properly supported under
linux.
Right; I was just reading some posts on the RTLinux thread, regarding these
closed source drivers. This should illustrate why drivers should not be closed
source…
They’re using hard STI/CLI in the open source part (which can be fixed), and
possibly in the closed part (which would be very serious…), which basically
means that the RTL IRQ and scheduling latencies are totally f*cked up…
IIRC, the latencies that have been observed in RTL with these drivers are in
the “several ms” range, which means Linux/lowlatency would suffer greatly as
well.
The conclusion has to be that we’d better get cards from serious vendors,
instead of messing around with this kind of stuff. This is especially important
for Linux, as many GNU/Linux users consider full control a very important reason
to use this platform.
My primary experience is with 3dfx hardware though.
3dfx hardware is -not- as stable, efficient or -fast- under windows as it
is under linux. AFAIK this is true for Matrox as well and I wouldn’t be
particularily surprised if ATI followed this as well.
I haven’t done any serious benchmarking myself, but the average of benchmarks on
the Matrox G400 indicates that Utah-GLX on XFree86 3.3.6 is just a few percent
slower than the Windows driver. In some cases it beats Windows…
Oh, and it never blows you system sky high, as the Windows drivers do
occasionally, especially with buggy games. Never even had an X crash with this
driver. This seems to be about as rock solid as it gets.
And I have no shortage of hardware that Windows does -not- support.
And there’s some hardware around with worthless Windows drivers, but excellent
Linux drivers. (Apart from the simple fact that Free/Open Linux drivers are
inherently more useful than Windows drivers, at least to developers and
embeded/turnkey systems designers.)
Linux on the flip side does not have as much support for bleading-edge
windows-oriented hardware such as nVidia’s chips. I’ve found no lack
outside of that.
Right. All but the single most popular OS will inherently have that problem in
any real world scenario. It has to be that way, as hardware designers are
hardly going to release their specs before driver for that OS has been released.
Now, some vendors are still too stupid/nervous/paranoid/… to release any
specs at all, which is a shame when they’re building good hardware…
btw -> the 3dfx/XF86-4.0 drivers are a -lot- more stable and reliable than
the windows/3dfx drivers for some reason. Also more accelerated. This is
pretty much hard to prove by me at the moment other than hrm I found that
when a 3D accelerated game ran under wine under linux it was more stable
and cleaner than under windows…
this makes my whole comment rather biased due to ummm unprovability (I
canna figure out how to prove at the moment) but hrm I’ll take Linux/GL
over Windows/GL anytime. DirectX -is- more stable under windows than
OpenGL/windows though.
I’m not so sure about that. It does seem that the DirectX drivers are usually
more solid than the OpenGL ones, but OTOH, DirectX is incredibly good at
blowing your system to pieces if a game does something stupid…
//David
…- M A I A -------------------------------------------------.
| Multimedia Application Integration Architecture |
| A Free/Open Source Plugin API for Professional Multimedia |
----------------------> http://www.linuxaudiodev.com/maia -' ..- David Olofson -------------------------------------------. | Audio Hacker - Open Source Advocate - Singer - Songwriter |
--------------------------------------> david at linuxdj.com -’> On Tue, 5 Dec 2000, Mattias Engdegard wrote: