VOGONS


ATI Graphics Solution

Topic actions

Reply 60 of 127, by Scali

User metadata
Rank l33t
Rank
l33t
Grzyb wrote:

That's why I insist on some real-world software, not just some synthetic flatshaded polyfillers.

You try to sound 'scientific', but completely miss the point:
Firstly, flatshaded polyfillers are very much used in real-world software, obviously. There are tons of flight sims, racing sims etc, which are based entirely on flatshaded polys (F29 Retaliator, F-14 Tomcat, Chuck Yeager's Air Combat, LHA Attack Chopper, Falcon, Test Drive 3, Indycar, Stunts etc).
Secondly, the point I am making is not about real-world vs synthetic. It is about how different types of rendering may suit different hardware.

Grzyb wrote:

And I think Doom would be a good example: it's been around for decades, source code is available, and it's been hacked by countless people.

Not for the question you posed, which is:

How does the video memory layout affect performance in 3D games?

As I tried to explain, there are various different types of 3D rendering. DOOM just uses one very specific algorithm.
Somehow you seem to disqualify flatshaded polyfillers as 3D rendering/3D games.
Which to me means that under your fake guise of 'scientificness', you merely are biased towards PCs/VGA, and are only interested in examples that support your biased view.
The way you completely dismissed Cyberwolf, because it doesn't support your idea that Amigas can't do Wolf3D-style games, is a perfect example of your cognitive dissonance. The way you completely dismissed flatshaded polyfillers is another.

Perhaps it would be best to forget about the PC at all, and consider the following: - Amiga with AGA (bitplanes) - the same Amig […]
Show full quote

Perhaps it would be best to forget about the PC at all, and consider the following:
- Amiga with AGA (bitplanes)
- the same Amiga with some SVGA card, using mode X (byteplanes)
- the same Amiga with the same SVGA card, using mode 13h (chunky)

So, which would win?

As I already said: it depends on what exactly you're doing. Some algorithms suit bitplanes best, others suit chunky best. In some cases it doesn't really matter. Mode X is a weird in-between mode, which is basically never the optimal way. It was mainly used to get around limitations of mode 13h, as I already said. Mode X also has limitations, but in this specific case, it was a better compromise than mode 13h. If these limitations did not exist (like with later linear framebuffer videomodes), mode 13h would always be better.

If you were to rotate the world sideways, then the Amiga hardware can perform the required scaling for a raycaster entirely in hardware. This effect was used in Sanity's World of Commodore demo in 1992:
https://youtu.be/u43uH-kQpzk?t=207

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

Reply 61 of 127, by Grzyb

User metadata
Rank Oldbie
Rank
Oldbie
Scali wrote:

you merely are biased towards PCs/VGA

Am I biased towards PC? Well, possibly.
Are you biased towards Amiga? DEFINITELY!

The way you completely dismissed Cyberwolf, because it doesn't support your idea that Amigas can't do Wolf3D-style games, is a perfect example of your cognitive dissonance.

I dismissed Cyberwolf because it works on just one specific hardware platform.
How can I compare various platforms (or just various video memory layouts) with such software?
Again, Cyberwolf is not Wolfenstein, eg. it doesn't use 256-color mode, does it?

I understand that various video solutions work best with various algorithms.
But, for comparision of said video solutions, I demand that all those algorithms produce identical output.

Some algorithms suit bitplanes best, others suit chunky best.

If these limitations did not exist (like with later linear framebuffer videomodes), mode 13h would always be better.

Wait... you seem contradicting yourself.
Perhaps we should discuss four video memory layouts, then:
- bitplanes, like AGA
- byteplanes, like VGA mode X
- chunky with single video page, like VGA mode 13h
- chunky with multiple video pages, like later SVGA

Out of the above, the last one should always be the best for typical 3D games, right?

Żywotwór planetarny, jego gnijące błoto, jest świtem egzystencji, fazą wstępną, i wyłoni się z krwawych ciastomózgowych miedź miłująca...

Reply 62 of 127, by Scali

User metadata
Rank l33t
Rank
l33t
Grzyb wrote:

Are you biased towards Amiga? DEFINITELY!

Oh really? And why is that? Because I can name disadvantages and advantages of both platforms, where you expected only disadvantages for the Amiga?
Well, if you read my blogs, you'll find I've spent plenty of time optimizing 3d routines on both platforms, so I don't think 'bias' has much to do with it. It's more about having experience and understanding of both, where it seems that most people can't seem to get their head around the concept of bitplanes.

Grzyb wrote:

I dismissed Cyberwolf because it works on just one specific hardware platform.

I thought you just wanted to know:

How does the video memory layout affect performance in 3D games?

Well, Cyberwolf is a 3D raycaster game running on a bitplane-oriented memory layout. So I think it is relevant to the question you asked.

Grzyb wrote:

How can I compare various platforms (or just various video memory layouts) with such software?
Again, Cyberwolf is not Wolfenstein, eg. it doesn't use 256-color mode, does it?

Cyberwolf runs on an Amiga 500, which doesn't have a 256-color mode. I fail to see why 256-color mode would have to be such a strict requirement for 3d games.
Aside from that, I really think you're misguided if you think that comparing ports of the same game on different platform is the best way to go about this.
More often than not, ports are done in a quick-and-dirty way, and do not attempt to make the most of the hardware. Especially in the case of Wolfenstein/DOOM, where the games were opensourced, and some hobbyists made unofficial ports by recompiling the C-source code on different platforms in a generic way.

Grzyb wrote:

Wait... you seem contradicting yourself.

I'm not, but you seem to lack the technical background to keep track of this discussion.
Obviously the second line you quoted was only about comparing mode X to mode 13h, and not bitplanes (which was obvious from the preceding lines, which you deliberately omitted, to pull it out of context).
So you were meant to read:
"If these limitations did not exist (like with later linear framebuffer videomodes), mode 13h would always be better than mode X."

Grzyb wrote:

Out of the above, the last one should always be the best for typical 3D games, right?

No. But you will just add artificial limitations until you arrive at a narrow enough subset to make sure that it does, right? (such as insisting on 256-colour modes).
In the end it will boil down to this tautology: "Do games specifically designed and optimized for <enter hardware criteria here> run best on <enter same criteria here>?"
No shit, Sherlock. But that's not scientific.

In case you didn't understand yet: Wolfenstein 3D and DOOM are very limited '3D' games, often even called '2.5D', using a very simplified raycasting algorithm. There are many other types of 3D games, many of which have true 6 degrees of freedom. But where you say "3D games", you seem to mean only "Wolf3D and DOOM"... Which is... weird.
And what about Wolfenstein 3D's predecessor Catacomb 3-D? https://youtu.be/F5MzKdjIaPU
That runs in EGA, so bitplaned and 16-colour.

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

Reply 63 of 127, by Scali

User metadata
Rank l33t
Rank
l33t
Grzyb wrote:

Well, according to the Amiga fanboys' propaganda I heard back in the era, A1200 was supposed to be a match to 386... heh, I guess one more myth busted...

That's not the same statement though.
I thought you were comparing CPU power.
If you compare an entire machine, then yes, the A1200 can certainly do things that only a 386 or faster PC can do.
Full-screen scrolling platformers are a good example of that (eg Superfrog or Jazz Jackrabbit. Keen specifically stuck to 16-colour EGA mode because that was the only way to get it playable on 286 and fast 8088/V20 machines. VGA is much slower there). Using tracker music in games is another good example, where the PC needs a lot of extra horsepower from the CPU (like Pinball Dreams/Fantasies).

Yes, on the PC basically all performance depended on the CPU. On other systems, not so much. So comparing CPUs and comparing entire systems, not the same thing.

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

Reply 64 of 127, by spiroyster

User metadata
Rank Oldbie
Rank
Oldbie

@Grzyb

I'm confused... wtf has video layout got to do with 3D? in fact wtf has either chunky or planar got to do with actual 3D? Unless I am missing something here?

None of the 'graphics' hardware mentioned can do any form of actual 3D acceleration. All true vertex transformation, perspective projection and rasterization are done by the CPU in this era, so the question should be...

q: Which can do software rendering fastest and blit it to a framebuffer... chunky or planar?

And yes, I would hardly call Jurassic park, Wolf3D or Doom... '3D' games. They give the impression of perspective, but it would all be 2D ray casting as Scali said. Build engine games go that bit further than JP and Wolf3D, but still, try looking up or down in Doom or DukeNukem3D and tell me if thats true 3D perspective projection? Then shoot an imp on the second floor and tell me if that makes sense? ... reason: they are NOT 3D.

Heck, even the MegaDrive had DukeNukem3D and then there is the SNES with Starwing/Starfox and a JP port with '3D'... superFX ... yay!

Other 'true' 3D games on the Amiga, Zeewolf (1 & 2), F1GP, <insert numerous other Micropose games here>, Zarch... and since we are talking about how well 'actual' 3D can be done, check out Zarch (aka Lander) on the Archimedes for silky smooth flat shaded polygon fun, both the Amiga and PC of the time would cry at framerates like that... shame thats pretty much the only game worth mentioning the Acorn for, but goes to show how powerful a machine it was for the time (approx twice the CPU power of the Amiga apparently)...

I'm a massive Amiga fanboi... however I wouldn't try to preach it better than a 386 for some stuff (or even maybe 286 in some cases), but one thing Amiga proves more than anything... you don't need brute force and grunt to achieve something that brute force and grunt can deliver. So its kinda moot to attempt to compare hardware like this. Amiga had it's place in time, and made it's name in history... I don't need to regurgitate what the Amiga spawned and the impact it has had on CGI, games, music etc on the PC... I'll leave that for your google-fu.

The conversation keeps coming back to hardware like some attempt at trying to retrospectively work out which is better? Truth is hardware is just a part of the equation... software is the other part, something which PC was lacking in compared to Amiga late 80's/early 90's…. this plus socioeconomic issues which gave the Amiga the market it had compared to the PC at the time.

I appreciate the thread railroad brought us here... but this is an ATI thread? Start a thread about how 'shite' the Amiga is to really get a good (on topic) conversation about Amiga vs PC. I suspect it would be a long one 🤣

Reply 65 of 127, by Scali

User metadata
Rank l33t
Rank
l33t
spiroyster wrote:

None of the 'graphics' hardware mentioned can do any form of actual 3D acceleration. All true vertex transformation, perspective projection and rasterization are done by the CPU in this era, so the question should be...

The Amiga's blitter can actually do hardware linedrawing and area fill. So it can accelerate 3D wireframe and flat polygons (also dithered/stenciled polys).
One trick with stencil polys I really like is here:
https://youtu.be/L-9K22jgp-8?t=234
By using cleverly positioned stencils, they achieve a sort of fake phong lighting effect.

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

Reply 66 of 127, by spiroyster

User metadata
Rank Oldbie
Rank
Oldbie
Scali wrote:
spiroyster wrote:

None of the 'graphics' hardware mentioned can do any form of actual 3D acceleration. All true vertex transformation, perspective projection and rasterization are done by the CPU in this era, so the question should be...

The Amiga's blitter can actually do hardware linedrawing and area fill. So it can accelerate 3D wireframe and flat polygons (also dithered/stenciled polys).

I stand corrected, we have a clear winner?

Reply 67 of 127, by Scali

User metadata
Rank l33t
Rank
l33t
spiroyster wrote:

I stand corrected, we have a clear winner?

Someone will say "Yes". Then someone else will say: "But Commodore went bust, and the Amiga is history, PC won, so they must be best!".
Then someone else will say: "Inb4 betamax".
Etc.

But regardless, the Amiga's blitter can do some basic rasterization. And the combination of copper+blitter actually gives you some early kind of 'GPU' in that you can feed rendering operations to the blitter via a copperlist, while the CPU runs code concurrently (eg to prepare a copperlist to render the next frame).

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

Reply 69 of 127, by Scali

User metadata
Rank l33t
Rank
l33t
blurks wrote:

I must admit that I haven't read the entire thread but is this 8-bit guy video related to what's being discussed here?

Somewhat, perhaps. Commodore was one of many OEMs who used ATi Graphics Solution/Small Wonder CGA/Hercules clones in their machines.
Later Commodore PCs switched to Paradise PVC4 though (very similar featureset, also has Plantronics ColorPlus support), before eventually switching to Paradise VGA cards (Paradise was a brand of Western Digital).

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

Reply 70 of 127, by rasz_pl

User metadata
Rank l33t
Rank
l33t
spiroyster wrote:
Scali wrote:

The Amiga's blitter can actually do hardware linedrawing and area fill. So it can accelerate 3D wireframe and flat polygons (also dithered/stenciled polys).

I stand corrected, we have a clear winner?

Yes, clear 3D wireframe and flat polygons 1985-87 winner, champion of 5 frame per second gaming (gunship, days of thunder). Go to 1989 and F-29 Retaliator runs at 25fps on 286-16, 7fps on A500 and <20fps on A1200 in 1992.

Open Source AT&T Globalyst/NCR/FIC 486-GAC-2 proprietary Cache Module reproduction

Reply 71 of 127, by Scali

User metadata
Rank l33t
Rank
l33t

Was that the question though?
I thought it was about memory layout, and using bitplanes certainly made it a lot easier to implement hardware rasterization of lines, area fill and such, in those days (which might explain why the Amiga was one of very few home/personal computers to have this feature in the 80s).
Performance is a different story. For 3D games you have to keep two things in mind:
1) Raw performance of CPU for 3D matrix math, projections etc.
2) Memory bandwidth.

You can compare an Amiga 500 to a 286-16, but it is at a severe disadvantage in both cases.
However, if you look at how efficient the polygon rendering is, you'll see that the blitter can reach the maximum bandwidth of the Amiga's memory in polyfilling.
A 286-16 may be faster, but it is not as efficient. It just has much faster memory, and more CPU cycles to burn, so even with a less efficient rendering approach, it still ends up faster.
I think even an A1200 has less CPU power and memory bandwidth than a 286-16. Aside from that, I wonder how well the F29 renderer is implemented on Amiga. The PC version is really good (but runs in 16-colours even with VGA, so again bitplanes. Not sure if the Amiga version is 16 or 32 colours. The extra colours would require an extra bitplane, eating up extra bandwidth, and making a comparison to the PC unfair).

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

Reply 72 of 127, by rasz_pl

User metadata
Rank l33t
Rank
l33t
Scali wrote:

Was that the question though?

3D flat shaded game, perfect bitplane scenario. Lucky for us it has ports to a lot of different platforms, ideal for direct comparisons.
Edit: Crap, found on your blog its running in 0x0D 16 color 320x200 mode.

Scali wrote:
I thought it was about memory layout, and using bitplanes certainly made it a lot easier to implement hardware rasterization of […]
Show full quote

I thought it was about memory layout, and using bitplanes certainly made it a lot easier to implement hardware rasterization of lines, area fill and such, in those days (which might explain why the Amiga was one of very few home/personal computers to have this feature in the 80s).
Performance is a different story. For 3D games you have to keep two things in mind:
1) Raw performance of CPU for 3D matrix math, projections etc.
2) Memory bandwidth.

You can compare an Amiga 500 to a 286-16, but it is at a severe disadvantage in both cases.
However, if you look at how efficient the polygon rendering is, you'll see that the blitter can reach the maximum bandwidth of the Amiga's memory in polyfilling.

Atari ST does same 7 fps in F-29 Retaliator, has anybody ever used blitter for polyfilling IRL if even Ocean, quite big Commodore software house, couldnt be bothered?

Scali wrote:

A 286-16 may be faster, but it is not as efficient. It just has much faster memory, and more CPU cycles to burn, so even with a less efficient rendering approach, it still ends up faster.

and faster than A1200, supposed 386 equal 😀. In 1992 both would cost about the same (new vs used).

Open Source AT&T Globalyst/NCR/FIC 486-GAC-2 proprietary Cache Module reproduction

Reply 73 of 127, by Scali

User metadata
Rank l33t
Rank
l33t

Really?
Btw, Atari ST uses an 8 MHz 68000, so if the Amiga runs a game as fast, it is more efficient.
Ironically enough, the poly routine I developed for 8088 MPH was inspired on how people do it on Atari ST: it's faster to first calculate the differences with the previous frame, and then only draw the changes, to save bandwidth.

Also, I merely said the A1200 can be as fast or faster than a 386 in *some* cases (and I gave 2D scrolling and tracker music as examples, not 3D), not across the board.
But that's the problem with fanbois who can only think in black-and-white, and have no clue about actual hardware, software, algorithms or anything.

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

Reply 74 of 127, by rasz_pl

User metadata
Rank l33t
Rank
l33t
Scali wrote:

Btw, Atari ST uses an 8 MHz 68000, so if the Amiga runs a game as fast, it is more efficient.

slow, runs the game as slow 😊
With ~140 millisecond between frames there is huge margin of error when counting manually.

Open Source AT&T Globalyst/NCR/FIC 486-GAC-2 proprietary Cache Module reproduction

Reply 76 of 127, by rasz_pl

User metadata
Rank l33t
Rank
l33t
Scali wrote:

Whatever. So what was your point again with F29 Retaliator? That bitplanes are good for filled/dithered polys?

" has anybody ever used blitter for polyfilling IRL if even Ocean, quite big Commodore software house, couldnt be bothered?'

Open Source AT&T Globalyst/NCR/FIC 486-GAC-2 proprietary Cache Module reproduction

Reply 77 of 127, by Grzyb

User metadata
Rank Oldbie
Rank
Oldbie

Heh, let me clarify...
My original post in this thread was because:

Grzyb wrote:

Back in the Wolfenstein/Doom era, it was commonly believed that one of the major reasons why Amiga can't into 3D is the fact it only has bitplanes, and not chunky.

...and, after a quarter of century, I finally want to know to what extent that belief was true.
Yes, there are 3D games other than Wolfenstein 3D and Doom, but in that era these were the most common 3D games, so such claims were precisely about them, and now I'm naturally focusing on them.
And I can't accept comparing them against games that lack some of their features, including, but not limited to, 256-color graphics.

Also, see another of my questions:

Grzyb wrote:

How does the video memory layout affect performance in 3D games?

When comparing bitplanes vs. byteplanes vs. chunky, it must be noted that both byteplanes and chunky on VGA (and probably any common graphics hardware of that era) are 256-color, so - when comparing them with bitplanes - I demand bitplanes in 256-color mode as well.

I'm willing to accept that the lack of Wolfenstein and Doom on Amiga in the era (and poor performance of later ports) was all about slow CPU and lack of knowledge how to optimize such stuff for bitplanes, and nothing about inherent deficiences of bitplanes, but I need a proof.
Like, any Doom-like game, running on any CPU, on two different video adapters: planar and chunky, at the same speed.
Of course, I accept two versions of the game, each optimized for different video memory layout, but they must produce identical output.

Heh, I guess I need to wait for a few decades more 😜

Scali wrote:

Someone will say "Yes". Then someone else will say: "But Commodore went bust, and the Amiga is history, PC won, so they must be best!".

And I will say:
Games and demos, or even anything graphical, aren't the only uses of a computer.
Right tool for the right purpose!

Żywotwór planetarny, jego gnijące błoto, jest świtem egzystencji, fazą wstępną, i wyłoni się z krwawych ciastomózgowych miedź miłująca...

Reply 79 of 127, by Scali

User metadata
Rank l33t
Rank
l33t
Grzyb wrote:

Heh, let me clarify...

I think you only made it less clear.

For example:

Grzyb wrote:

Games and demos, or even anything graphical, aren't the only uses of a computer.

Weren't you the one who asked about 3D games and video memory layout?

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