VOGONS

Common searches


Perception of speed

Topic actions

First post, by snorg

User metadata
Rank Oldbie
Rank
Oldbie

So if a raspberry pi is about as fast as a Pentium II 300....why does it not feel as fast? Is it because I've been spoiled by modern machines? Code bloat? It certainly does not feel as fast as a PII 300 felt back then. For instance, I'd have a hard time using a bog standard raspberry pi model B/B+ as a desktop, but I had no problem using a PII 300 as a desktop back in the day. Is it a disk access thing? Internet? Something else?

Reply 3 of 26, by leileilol

User metadata
Rank l33t++
Rank
l33t++

I'd assume common *nix libs are bloated with a high memory footprint for the sake of security, hampering the slow CPUs. More buffer overflow checks than optimized functionality to keep the Debian list happy. Should be no different than watching Doom crawl in DamnSmallLinux on a Pentium.

Supposedly the GPU is supposed to overcome the CPU performance with specially optimized games for GLES, though GLES isn't perfect for everything. That Q3 port is much slower than running Q3 on a P2-300 with W98+V2, especially with Q3's inefficient use of textures. (and OA is much, much worse in that regard - another lesson learned the hard way)

apsosig.png
long live PCem

Reply 4 of 26, by gdjacobs

User metadata
Rank l33t++
Rank
l33t++
leileilol wrote:

I'd assume common *nix libs are bloated with a high memory footprint for the sake of security, hampering the slow CPUs. More buffer overflow checks than optimized functionality to keep the Debian list happy. Should be no different than watching Doom crawl in DamnSmallLinux on a Pentium.

Supposedly the GPU is supposed to overcome the CPU performance with specially optimized games for GLES, though GLES isn't perfect for everything. That Q3 port is much slower than running Q3 on a P2-300 with W98+V2, especially with Q3's inefficient use of textures. (and OA is much, much worse in that regard - another lesson learned the hard way)

Hmm... DOOM was quite quick on a P90 running Slackware, but that was 15 years ago running SVGAlib so it was essentially direct access to the hardware. X11 is a known speed problem as it was designed back in the 80s and never intended for the performance now being asked of it. Extensions like RENDER and GLX help but don't totally make up the difference.

As for libs being bloated, some are, some aren't. Fortunately it's Linux so you can choose. Darwinism at work, folks.

All hail the Great Capacitor Brand Finder

Reply 5 of 26, by keenmaster486

User metadata
Rank l33t
Rank
l33t

Some of the speed perceptions, especially in the GUI, might have to do with the fact that the SD card reads much slower than a hard drive.
Somebody should do various benchmarks on the new Pi 3 and see how it compares to various x86 machines.
Does anyone think it the slower DOOM might also be because that game was highly optimized for x86 systems with VGA, direct HW access, hardware paging, optimized Pentium instructions, etc.?
Should benchmarks be run on a bare-bones UNIX, Linux, or RISCOS system or something like that?

World's foremost 486 enjoyer.

Reply 6 of 26, by Scali

User metadata
Rank l33t
Rank
l33t
keenmaster486 wrote:

Does anyone think it the slower DOOM might also be because that game was highly optimized for x86 systems with VGA, direct HW access, hardware paging, optimized Pentium instructions, etc.?

Pretty much yes.
Quake was a landmark in game development and Pentium-based optimization in general, and DOOM was an exercise in optimizing a raycaster for 486 and Mode X.
A lot of tricks rely directly on how the Pentium CPU and FPU work down to the instruction pipeline level, and graphics-wise you depend on VGA's unique Mode X memory layout.
Just taking a vanilla C-version of the DOOM code, and compiling it for a vanilla linear framebuffer will result in a much slower version of DOOM than the original release.
Even so, properly optimized C-code should easily run 3d code efficiently on an ARM CPU as fast as a Raspberry PI.
I wrote the 3d routines for a GP2X demo a few years back: https://youtu.be/qTgCE_TN6qw
This runs on a simple ARM CPU at 240 MHz, with no FPU and no 3d acceleration. I used no assembly optimizations here, it's just standard C, compiled with GCC.
If you can make it do that, then certainly you should be able to make a Raspberry PI run Quake 3 properly, making use of its GPU.

Last edited by Scali on 2016-06-29, 13:10. Edited 1 time in total.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 7 of 26, by konc

User metadata
Rank l33t
Rank
l33t
snorg wrote:

So if a raspberry pi is about as fast as a Pentium II 300....why does it not feel as fast? Is it because I've been spoiled by modern machines? Code bloat? It certainly does not feel as fast as a PII 300 felt back then. For instance, I'd have a hard time using a bog standard raspberry pi model B/B+ as a desktop, but I had no problem using a PII 300 as a desktop back in the day. Is it a disk access thing? Internet? Something else?

I see what you mean. For me it all comes down to this: try using now a PII 300 with modern software (as you do with the Pi) and I think you'll find it even worse.
The PII back then felt so fast because 1)It was running software of its period and 2)it was among the fastest systems available. Now the Pi that you mentioned as an example still runs period correct software, but is nowhere near the fastest available systems. Modern fast systems, even though they deal with a lot more, do feel equally fast as the PII back then, don't they?

Reply 8 of 26, by ynari

User metadata
Rank Member
Rank
Member

My main retro PC is a PII 300. It's plenty fast for DOS and quite fast for OS/2, but I wouldn't call it lightning fast for modern Unixes. Whilst software will still run on those systems, it's no longer optimised for them - the memory footprint in particular will be higher, and they'll expect a graphics card with a reasonable throughput (possibly not an issue if using AGP, but if using PCI...)

Reply 10 of 26, by keenmaster486

User metadata
Rank l33t
Rank
l33t

Amen. We need a DOSBox benchmark thread for non-x86 systems such as the Pi.
DOSBox used to run at little more than bare 8088 speed on my 1st gen Pi. Haven't tried it on the newer ones. There should be ways to optimize DOSBox for Pi, though.

World's foremost 486 enjoyer.

Reply 11 of 26, by clueless1

User metadata
Rank l33t
Rank
l33t

It's not the hardware; it's the software. Case in point: I have a Dell Dimension P3-933. I first tried a very light linux distro on it (antiX) and it felt extremely sluggish in the GUI. Then I put Win98SE on it and it felt like I was running an i7 with an SSD. The difference? modern software vs retro software.

The more I learn, the more I realize how much I don't know.
OPL3 FM vs. Roland MT-32 vs. General MIDI DOS Game Comparison
Let's benchmark our systems with cache disabled
DOS PCI Graphics Card Benchmarks

Reply 12 of 26, by gdjacobs

User metadata
Rank l33t++
Rank
l33t++

If you use an older Linux release, you'll probably notice that it's quick as well. Software grows to fill hardware capability.

All hail the Great Capacitor Brand Finder

Reply 13 of 26, by idspispopd

User metadata
Rank Oldbie
Rank
Oldbie
Scali wrote:
Pretty much yes. DOOM was a landmark in game development and Pentium-based optimization in general. A lot of tricks rely directl […]
Show full quote
keenmaster486 wrote:

Does anyone think it the slower DOOM might also be because that game was highly optimized for x86 systems with VGA, direct HW access, hardware paging, optimized Pentium instructions, etc.?

Pretty much yes.
DOOM was a landmark in game development and Pentium-based optimization in general.
A lot of tricks rely directly on how the Pentium CPU and FPU work down to the instruction pipeline level, and graphics-wise you depend on VGA's unique Mode X memory layout.

Is it possible that you are thinking of Quake, or even mixing Doom and Quake?
Quake was the first id game which used the FPU and was optimized for Pentium CPUs. It can use VESA modes though.
Doom was optimized for 386/486, and it used Mode Y.

Reply 15 of 26, by Scali

User metadata
Rank l33t
Rank
l33t

Yup, should have been Quake, not Doom, obviously... will fix 😀
I see what happened there. I wanted to talk about both games, but I guess I got distracted, and then lumped the two together.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 16 of 26, by idspispopd

User metadata
Rank Oldbie
Rank
Oldbie
spiroyster wrote:

486 = Doom & Descent
Pentium = Quake

🤣, Intel could have used that for a punchline upon the pentium release.

How? Do you think Quake was developed before the release of the Pentium?

@Scali: Thanks, I didn't doubt your knowledge.

Reply 17 of 26, by Scali

User metadata
Rank l33t
Rank
l33t
idspispopd wrote:

How? Do you think Quake was developed before the release of the Pentium?

Haha, in fact, not even Doom and Descent were around when the Pentium was launched 😀

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 18 of 26, by spiroyster

User metadata
Rank Oldbie
Rank
Oldbie
idspispopd wrote:
spiroyster wrote:

486 = Doom & Descent
Pentium = Quake

🤣, Intel could have used that for a punchline upon the pentium release.

How? Do you think Quake was developed before the release of the Pentium?

How what? I Didn't think Quake was written before the release of the Pentium. I have no idea tbh, so I certainly couldn't put a specific release date to it. I didn't even know Quake was optimised for the Pentium until your post 😉.

It was a tongue and cheek joke about a hypothetical Intel marketing campaign which didn't occur in which Intel could claim their older 486 could give you the impression of Doom (literal translation) and Descent (going doooown), where as the improved Pentium could give the impression of a (((Quake))) big impact.

iirc, I played descent on a 386... so I could expand on my non-funny joke (If in deed that memory is correct).

386 = Descent (starting to go down)
486 = Doom (all boring, no MMX)
Pentium = Quake (Boom! there it is ... SIMD)

Since I had to explain it, it was clearly not very funny, so for that I apologise. 🙁

Reply 19 of 26, by Scali

User metadata
Rank l33t
Rank
l33t

Actually, classic Pentium did not have any SIMD, and Quake does not make use of it.
Pentium MMX was the first x86 with SIMD extensions (Pentium Pro also did not have it, the Pentium II is basically a 'Pentium Pro MMX').
Quake is optimized for the pipelined x87 of the Pentium.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/