vAmiga
vAmiga copied to clipboard
Speed-optimize Denise::translate()
Findings after a brief code review:
- At the end of
Denise::translate()
, the contents ofiBuffer
andmBuffer
are identical (themBuffer
is modified later indrawSprites()
). - The
iBuffer
is only needed in lines with HAM mode enabled.
Optimization:
- At the end of
Denise::translate()
, check if this line is a HAM line. If yes, create theiBuffer
by duplicating themBuffer
. Otherwise, go without theiBuffer
.
Speed comparison (Kick 1.3, hand & disk boot screen):
Upper: Latest dev-branch (frame skipping, audio fast path, on-demand-iBuffer): Lower: vAmiga 2.5