03 May 2019, 12:45 | #1 |
Registered User
Join Date: Oct 2017
Location: Sunderland, England
Posts: 2,702
|
Copper Interrupts and Blit Performance
On Rygar I'm trying to get away with not double buffering the background blits that I'm doing (as I need the ram), currently I am using double buffering because each blit of a bitplane might occur during bitplane dma and I would get tearing.
If I were to use a copper interrupt to wait for a vertical position below the display area, then turn off bitplane DMA, turn on Blitter Nasty and then proceed to do by three straight A-D Blit copy operations.... would this yield me the maximum performance for rendering the background - and I would't have to double buffer the backgrounds? I think I already know the answer to this but before I change the code it would be really great to get some insight or tips on further performance improvement. Geezer |
03 May 2019, 12:53 | #2 |
Lemon. / Core Design
Join Date: Mar 2016
Location: Tier 5
Posts: 1,212
|
You'll definitely get your best blitter perfomance during time where the bitplane DMA is off
Do you have enough time to get these 3 blits done after the display area ? Is it possible also to blit in "chunks", from the top down... for example, the first 32 pixels of bitplane 1, then the first 32 of bitplane 2, then bitplane 3.... then the next 32 pixels of bitplane 1 etc... perhaps you could be blitting ahead of the beam with this method |
03 May 2019, 12:59 | #3 | |||
Registered User
Join Date: Oct 2017
Location: Sunderland, England
Posts: 2,702
|
Quote:
Quote:
Quote:
|
|||
03 May 2019, 13:35 | #4 |
Registered User
Join Date: Oct 2017
Location: Sunderland, England
Posts: 2,702
|
The other thought that has occurred to me is that I'm wondering if I will gain performance by setting FMODE to x4 instead of the normal x2 in the display area.
Given no bitplane dma is off I take it this would be pointless? |
03 May 2019, 14:19 | #5 | |
Defendit numerus
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 53
Posts: 4,476
|
Quote:
But you can't in your actual engine because sprites loss (due to bigger BPLCON1 shift region and early DDFSTRT). There is somewhere a thread where i've calculated FMODE and related screen position/sprite loss about this. If you speak about static region, no problem to setup a 4x mode. |
|
03 May 2019, 14:30 | #6 |
ex. demoscener "Bigmama"
Join Date: Jun 2012
Location: Fyn / Denmark
Posts: 1,624
|
|
03 May 2019, 14:31 | #7 |
ex. demoscener "Bigmama"
Join Date: Jun 2012
Location: Fyn / Denmark
Posts: 1,624
|
|
03 May 2019, 14:44 | #8 | |
Defendit numerus
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 53
Posts: 4,476
|
Quote:
|
|
03 May 2019, 14:51 | #9 | |
ex. demoscener "Bigmama"
Join Date: Jun 2012
Location: Fyn / Denmark
Posts: 1,624
|
Quote:
|
|
03 May 2019, 15:07 | #10 |
Defendit numerus
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 53
Posts: 4,476
|
|
03 May 2019, 15:39 | #11 |
Registered User
Join Date: Oct 2017
Location: Sunderland, England
Posts: 2,702
|
I must apologise - I meant outside of the display area.
So bitplane dma is switched off and then I switch to x4 fetch mode from x2. |
03 May 2019, 16:04 | #12 |
Registered User
Join Date: Jul 2015
Location: The Netherlands
Posts: 3,415
|
|
03 May 2019, 16:27 | #13 |
Registered User
Join Date: Oct 2017
Location: Sunderland, England
Posts: 2,702
|
|
03 May 2019, 17:33 | #14 |
Registered User
Join Date: Jul 2015
Location: The Netherlands
Posts: 3,415
|
Ok. Reading the thread again I did get a bit confused, so just to be 100% clear: fetch mode only affects bitplane fetching, so Blitter speed won't change for blits executing during rasterlines below (or above) the ones that fetch bitplanes.
For blits during the rasterlines that bitplanes are fetched, the Blitter will get more slots when running a higher fetch mode. Sorry for the doubled up info - I got a bit confused on where (or rather when during the frame) you want to blit. |
04 May 2019, 02:15 | #15 |
Registered User
Join Date: Jan 2012
Location: USA
Posts: 372
|
If you time it correctly, you should be able to start blitting a little before display fetch ends. Just make sure display fetch wins the race for access to the playfield.
And if you use interleaved bitplanes, you can begin even earlier. |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Combining copper scrolling with copper background | phx | Coders. Asm / Hardware | 16 | 13 February 2021 12:41 |
Damn Interrupts | mcgeezer | Coders. Asm / Hardware | 10 | 24 March 2019 16:50 |
Strange behavior when using blit queue in copper list | losso | Coders. Asm / Hardware | 39 | 02 February 2018 08:24 |
CIA interrupts... | bloodline | Coders. System | 6 | 18 January 2018 10:33 |
Best way to mix blitting with copper and copper effects | roondar | Coders. Asm / Hardware | 3 | 12 September 2016 13:12 |
|
|