Thread: Inviyya - OCS Shoot Em Up View Single Post
12 February 2020, 20:48   #510
ross

Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 49
Posts: 2,520
Quote:
 Originally Posted by hooverphonique Yes, of course the clock difference (1%) is way too small to make up for it. And with the same number of dma slots per line, it wouldn't even matter

And of course the situation is even worse for NTSC games in a real situation because this 18.75% is valid only if all the uses of the DMA slots are reduced proportionally.
But this is practically never true because there are equal uses for many resources (bitplanes DMA, sprites, copper ..).
The only thing that can vary with few problems are the blitter objects (or eliminate some features, such as multiplexed sprites).

What figures are we talking about? Let's do some calculations in the case of Inviyya.
Bitplanes DMA: 20*4*192 = 15360 slots
Sprites DMA: 16*192 = 3072 slots
Sprites multiplexing (copper): 48*106 = 5088 slots
Copper generic (setup, splits, colors, waits, sync..): 10*200 = ~2000 slots
Then there are the refresh slots, the audio slots and the unusable: ~2000 slots.
We approach ~27520*2 out of ~142000, so we can consider to have almost 60% of the slots available that can be shared between the blitter and the CPU.

We can estimate that in very crowded situations the blitter takes 75% of the available slots and the CPU the remainig 25%. This means, for PAL, ~32000 slots per frame.
On NTSC the CPU usage is very similar since the same engine is used.
So 25% has to go up 18.75% and the CPU takes 30% of the frame.

Then for NTSC I will have ~(119000-55000)/100*70/2 = ~22400 slots for the blitter.

Here, to all intents and purposes we can actually put 30% less objects on screen than the maximum possible on PAL
(EDIT: otherwise we have a frame skip, ie slowdown).
So even if you are led to think that 20% of objects less is sufficient (difference between 50fps and 60fps), it is usually not.

[note that there are many approximations and assumptions, so the values may vary quite a bit ]

Last edited by ross; 12 February 2020 at 21:38.

Page generated in 0.04438 seconds with 11 queries