Overview Features Coding ApolloOS Performance Forum Downloads Products Order Contact

Welcome to the Apollo Forum

This forum is for people interested in the APOLLO CPU.
Please read the forum usage manual.
Please visit our Apollo-Discord Server for support.



All TopicsNewsPerformanceGamesDemosApolloVampireAROSWorkbenchATARIReleases
Information about the Apollo CPU and FPU.

Polygon Pushing Performance of the 080page  1 2 3 4 5 6 7 8 9 

Daniel Sevo

Posts 299
10 Oct 2018 18:52


Louis Dias wrote:

Ok, no one seems to like a discrete GPU, so let's look at what was available circa 1993-1996:  EXTERNAL LINK 
  Now can someone fill in numbers for the Vampire so we can compare?

Logically, (I guess) the 133Mhz Pentium is closest of the bunch. Its higher clock than 080 but lacks MMX / SSE.
Also, the Vampire has the benefit of much newer memory tech so higher bandwidth and lower latency should shine through.

Also.. its interesting to se how poorly all those peak theoretical performance numbers for the Saturn translate into aswesome software...;-)


Louis Dias
(Needs Verification)
Posts 55/ 1
10 Oct 2018 19:55


Those peaks were hit with specific tests as have many tests posted here.
 
  ALso, those systems had 100's of 3D games playable with far weaker cpus..

Here's a fine example from arguably the weakest system:
EXTERNAL LINK


Andy Hearn

Posts 374
10 Oct 2018 23:10


all the quake tests were "timedemo demo2".
I hope this will help add a little context on the data regarding numbers:-
EXTERNAL LINK 
the Virge numbers on a pentium200 are roughly in line with the PPC numbers.

the permedia2 had a triangle setup engine, that promised up to "70% cpu offload" of geometry calculations to enable its full 1M textels per sec, painted with its 80M pixel pipeline. did that geometry processor ever see an amiga driver? no. is it a shame? yes. am I disappointed? no.
The permedia2 also had an mpeg2 video accelerator of some sort. "MPEG-2 acceleration, including colour-conversion processing for native MPEG-2 YUV video streams and a dedicated DMA engine"
again. amiga drivers? no. disappointed? no.

who developed the Saturn/Dreamcast.... SEGA with a stack of cash
who developed the PlayStation... SONY with an even fatter stack of cash
who developed the amiga? a load of talented individual one man bands in their spare time with little to no cash helping out. or maybe a "company" or two probably earning less than a paper deliver round - definitely not giving up the day job.

the fact that we have any numbers at all is testament to a minor miracle going on.

I'm sure it has been said before:-
the vampire with optimized AMMX *vector?* processing - if I recall correctly? should be able to up the amiga's current GPU game considerably. again, software dependent. how much of a gain and in what remains to be seen.

Vector processor
EXTERNAL LINK 
for the TL;DR:-
"GPGPU
Modern graphics processing units (GPUs) include an array of shader pipelines which may be driven by compute kernels, which can be considered vector processors"

there we go. I recon "let the Apollo team do what they are doing"
I'm just looking forward to where this is going. even if it stops right here right now. we've come a long long way in a short time and got some awesome hardware and consequent resulting software that I never thought i'd ever see.

I think that conversations like this are great in as much as we're all fired up about the potential this unlocks! and maybe some of this, and maybe that, and some of the other.... this is an exciting time no doubt :)


Louis Dias
(Needs Verification)
Posts 55/ 1
11 Oct 2018 01:15


I think it's great that the 080 has AMMX!  We are all on the same team here.
 
  Ok, let's talk numbers.
 
  A surface gets texture-mapped. That texture could be a single color, or a 1MB bitmap for instance.
 
  A surface is defined as a collection(array) of polygons that is going to receive a particular texture independent of other surfaces...  That same texture can also be applied to other surfaces.  So a scene can have many surfaces as well as multiple light sources...and just as many textures as surfaces...
  Let's ignore lighting for now...
 
  A polygon is either 3 or 4 vertices...
  A vertex/vector is an [x,y,z] value usually floats but integers can work too.
 
  When you want to move and rotate a single polygon you pass a 4x4 matrix, aka an array of 16 values and they requires 2 operations (movement which translates to addition, and rotation which involves sin/cosine multiplication) per coordinate of each vertex.
  so perhaps some of you can see how many MATH operations are required just for transform and rotate as the polygon count goes up...  A single quad polygon contains 12 floats of data just to define it's presence in 3D space.  Each of those floats requires 2 operations to move and rotate.  Again, this is before texture mapping and lighting and then another engine goes thru all your surfaces and figures out where the "camera" is, decides what you can see and then does the rendering...  So now you can start to appreciate how those mid-90's consoles pulled off 100,000 texture-mapped and shaded polygons per second IN GAME...  The PS2/GC/XBOX era were doing roughly 10x more... EXTERNAL LINK   
  You can read about MMX, SSE and SSE2 here: https://en.wikipedia.org/wiki/MMX_(instruction_set)
 
  A "gpu" just adds more functions then simple math.  It also can add it's own texture cache, etc to save trips back and forth between main memory when texture mapping surfaces...  Fancier ones can queue up combinations of operations...for instance bump-mapping...  This is all so the cpu doesn't have to...
 
  In a complicated game, the cpu will be busy handling the AI of 7 other cars in a racing/driving game for instance...
 
  Better engineers than us have solved this problem a long time ago by stacking multiple units that can perform many of these operations simultaneously (aka in parallel).  They widened the data bus so despite the lower clock speeds they were able to move a lot of data and do many computations simultaneously.
 
  Expecting a cpu to "do it all" was the hubris of the CELL processor.  CELL has 8 (7 active in the PS3) MMX-like units.  Heck, the ARC processor (from the makers of the SuperFX chip) is a similar design but it is purposely/specifically used as a separate gpu.
 
  So it's great that AMMX exists.  It will "speed up" many operations that involve performing the same function on an array of data.  However, making mid-90's era 3D gaming at acceptable resolution and framerates is still another ball park.
 
  Unless you want to attach a very hard to find 3rd party gpu card...and even then, the bus to that ancient card is limited.
 
  This is why I say "let's make our own".


Louis Dias
(Needs Verification)
Posts 55/ 1
11 Oct 2018 02:07


Not many of you may know this but Gunnar created a very rare ZORRO graphics card for the Amiga...

Here's an example of another one implemented in an FPGA:
EXTERNAL LINK


Louis Dias
(Needs Verification)
Posts 55/ 1
11 Oct 2018 02:15


SIDENOTE:  Not many of you may know this but Gunnar created a very rare ZORRO graphics card for the Amiga...

Here's an example of another one implemented in an FPGA:
EXTERNAL LINK 


Niclas A
(Apollo Team Member)
Posts 219
11 Oct 2018 06:30


Sorry did not read correctly. Deleted


Ronnie Beck
(Apollo Team Member)
Posts 199
11 Oct 2018 08:20


Steve Ferrell wrote:

You bring up IO interface chipset controllers for USB and SATA as an example of why a GPU should be kept discrete from a CPU.  I stand by my statement as to why the big chip makers...............

For the sake of efficiency, just imagine that I wrote the phrase "I said nothing like that.  Why can't you just simply read?" after your first few points and then your remaining points become irrelevant artifacts of poor reading comprehension.  No point wasting time on counter arguments to incomprehension and conjecture.  Thanks.


Thellier Alain

Posts 141
11 Oct 2018 08:32


>I don't want to have to dumpster-dive for 20 year old  graphics cards that would still be limited by an archaic bus...

So buy a Sam460 NG system and stop trolling here ;-)

Repeating all the time you want a gpu will not make it appears magically :-/

IMHO the Vampire is supposed to be a better "Classic Amiga" not a 2018 fast PC nor a gpu 3d card

On my Sam460 NG system Cow3D reach 142 FPS when using the real Warp3D and 462 FPS when using Nova (the cow got 5813 triangles so more triangles than any QuakeI scene)

At those speed that is the display of the fps text that slow down the cow program: hiding or disabling the text then give 225 fps on Warp3D and 1131 FPS on Nova
1131 FPS represents 6.5 millions textured triangles per second

 


Andy Hearn

Posts 374
11 Oct 2018 10:09


ah! good to know. ok so i'll re-run, but disable the text if poss.
  effectively we're saying that 1fps = 5.8k triangles per sec.
  i'll try starship as well.
  permedia2 (1M textels /100)*30 (accounting for no triangle setup engine) = 300k absolute best case scenario. 3fps on "cow" when driven by a 68040 = 17.4k triangles
 
  I've actually put my amigas away bar my V500, and in that space am rebuilding my SGI 02 to see and put some quake numbers up for UMA "unified memory architechture". mainly to show that UMA's not all bad, provided there is bandwidth - that the vampire has.
 
  was there an OS3 port of warp3D nova? reading up on it and the rendering functions available to applications, seems to indicate that nova doesn't have all the functionality of warp3d - leading to effectively speed optimisations over graphical output? or am I reading that wrong?


Andrew Copland

Posts 113
11 Oct 2018 10:34


EXTERNAL LINK 
Complete with source for the FPGA rasterisation hardware they made to do it.


Ronnie Beck
(Apollo Team Member)
Posts 199
11 Oct 2018 11:30


Andrew Copland wrote:

EXTERNAL LINK 
  Complete with source for the FPGA rasterisation hardware they made to do it.

That is a very interesting project indeed.  Thanks for linking that!


Thellier Alain

Posts 141
11 Oct 2018 12:03


Andy Hearn wrote:
 
  1)was there an OS3 port of warp3D nova?
  2)seems to indicate that nova doesn't have all the functionality of warp3d
  3)to effectively speed optimisations over graphical output?
 

 
1) No

2) Nova is somehow more "raw" as it dont have any "builtin functions" for modifying the pixels to draw.
I mean if you want to do a simple textured GL_MODULATE effect you will need to set up a fragment shader that do that.
So setting up a program until it works with Nova is a pain.
But once the program runs as Nova got shaders you can do all the fancy GLSL effects you can found on the Internet(bumps,reflections,etc...)

3) Nova is faster because it use VBO : that are vertices array that are stored in the GPU RAM so no more need to copy the vertices to be drawn from RAM to the GPU RAM




Ronnie Beck
(Apollo Team Member)
Posts 199
11 Oct 2018 13:17


Louis Dias wrote:

I don't want to have to dumpster-dive for 20 year old  graphics cards that would still be limited by an archaic bus...

Are you an Amiga fan or not?  If you overheard a guy saying "I am sick of this Amiga 4000 with 060, PPC and Cybervision Card.  I am throwing all this in the dumpster *thud*" that you wouldn't dumpter dive?  :-D


Louis Dias
(Needs Verification)
Posts 55/ 1
11 Oct 2018 13:28


Ronnie Beck wrote:

Louis Dias wrote:

  I don't want to have to dumpster-dive for 20 year old  graphics cards that would still be limited by an archaic bus...
 

 
  Are you an Amiga fan or not?  If you overheard a guy saying "I am sick of this Amiga 4000 with 060, PPC and Cybervision Card.  I am throwing all this in the dumpster *thud*" that you wouldn't dumpter dive?  :-D

I'm trying to be a Vampire fan.  Can you explain to me how I can add a PCI[e,x] card to a stand-alone V4?


Louis Dias
(Needs Verification)
Posts 55/ 1
11 Oct 2018 13:38


@Thellier Alain,
 
  I'm not really repeating that I want a gpu.  The topic of this thread is about pushing polygon performance.  Someone can probably come up with a theoretical number for that fairly quickly.  SIMD is not just for graphics acceleration.  If you [or anyone else] wants a functional 3D game without hardware-kludge addons, it's the only real solution.
 
  In case you weren't sure, the Amiga chipset is already a gpu.  It's just not a 3D accelerated gpu.  For instance, you could look at copper lists as simple shaders that only work on 1 texture/surface [aka the screen].  These hack-on 3D cards are only "necessary" because the functions don't already exist in the Amiga chipset.


Ronnie Beck
(Apollo Team Member)
Posts 199
11 Oct 2018 14:28


Louis Dias wrote:

Can you explain to me how I can add a PCI[e,x] card to a stand-alone V4?

????????


Louis Dias
(Needs Verification)
Posts 55/ 1
11 Oct 2018 14:34


Ronnie Beck wrote:

Louis Dias wrote:

  Can you explain to me how I can add a PCI[e,x] card to a stand-alone V4?
 

 
  ????????

What is so hard to understand?  I don't see any such expansion slot listed on the V4, so how am I to run games that depend on  Warp3D?  Wouldn't the solution be to add such functionality to SAGA?

Has Allen ported Wazp3D to SAGA?


Ronnie Beck
(Apollo Team Member)
Posts 199
11 Oct 2018 15:12


Louis Dias wrote:

Ronnie Beck wrote:

 
Louis Dias wrote:

  Can you explain to me how I can add a PCI[e,x] card to a stand-alone V4?
 

 
  ????????
 

  What is so hard to understand?  I don't see any such expansion slot listed on the V4....

Your attitude.  Your asking of self answering questions.  Those things, mostly.


Markus B

Posts 209
11 Oct 2018 16:00


I am really confused why it's always bound to the questions of a discrete GPU.
Wouldn't be it beneficial and possibly easy to achieve implementing multiple AMMX units?

posts 161page  1 2 3 4 5 6 7 8 9