At the end of Denise::translate(), the contents of iBuffer and mBuffer are identical (the mBuffer is modified later in drawSprites()).
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 the iBuffer by duplicating the mBuffer. Otherwise, go without the iBuffer.
Findings after a brief code review:
Denise::translate()
, the contents ofiBuffer
andmBuffer
are identical (themBuffer
is modified later indrawSprites()
).iBuffer
is only needed in lines with HAM mode enabled.Optimization:
Denise::translate()
, check if this line is a HAM line. If yes, create theiBuffer
by duplicating themBuffer
. Otherwise, go without theiBuffer
.