![]() |
![]() |
#1 |
Registered User
Join Date: Feb 2011
Location: Italy/Rome
Posts: 2,344
|
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] ![]() |
![]() |
![]() |
#2 |
Registered User
Join Date: Jun 2016
Location: europe
Posts: 1,076
|
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.
|
![]() |
![]() |
#3 |
Registered User
Join Date: Jul 2015
Location: The Netherlands
Posts: 3,454
|
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. |
![]() |
![]() |
#4 |
Registered User
Join Date: Feb 2011
Location: Italy/Rome
Posts: 2,344
|
@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 |
![]() |
![]() |
#5 |
Registered User
Join Date: Jun 2016
Location: europe
Posts: 1,076
|
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. |
![]() |
![]() |
#6 |
Registered User
Join Date: Feb 2011
Location: Italy/Rome
Posts: 2,344
|
|
![]() |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
![]() |
||||
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 |
|
|