English Amiga Board


Go Back   English Amiga Board > Coders > Coders. Asm / Hardware

 
 
Thread Tools
Old 09 September 2022, 06:00   #1
sandruzzo
Registered User
 
Join Date: Feb 2011
Location: Italy/Rome
Posts: 2,072
Blitter Speed

I did a simple to test blitters' speed with a channel enabled and disabled with cookie-cut operation. It seems that there is no difference at all! I've used 4 planes interleaved bitmap 320x256. My blitting is 48*124 pixel.

There is no visible difference at all. White coppers' line is full coockie-cut with ABCD enabled. Red one is full coockie-cut but only BCD enabled.

It seems that A channel is well pipelined. Quite interesting

[IMG][/IMG]
sandruzzo is offline  
Old 09 September 2022, 07:32   #2
a/b
Registered User

 
Join Date: Jun 2016
Location: europe
Posts: 675
That's because it has idle cycles (enabled A = fetch, disabled A = idle), so it takes the same period of time but fewer memory accesses.
a/b is offline  
Old 09 September 2022, 11:45   #3
roondar
Registered User

 
Join Date: Jul 2015
Location: The Netherlands
Posts: 3,223
You should be able to get the result you're looking for by using a Blitter channel combination of ACD instead of BCD, which does use all the cycles (barring one at the start and one at the end).

Just a matter of switching what's in channel A & B (I presume you have a pre-loaded value in A at the moment so that would be put in B instead) and rewrite the minterm to match the new channel combo
Edit: hmm, I did forget about the first/last word mask there for a bit. That may be an issue with some types of blit, though not normally for a 'standard' cookie-cut blit.

Last edited by roondar; 09 September 2022 at 12:00.
roondar is offline  
Old 09 September 2022, 13:11   #4
sandruzzo
Registered User
 
Join Date: Feb 2011
Location: Italy/Rome
Posts: 2,072
@roondar

I just wanted to inquire if it could be worth aid blitter with cpu during cookie-cut operation. Since it seems that A channel is for free, I won't do more tests
sandruzzo is offline  
Old 09 September 2022, 14:26   #5
a/b
Registered User

 
Join Date: Jun 2016
Location: europe
Posts: 675
During regular blits (e.g. cookie cut) A is not for free, it's the opposite. A is hardcoded, it always takes a slot, and if you disable it then the blitter waits/idles instead of reading from memory.

Related to what Roondar said, if your blit has size=3 words, using ABCD that's:
**** **** **** (duration=12, 12 r/w + 0 idle)
Using BCD:
-*** -*** -*** (duration=12, 9 r/w + 3 idle)
While using ABD or ACD:
*** *** *** (duration=9, 9 r/w + 0 idle)
So if you are e.g. blitting with a static 16-bit mask in bltXdat, it's better to put it in B or C, and not in A. Well, unless you specifically want idle cycles and prolonged blits so that the cpu has more freedom.
a/b is offline  
Old 09 September 2022, 21:43   #6
sandruzzo
Registered User
 
Join Date: Feb 2011
Location: Italy/Rome
Posts: 2,072
Indeed its faster with ACD, but I want see if I can load mask with cpu and keep that speed


[IMG][/IMG]
sandruzzo is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
blitter speed and fmode jotd Coders. Asm / Hardware 2 19 June 2021 14:38
Throttle Blitter speed amilo3438 support.WinUAE 5 12 August 2017 19:47
Maximum blitter speed with pipelining zero Coders. Asm / Hardware 41 25 November 2016 20:35
Blitter filling speed, how much? sandruzzo Coders. Asm / Hardware 7 03 July 2015 14:38
WHDLoad blitter speed tests - needs you! girv project.WHDLoad 44 22 February 2008 13:43

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 14:27.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2022, vBulletin Solutions Inc.
Page generated in 0.06760 seconds with 14 queries