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
Performance and Benchmark Results!

Native Amiga GFX Chips Vs Pure Software

Ronnie Beck
(Apollo Team Member)
Posts 199
22 May 2019 07:32


This is a topic that I am sure will raise the eye browse of many.  Given the speed of the Apollo Core's CPU and memory controller and contrasting that with the performance of chip ram and the Amiga's aged chip set, it is worth exploring the bypassing of the Amiga's chip set and utilise the raw power of the 68080.  In that vein, the best approach is a natural follow on discussion.  This question applies mostly to writing new applications.

But let me set a context here because the topic isn't universally applicable (exception-finders need not apply).  I have been writing a GUI based application which required me to write my own BOOPSI objects.  To maximise compatibility, I used Amiga OS functions for all drawing.  My impression was, that the hard work of drawing lines and moving image data around in chip ram was done by the Amiga's own custom chips.  What I can see is that even with simple animations, which require lots of line drawing (let's say 100 lines per animated frame), the frame rate starts to suffer quite badly.  Now I am hoping someone might see the flaw in my thinking but my assumptions which explains this are:

* ECS for example is only twice as fast as a 7Mhz 68000 in primative drawing operations (this I read somewhere but is perhaps incorrect).  But it is quite old and understandable.
* Chip ram is slow not only because it is shared by multiple chips, but it is a slower hardware (when compared to fast ram on the Vampire especially)
* All drawing operations (lines, ellipses, blitting) are done by the custom chips, even when using the Amiga OS's functions

If my thinking is correct, then drawing everything in fast ram first (perhaps writing my own functions for doing this), and copying the final result to chip ram for display would reap significant performance gains.  The user would see a much more fluid and snappier GUI.

For the purposes of my questions, I would like to exclude such points as "You don't need animated GUIs" or "Just use MUI/React/MyFavouriteGUI.library" as these could be debated separately ad nauseam.

So my questions are:

* How is this best done?  I don't find a generic library that exists that could do this for me for just my programme.  Is my google capabilities just poor or must I write this myself?
* I have seen some patches which can do this system wide (FBlit).  Does there not exist something which I implement for my programme alone?
* Is there another approach that I have perhaps not considered?  My goal is "Faster than ECS/AGA primative drawing operations".

Constructive thoughts and feedback?


Nixus Minimax

Posts 416
22 May 2019 12:50


I guess setting up RTG would solve all your problems.



Ronnie Beck
(Apollo Team Member)
Posts 199
22 May 2019 13:31


Nixus Minimax wrote:

I guess setting up RTG would solve all your problems.

This would for sure be a solution, in general.  But imagine you are booting from a floppy or the user hasn't (yet) installed the RTG drivers.  This is more what I am targeting.


Vojin Vidanovic
(Needs Verification)
Posts 1916/ 1
22 May 2019 13:43


Ronnie Beck wrote:

  If my thinking is correct, then drawing everything in fast ram first (perhaps writing my own functions for doing this), and copying the final result to chip ram for display would reap significant performance gains.  The user would see a much more fluid and snappier GUI.

My lame understanding is that GOLD3/V4 should boost that automatically just because SAGA should include faster blitter executing same code, as well as chip RAM is mapped in real fast RAM, making operations faster - these alone should boost WB/apps quite nicely.

Other solution would be optimization of OS graphic routines for RTG etc. but is highly unlikely.


Gunnar von Boehn
(Apollo Team Member)
Posts 6207
22 May 2019 16:34


Ronnie Beck wrote:

But imagine you are booting from a floppy or the user hasn't (yet) installed the RTG drivers.  This is more what I am targeting.

WB on SAGA-RTG is many times faster than old chipset.
Also WB on SAGA-AGA (Gold3) is many times faster.

This is easy to understand as the AMIGA chipmem has a memory speed of 3.5 MB/sec
The Vampire memory is literally over 100 times faster.




Szyk Cech

Posts 191
22 May 2019 18:56


Gunnar von Boehn wrote:

  The Vampire memory is literally over 100 times faster.
 

 
  It is hard to imagine... And if so: how many times is faster PC with DDR-4 4000?!? Thousand times faster?!?


Fabrice Joffre

Posts 12
22 May 2019 20:33


3.5 MB/sec x 100 = 350 MB/sec
And PC with DDR-4 4000 -> 35.5Gb/sec
   
And so what ?? It's true that to surf Facebook, it's very useful!!
     
An Amiga with a vampire is an Amiga under steroids, no Amiga accelerator cards are comparable !!
And even less a PC because it's not the same use, it's like comparing a Trabant 601 and a Ferrari F40, both lead you from point A to point B but not in the same way.
On the other hand, my A500+ with Vampire, I have a lot of fun driving it !!!!!!
 
And that's what counts, the pleasure!
Other is nothing but futility!


Barana V
(Needs Verification)
Posts 59/ 1
31 May 2019 23:44


Re one of your assumptions, OCS chipset runs at 3.5mhz so appart from the function of the blitter which is an exception , ocs is half the speed of the 68000. I cannot confirm, but I suppose ECS wouldn't be too much different.


Vojin Vidanovic
(Needs Verification)
Posts 1916/ 1
01 Jun 2019 00:37


Szyk Cech wrote:

  It is hard to imagine... And if so: how many times is faster PC with DDR-4 4000?!? Thousand times faster?!?

No, it isnt. There is next gen RAM compared to any "Fast RAM" of Amiga Classic age incl. expansion cards, leave alone chipRAM in OCS and AGA.And there is new improved mem controller in "Apollo core". End results are nice.

In the end, its faster then my 1.8Ghz PA Semi with DDR2 aka AmigaOne x1000. With DDR4 in some next generation Vamp, results might improve a bit :)

See  CLICK HERE 



posts 9