![]() |
![]() |
#1 |
Registered User
Join Date: Feb 2011
Location: Italy/Rome
Posts: 2,166
|
Blitter filling speed, how much?
Hy all
I've found that blitter can move 4 mb per second and draw 1 milion pixels per second. What about filling? How many pixels it can draw per second? |
![]() |
![]() |
#2 |
Registered User
![]() Join Date: Jul 2015
Location: The Netherlands
Posts: 3,299
|
Hi Sandruzzo, I've read your Rygar thread with interest so I thought I'd add what I know.
The blitter clear/copies about ~3.5MB/second (but only if the CPU is blocked and there is no bitplane DMA). OCS Bitplane DMA loses you ~0.24MB/sec for a 320x256 PAL bitplane (or ~0,97MB/sec less for a 4 bitplane screen). It draws line pixels at about 1 million per second, again lowered by Bitplane DMA. Filling is 'free' in that it is done during the copy and costs no extra cycles. Edit: accidently doubled DMA contention figures Last edited by roondar; 03 July 2015 at 11:06. |
![]() |
![]() |
#3 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 48
Posts: 25,812
|
Filling unfortunately is not always free. D=A and 3 other less commonly used channel combinations add 1 extra cycle to blit's cycle diagram. (for example D=A copy with fill becomes 3 cycle blit).
|
![]() |
![]() |
#4 |
Registered User
Join Date: Feb 2011
Location: Italy/Rome
Posts: 2,166
|
so filling is going near to 4 mb per second
|
![]() |
![]() |
#5 | |
Registered User
![]() Join Date: Jul 2015
Location: The Netherlands
Posts: 3,299
|
Quote:
Thanks for the information, that might save me some headaches if I start using fills on bigger objects! If I understand Toni correctly, it's going to be more like ~2,3MB/sec because the blitter is slowed down while filling in the most commonly used mode (D=A). Last edited by roondar; 03 July 2015 at 11:54. Reason: Merged back-to-back posts |
|
![]() |
![]() |
#6 | |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 48
Posts: 25,812
|
Yeah, max real world rate is about 2.33Mbytes/s (3.5M DMA slots in 1 second ((227-4)*312.5*50), 3.5M/3*(16/8)=2.33Mbytes/s)
Quote:
Note that all blitter idle cycles are special, it needs to be free cycle (not used by any higher Agnus DMA channels) but blitter does not "use" it, it is also free for the CPU! |
|
![]() |
![]() |
#7 |
Registered User
Join Date: Feb 2011
Location: Italy/Rome
Posts: 2,166
|
not so bad! It's fast!!
|
![]() |
![]() |
#8 |
Registered User
![]() Join Date: Aug 2012
Location: Australia
Posts: 651
|
Now thats some good advice some info he can use!
|
![]() |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Using blitter for filling 3D polygons | kovacm | Amiga scene | 34 | 25 January 2018 15:30 |
Blitter poly-line draw & filling - the 100th | Herpes | Coders. Asm / Hardware | 12 | 14 May 2014 01:34 |
CPU Filling vs. Blitter Filling Routine | victim | Coders. General | 18 | 26 January 2014 02:15 |
Blitter filling routine used in games | Codetapper | Coders. General | 2 | 26 January 2012 10:20 |
Filling with the blitter... | Lonewolf10 | Coders. Tutorials | 7 | 13 September 2011 14:30 |
|
|