Názor k článku Hrátky s barvovou paletou a vykreslení jednotlivých pixelů kartou CGA od CHe - Bol som zvedavý, jednak ako bude mať tá...

  • Článek je starý, nové názory již nelze přidávat.
  • 14. 7. 2024 9:52

    CHe

    Bol som zvedavý, jednak ako bude mať tá ručne vyčačkaná ASM frame copy implementácia vo vzťahu k naivným C-čkovým a dvak, ako to pobeži na reálnom hw.:
    https://pastebin.com/6fu6Bi7D

    Prekladal som to prekladačom z TC++ 3.0 v DOSBoxe, pre porovnanie je tam inlajnutá aj tá Pavlova implementácia.

    Na najstaršom funkčnom PC čo mám momentálne po ruke (Amstrad PPC 640, NEC V30 @ 8Mhz, 1987) to vyzerá takto:

    C assign b far:   3.4 fps, 0.2 Mpxps
    C assign w far:   5.2 fps, 0.3 Mpxps
    C assign l far:   5.7 fps, 0.4 Mpxps
    C assign w near:  5.5 fps, 0.3 Mpxps
    C assign l near:  6.4 fps, 0.4 Mpxps
    C fmemcpy:       19.2 fps, 1.2 Mpxps
    ASM movsw:       22.3 fps, 1.4 Mpxps

    (fmemcpy je interne implementovaná tiež pomocou rep movsw, len teda šaškovanie so zásobníkom pri jej volaní zožerie nejaké cykly na každý riadok)

    V30 je upgradnutá 8086, ak by to niekto chcel testnúť na niečom ešte bližšom pôvodnému XT s 8088 @ 4,77MHz, môžem posunúť binárku.