Performance & symbols (fwd)

This is a mail I sent privately to Sam, and later forwarded upon his
request.---------- Forwarded message ----------
Date: Fri, 17 Apr 1998 22:35:20 +0200 (MET DST)
From: @Emil_Brink (Emil Brink)
To: Sam Lantinga
Subject: Performance & symbols

Hi! I noticed that the file libSDL.a in lib.win32/x86 in SDL-0.6f
seems to lack symbol information; I can’t compile against it. I
haven’t tried out the linker’s suggestion of running ranlib on it,
though. I have no memory of having to do that on 0.6e, so there’s
definitely something strange going on.

On a completely different hand, I’ve just gotten my main game engine
up and running under SDL! Big cheers from the audience!! :slight_smile: Un-
fortunately, performance is … disappointing. I just remembered why
I used to like writing against DirectDraw. It seems Windows users
are simply destined to get better gaming experience; currently my
engine manages about 15 fps under SDL/x11, whereas the original
(straight DirectDraw/Input) version easily managed 80-90 fps. :frowning: !

Realise that I’m not blaming you for anything here. I’m just being
shaken into reality, and not quite enjoying the experience. Hmmm.
Exactly how much acceleration does SDL use under X11? I guess “zip”;
is that necessarily so? Doesn’t X provide functionalty for blitting
pixmaps or what they call it? I know that XFree86 has some support
for my video board (a Matrox Millennium)…

/Emil

Realise that I’m not blaming you for anything here. I’m just being
shaken into reality, and not quite enjoying the experience. Hmmm.
Exactly how much acceleration does SDL use under X11? I guess “zip”;
is that necessarily so? Doesn’t X provide functionalty for blitting
pixmaps or what they call it? I know that XFree86 has some support
for my video board (a Matrox Millennium)…

Sitting at work here on my LinuxPPC running Xpmac, I realise that XF86
users have it good :slight_smile:

Basicly, if Sam is going to put in XF86 specifics in it, he might aswell
use DGA, which is XF86’s answer (question?) to DirectX.

For example:

Doing a purely unscientific test, I tested Xquake in a 640x480 window, and
compared the frame rate to XF86Quake (the DGA version) running in 640x480,
and XF86Quake kicked arse :slight_smile: (That’s an understatement :slight_smile:

Yes, XF86 has lots of acceleration functions (apart from DGA), but AFAIK,
they’re XF86 specific, and many people don’t use XF86. (And, not only
people who are scared of free software :slight_smile:

Michael Samuel,

Surf-Net City - Internet Cafe and Internet Service Providers
Phone: +61 3 9593-9977
E-Mail:
WWW: http://www.surfnetcity.com.au/~michael/On Sat, 18 Apr 1998, Emil Brink wrote:

Basicly, if Sam is going to put in XF86 specifics in it, he might aswell
use DGA, which is XF86’s answer (question?) to DirectX.

First, there are no XF86 specifics in SDL’s X11 front-end.
The same source used for Linux works on Solaris, and I suspect, on IRIX as well.

Second, DGA is nowhere near DirectX. It gives you, simply, direct video
memory access. That’s it. No fancy hardware acceleration hooks.
Fortunately, SDL doesn’t need any, but unfortunately, SDL can’t take advantage
of the hardware.

Now, my information is as of XFree86 3.1.1, so I could be wrong about the
latest version of XFree86.

See ya!
-Sam Lantinga (slouken at devolution.com)–
Author of Simple DirectMedia Layer -
http://www.devolution.com/~slouken/SDL/

Basicly, if Sam is going to put in XF86 specifics in it, he might aswell
use DGA, which is XF86’s answer (question?) to DirectX.

First, there are no XF86 specifics in SDL’s X11 front-end.

Heh… I know, otherwise we would’ve had even more of a helluvatime
porting it to LinuxPPC :slight_smile:

The same source used for Linux works on Solaris, and I suspect, on IRIX
as well.

Obviously. What about binary compatabilty?

For example, XF86 -> MetroX/AccelX

I don’t know much about this, but maybe somebody else does?

Second, DGA is nowhere near DirectX. It gives you, simply, direct video
memory access. That’s it. No fancy hardware acceleration hooks.
Fortunately, SDL doesn’t need any, but unfortunately, SDL can’t take advantage
of the hardware.

Well, Wine’s directX emulation uses DGA… So they’re close enough as far
as the end-user is concerned.

As for fancy acceleration stuff, who needs it? I bet that 99% of the VGA
cards out there only have ‘Windows Acceleration’, and anything that uses
them directly (apart from window environments) either A) uses the video
memory directly, or B) uses some ‘3D’ (note the quotes) accelleration.

Now, my information is as of XFree86 3.1.1, so I could be wrong about the
latest version of XFree86.

AFAIK, the only fixes to DGA since 3.1.1 is fixing a buffer overflow
exploit :slight_smile:

Michael Samuel,

Surf-Net City - Internet Cafe and Internet Service Providers
Phone: +61 3 9593-9977
E-Mail:
WWW: http://www.surfnetcity.com.au/~michael/On Fri, 17 Apr 1998, Sam Lantinga wrote:

On a completely different hand, I’ve just gotten my main game engine
up and running under SDL! Big cheers from the audience!! :slight_smile: Un-
fortunately, performance is … disappointing. I just remembered why
I used to like writing against DirectDraw. It seems Windows users
are simply destined to get better gaming experience; currently my
engine manages about 15 fps under SDL/x11, whereas the original
(straight DirectDraw/Input) version easily managed 80-90 fps. :frowning: !

How well did it perform under SVGAlib?

njhOn Sat, 18 Apr 1998, Emil Brink wrote:

Obviously. What about binary compatabilty?

For example, XF86 -> MetroX/AccelX

There aren’t really binary compatibility problems, since it’s really
a protocol that is being spoken. X11 client -> server protocol.

What happens is a program queries for the DGA extension, and if it
exists, it can use it… otherwise… :slight_smile:

As for fancy acceleration stuff, who needs it? I bet that 99% of the VGA
cards out there only have ‘Windows Acceleration’, and anything that uses
them directly (apart from window environments) either A) uses the video
memory directly, or B) uses some ‘3D’ (note the quotes) accelleration.

I won’t even touch that. :slight_smile:

See ya!
-Sam Lantinga (slouken at devolution.com)–
Author of Simple DirectMedia Layer -
http://www.devolution.com/~slouken/SDL/

michael> ist und schreibt am Sat, 18 Apr 1998 11:49:57 +1000 (EST):

The same source used for Linux works on Solaris, and I suspect, on IRIX
as well.

michael> Obviously. What about binary compatabilty?

michael> For example, XF86 -> MetroX/AccelX

The SDL X11 code and binaries is fine for XFree and Xaccel as fas I can see.

michael> I don’t know much about this, but maybe somebody else does?–
Freundliche Gr??e,
Best regards,

i.V. Michael H?hne

Sales Manager WorldCom
UUNET Sales Department

Mob.: [+49] 172/521-6104 UUNET Deutschland GmbH
Tel.: [+49] 231/972-1071 Emil-Figge-Stra?e 80
Fax.: [+49] 231/972-1122 44227 Dortmund, Germany
mailto:mich at de.uu.net http://www.uunet.de/

Sam Lantinga wrote:

Second, DGA is nowhere near DirectX. It gives you, simply, direct video
memory access. That’s it. No fancy hardware acceleration hooks.
Fortunately, SDL doesn’t need any, but unfortunately, SDL can’t take advantage
of the hardware.

Yeah its another newbie question :slight_smile: Can’t DGA make use of VBE/AF??? I
thought most of the newer
cards supported this standard.–
Hasse Schougaard
@Hasse_Schougaard

Yeah its another newbie question :slight_smile: Can’t DGA make use of VBE/AF??? I
thought most of the newer
cards supported this standard.

I don’t know…

See ya!
-Sam Lantinga (slouken at devolution.com)–
Author of Simple DirectMedia Layer -
http://www.devolution.com/~slouken/SDL/