dirkwhoffmann / vAmiga

vAmiga is a user-friendly Amiga 500, 1000, 2000 emulator for macOS

Home Page:https://dirkwhoffmann.github.io/vAmiga

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Speed-optimize Denise::translate()

dirkwhoffmann opened this issue · comments

Findings after a brief code review:

  • 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.

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

Bildschirmfoto 2024-01-31 um 13 40 42