🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.sys.amiga
Article #66367

Re: Dlaczego planar = płynny scrolling?

#66367
From: Mike
Date: Mon, 11 Apr 2011 12:52
91 lines
5430 bytes
On 04/10/2011 11:46 PM, RadoslawF wrote:
> Dnia 2011-04-10 23:15, Użytkownik Mateusz Ludwin napisał:
>> Czy ktoś może mi wytłumaczyć, dlaczego w trybie planar możliwy był
>> scrolling
>> płynniejszy niż na PC? Chodzi o zrównoleglone kopiowanie z kilku
>> bitplanów
>> jednocześnie?
>
> Dzięki kościom graficznym i dostępie przez nie do pamięci CHIP.
> Dawało to prawie 0,5 lub 1MB (A500) pamięci graficznej więc
> mieściło się sporo ekranów i skrolling był płynny.
> Na PC karty graficzne miały pamięci na dwa góra trzy ekrany.
>
>
> Pozdrawiam

Na miłość boską, co za bełkot.
Ale od początku (a właściwie od końca).

PC jako standard w tamtych czasach oznaczał kartę VGA.
Karta VGA miała 256kb pamięci. Dla takiego sprzętu tworzono gry.

Albo z lenistwa, albo z braku wiedzy twórcy na PC uczepili się trybu 13h 
(320x200x256) jak rzep psiego ogona.
Podejrzewam, że wygoda oraz liniowy dostęp do pamięci przeważył.
Było łatwo, szybko i przyjemnie, ale niekoniecznie ładnie.

Karta VGA oferowała tryb pracy zwany 'mode x'. Zalet cała masa. Można 
było zaadresować całą pamięć karty. Utworzyć wirtualne okno, płynny 
scrolling oraz statyczną "ramkę" na spodzie ekranu. Utworzenie trybu 
320x240 było możliwe co oznaczało normalny (tzn. kwadratowy) pixel.

Jako ciekawostkę należy zaznaczyć, że to ograniczenie (statyczna ramka 
na dole ekranu) wymusiło zmianę organizacji ekranu przy przenoszeniu 
pinball dreams na pc.

Wspomniany 'mode x' wymagał specjalnego adresowania pamięci.
Niestety programistów chyba to przerażało i pozycji wykorzystujących 
wspomniany tryb powstało niewiele. Kinka pinballi i produkcje ze studia 
x-land (adventures of robbo, electroman, heartlight).

Niestety sam płynny scorlling nie wystarczał. PC brakowało odpowiednika 
amigowego blittera. Dlatego po przesunięciu ekranu (zazwyczaj o 16px - 
taki wymiar zazwyczaj miał pojedynczy tile) trzeba było przerysować całą 
zawartość ekranu ręcznie i biedny procesor na piechotę malował po ekranie.

W tamtym okresie bardzo popularną kartą był trident 9000. Popularna 
owszem, ale koszmarnie wolna. Kto trochę bardziej zaszalał mógł mieć 
trident'a 8900 z 1mb ramu. Karta ta, albo ilość ramu i wynikająca z niej 
forma dostępu do magistrali, sprawiała że szybsza była ze 2 razy.

Potem była przesiadka na SVGA, czyli dramat na 2 akty.
Raz, w dalszym ciągu brak blittera. Może i gdzieś tam był, ale zazwyczaj 
jego użycie sprowadzało się do rysowania kursora na ekranie.
Dwa, standardów miliony. Każda karta miała inną wizję uzyskania trybów 
svga. Sytuację trochę ratował standard VESA i program univbe.

Karty dalej były wolne. Nieliczny szczęśliwcy posiadali kartę tseng 
et4000. Ale co z tego? Fragmentacja rynku powodowała, że przy tworzeniu 
gier zazwyczaj równało się w dół.

Należy też wspomnieć o magicznym vsync. Płynny scorlling bez tearing'u 
wymaga vsync'a. Ale co zrobić jak w zależności od karty (i monitora) 
mogliśmy pracować w warunkach od 55 do 85Hz. Gra miała chodzić 
szybciej/wolniej?

Koniec końców płynnych platformówek było niewiele. A głupi kursor myszki 
zawsze sprawiał wrażenie ociężałego i migającego pod windowsem (w wersji 
trzeciej, potem było trochę lepiej).


Z drugiej strony mamy mocno zamkniętą architekturę amig. Chipset ten 
sam. Ekran zawsze  50Hz w pal i 60Hz w ntsc.
Blitter odwalał masę roboty. Sprzętowe spritey można było multiplikować 
tworząc dodatkowe "warstwy" obrazu. A do tego copperlist i praktycznie 
dowolna organizacja ekranu.

Powyższe zabawki powodowały, że programistom wystarczał 1 ekran z 
buforem 16px po brzegach. Scrolling był sprzętowy, a jak dochodziło do 
przewinięcia (16px) ekranu to sprytny koder używał technologii 'adaptive 
tilesets scrolling' oszczędzając przy tym masę roboty blitterowi.

Przykłady? Na początek proponuję rozłożyć grę "Fire and Ice" z 
technicznego punktu widzenia. A jak nam będzie mało to "Jim Power" 
zagwarantuje multum wrażeń.

Podsumowując, to nie tryb planar w amidze dawał takie efekty tylko 
dodatkowe specjalizowane układy scalone oraz stabilność rozwiązań.

ps.
utf8 z okazji roku 2011, jak ktoś nie zobaczy to może pomyśli nad zmianą
Technical Details
Message-ID: <4da2f978$0$2449$65785112@news.neostrada.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.nask.pl!news.nask.org.pl!newsfeed2.atman.pl!newsfeed.atman.pl!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-b-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
References: <intdml.3uk.1@teren.hamstera.pl> <int8gk$46f$1@news.onet.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.nask.pl!news.nask.org.pl!newsfeed2.atman.pl!newsfeed.atman.pl!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-b-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
Date: Mon, 11 Apr 2011 14:52:17 +0200
From: Mike <niemam@asd.ppl>
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.15) Gecko/20110307 Fedora/3.1.9-0.38.b3pre.fc13 Thunderbird/3.1.9
MIME-Version: 1.0
Newsgroups: pl.comp.sys.amiga
Subject: Re: Dlaczego planar = płynny scrolling?
References: <intdml.3uk.1@teren.hamstera.pl> <int8gk$46f$1@news.onet.pl>
In-Reply-To: <int8gk$46f$1@news.onet.pl>
Lines: 91
Message-ID: <4da2f978$0$2449$65785112@news.neostrada.pl>
Organization: Telekomunikacja Polska
NNTP-Posting-Host: 83.25.190.80
X-Trace: 1302526328 unt-rea-b-01.news.neostrada.pl 2449 83.25.190.80:53754
X-Complaints-To: abuse@news.neostrada.pl
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit