Hlavní navigace

Názor k článku Standardní grafické režimy karty VGA od Ondřej Novák - Při testování hry Brány Skeldalu na různých sestavách...

  • 6. 8. 2024 19:32

    Ondřej Novák

    Při testování hry Brány Skeldalu na různých sestavách jsem narazil na PC, které nemělo SVGA vůbec. Prostě normální VGA. A tak jsem si v rámci "vlastní zábavy" zkusil napsat "ovladač" ve hře pro 640x480x16 v odstínech šedi. Hra totiž běžela v 640x480xhicolor, vyžadovala tedy SVGA a existovala i transformace do 256 barev tam, kde nebyl hicolor. Ale transformace na 16 barev?

    Přesně jak se píše v článku, 16-barevná paleta má dvojí transformaci. Obraz se do výhledu maloval po rovinách, a překvapolo mě, jak to bylo pomalé a to nezávisle na typu karty (i na tehdy moderních SVGA). a rychlosti CPU. Bitblt jedné roviny, přepnutí roviny bitblt druhé roviny, přepnutí roviny, atd.... Přesto byly artefakty přepínaní dost vidět. VYpadalo to, jako když se překresluje e-ink display v dnešní době.

    K tomu vznikla ještě varianta s X-mode 320x480x256. Tam se dvojice pixelů vedle sebe sloučily do jednoho a podle tabulky se vybral index pixelu odpovídající barvě v palety. Přenášelo se opět po rovinách, a i tady byly vidět artefakty, tentokrát jako když se otáčí vertikální roleta. Ani tady to nebylo rychlé.

    Jen na okraj, DOOM používal 320x200 ale jako x-mode. Nezasahoval do časování, ale změnil chování bitových rovin. Využívalo se toho, že se malují sloupce, před každým sloupcem se nastavila aktivní bitová rovina a nakreslil se sloupec. DOOM používal double/triple buffering a právě kvůli nutnosti obsadit celou paměť VGA používal tento režim. V režimu lowres se malovaly dvojice bodů, díky tomu, že VGA umí zápis do dvou rovin současně, ale horizontální rozlišení bylo poloviční.