[#31] Re: Gry wektorowe - silnik sposób działania

@Hexmage960, post #30

Taka ciekawostka - znalazłem dyskusję nt. wypełniania link. I faktycznie fantastycznie można wypełniać pełnymi słowami 32-bitowymi na raz :) Tylko, że wypełnia się kolumnami :)

lea       Bitplane, a0
          moveq     #40, d2             ; Screen width in bytes

          moveq     #10-1, d3           ; Screen width in 32-bit longwords
.xloop    moveq     #0, d1              ; Set fill carry to 0

          move.w    #256-1, d0          ; 256 rows
.yloop    eor.l     (a0), d1            ; Fill
          move.l    d1, (a0)

          add.w     d2, a0              ; Step to next row
          dbf       d0, .yloop

          lea       -40*256+4(a0), a0   ; Step to top of next column
          dbf       d3, .xloop


Tak więc rendering w FAST na szybkich procesorach jest bardzo fajną opcją.
[#32] Re: Gry wektorowe - silnik sposób działania

@Hexmage960, post #28

Nie, nie o to mi chodziło. Po prostu CPU PC musi się więcej napocić by postawić te 32 piksele chunky (32 operacje), niż Amiga postawić 32 piksele w planar (1-8 operacji).

Na amidze ustawienie losowych 32 pixeli w 256 kolorach wymaga ustawienia/skasowania wlasciwego bitu na 8 bitplanach dla kazdego z 32 pixeli czyli 256 operacji, na pc to tylko 32 operacje zapisu. Czyli amiga 256 operacji, pc 32 operacje - faktycznie pc sie wiecej napoci :))
Nawet przy zapisie kolejnych pixeli na pc to przy 32bitowych wartosciach na raz to tylko 8 operacji - na amidze to 8 operacji. Obecnie wszystkie pc sa 64bit, wiec wystarcza 4 operacje.
Twoje twierdzenie nie ma wiec zadnych podstaw - nawet gdy pominiemy kwestie szybkosci pamieci, czas wykonywania instrukcji czy zegar procesora (ktore nie sa atutami amigi w por. do pc) to amiga co najwyzej moglaby dorownac pc w liczbie instrukcji/piksel tylko przy zapisywaniu kolejnych pikseli (czyli kopiowaniu) i to przy zalozeniu, ze pc jest 32 bitowy.
[#33] Re: Gry wektorowe - silnik sposób działania

@docent, post #32

A jak sie Ma PC z epoki ..czyli XT 8086 i AT 286 EGA do Amigi ?
Juz nie jest tak rozowo na 8 bitowym PC lub 16 Bitowym AT..a do tego sobie dodaj dzwiek i muzyke ktora musi ten CPU przetworzyc ...bo nie ma PAULI i CHIPu

W latach 80 to bylo naprawde genijalne rozwiazanie

Ostatnia aktualizacja: 24.09.2019 20:20:37 przez HOŁDYS
[#34] Re: Gry wektorowe - silnik sposób działania

@HOŁDYS, post #33

PC z epoki to 386 (premiera w 85r.) tylko u nas było inaczej.
[#35] Re: Gry wektorowe - silnik sposób działania

@PrzemasIII, post #34

no właśnie 1985 to była premiera. W PC popularny zrobił się kilka lat później. 88-93 rok.
[#36] Re: Gry wektorowe - silnik sposób działania

@tom256, post #35

Tak jak i Amiga. Premiera 1985, popularność - 1988-93.
[#37] Re: Gry wektorowe - silnik sposób działania

@docent, post #32

Nawet przy zapisie kolejnych pixeli na pc to przy 32bitowych wartosciach na raz to tylko 8 operacji - na amidze to 8 operacji.

Oczywiście danych w 8 bitplanach i 8-bitowym chunky jest tyle samo, więc samo kopiowanie 32-bitowych wartości zajmie tyle samo operacji.

Spójrz na to jednak również tej strony, że Amiga potrafi zapisać/zmodyfikować do 256 pikseli w 8 operacjach.

Miksowanie tła i pierwszego planu też jest prostsze z pomocą bitplanowych masek.

Na amidze ustawienie losowych 32 pixeli w 256 kolorach wymaga ustawienia/skasowania wlasciwego bitu na 8 bitplanach dla kazdego z 32 pixeli czyli 256 operacji, na pc to tylko 32 operacje zapisu. Czyli amiga 256 operacji, pc 32 operacje - faktycznie pc sie wiecej napoci :))

Narzut związany jest tylko ze scalaniem. Scalanie wykonywane jest jednak log2(k), gdzie k to liczba bitplanów. O scalaniu zapomniałem w poprzednim poście.

Policzmy koszt chunky-to-planar dla 64-, 128- i 256-bitowych danych (odpowiednio 2-, 4- i 8-bitowe chunky utworzone przez odpowiednie planar-to-chunky). Za operację dominującą obierzmy operację zamiany bitów pomiędzy dwoma 32-bitowymi rejestrami:

64 bity (8 bajtów):
- 1 operacja dominująca, która zamienia bit 0/1 pomiędzy parą rejestrów.
128 bity (16 bajtów):
- 2 operacje dominujące, która zamieniają bity 0-1/2-3 pomiędzy parami rejestrów,
- 2 operacja dominująca, która zamienia bity 0/1 i 2/3 pomiędzy parami rejestrów.
256 bitów (32 bajty):
- 4 operacje dominujące, które zamieniają bity 0-3/4-7 pomiędzy parami rejestrów,
- 4 operacje dominujące, które zamieniają bity 0-1/2-3 i 4-5/6-7 pomiędzy parami rejestrów,
- 4 operacje dominujące, które zamieniają bity 0/1, 2/3, 4/5 i 6/7 pomiędzy parami rejestrów,

Rozmiar danych rośnie wykładniczo, tak i koszt. Koszt konwersji paczki 32*n pikseli (2, 4, 8-bitowych) jest zatem O(n * log(k)), gdzie n to liczba 32-bitowych słów do konwersji.
[#38] Re: Gry wektorowe - silnik sposób działania

@Hexmage960, post #37

A teraz ciekawostka - ile operacji dominujących jest wymagane, żeby skonwertować za pomocą c2p, gdyby dane były przechowywane w ... 32 bitplanach?

Pamiętajmy, że wówczas jeden 32-bitowy rejestr by przechowywał 1 piksel chunky truecolor z kanałem alfa.

Odpowiedź: Na podstawie tego co wyżej opisałem wychodzi, że dla 1024 bitów (czyli 32 pikseli) liczba operacji dominujących dla 32-bitowego CPU, to 16*(log(32))=16*5=80.

To tak tylko żeby zobrazować jak narzut jest nieznaczny. Mnożnik dla 256 kolorów to 3, a dla true-color z kanałem alfa wynosi 5.

Oczywiście dla grafiki 32-bit planar nie jest potrzebny - ale jak widać jest to całkiem efektywna architektura i c2p wiele nie zabiera.
[#39] Re: Gry wektorowe - silnik sposób działania

@Hexmage960, post #37

Oczywiście danych w 8 bitplanach i 8-bitowym chunky jest tyle samo, więc samo kopiowanie 32-bitowych wartości zajmie tyle samo operacji.

Spójrz na to jednak również tej strony, że Amiga potrafi zapisać/zmodyfikować do 256 pikseli w 8 operacjach.

Procesorem??? Jak to sobie wyobrażasz? Tylko nie mów, że chodzi o ekran z 1 bitplanem, bo to mocno naciągana teza - rozmawiamy tu o porównaniu działania w trybach 256 kolorów a nie o skrajnych przypadkach, które nie są na co dzień wykorzystywane.
Narzut związany jest tylko ze scalaniem. Scalanie wykonywane jest jednak log2(k), gdzie k to liczba bitplanów. O scalaniu zapomniałem w poprzednim poście.

...plus cala reszta tego bezsensownego wpisu...

Co ma piernik do wiatraka? Nie rozmawiamy o konwersji c2p na amidze, tylko o rysowaniu
pixeli w trybie planarnym 256 kol na amidze vs tryb 256 kol vga na pc.
Zamiast po prostu powiedzeć "pomyliłem się, sorry", to zalewasz temat jakąś pseudonaukową papką słowną w nadziei, że nikt tego nie przeczyta...
[#40] Re: Gry wektorowe - silnik sposób działania

@docent, post #39

Niebawem kolega skonczy Dune III ;)
Wiec bierz poprawke co hexmag pisze aczkolwiek fanem Amigi jestOK
[#41] Re: Gry wektorowe - silnik sposób działania

@HOŁDYS, post #40

Oglaszam wszem i wobec, ze DUNE 3 jednak nigdy sie nie ukaze ale zamiast strategii, bedzie mozna pograc w sokobana.

Lepszy rydz niz nic szeroki uśmiech
[#42] Re: Gry wektorowe - silnik sposób działania

@selur, post #41

zamiast strategii, bedzie mozna pograc w sokobana


pewien jesteś?
[#43] Re: Gry wektorowe - silnik sposób działania

@recedent, post #42

jak tylko kolega Minniat skonczy studia, to bedziemy mieli sokobana jak ta lala
[#44] Re: Gry wektorowe - silnik sposób działania

@docent, post #39

Kończąc ten temat napiszę, że podtrzymuję tezę, że:

Zalety PC:
1. PC może swobodnie mapować pojedyncze piksele,
2. Ze względu na konstrukcję pamięci, Amiga trudniej mapuje pojedyncze piksele, ale jest to możliwe stosując składanie bitplanów.
3. Możliwość operowania na pikselach.

Zalety Amigi:
1. PC potrzebuje mocniejszego procesora niż Amiga, by modyfikować grupę sąsiadujących pikseli,
2. Szybsza możliwość wpływania na wybrane bity w pikselach.
3. Możliwość optymalizacji szybkości operacji oraz rozmiaru danych graficznych (wybrane bitplany).

W Amidze CD32 pojawił się akcelerator graficzny, który umożliwia szybkie wklejanie chunky.

Zresztą zobacz sobie gry na Amigę i na PC. Amigowe gry mają piękną kolorową grafikę, szybką animację i to wszystko przy 68000/68020 + Blitter. A PC - wymagają mocnych procesorów 386/486/Pentium.
[#45] Re: Gry wektorowe - silnik sposób działania

@selur, post #43

jak tylko kolega Minniat się wyleczy, to bedziemy mieli sokobana jak ta lala

Studia studiami, wszystko zależy od mojego zdrowia. Na szczęście choroba jest uleczalna.

Sokobana dokończę, nawet nie myślę do przodu co będzie dalej. Ale będzie na pewno coraz lepiej.
[#46] Re: Gry wektorowe - silnik sposób działania

@Hexmage960, post #44

Zalety Amigi:
1. PC potrzebuje mocniejszego procesora niż Amiga, by modyfikować grupę sąsiadujących pikseli,

Nieprawda, wezmy na przyklad ustawienie 2 pixeli obok siebie na #$23 (ktorys z 256 kol):
amiga				pc	
moveq #$c0,d0			mov eax, #$2323
or.b d0, (plane0address)	mov eax, [address]
or.b d0, (plane1address)
or.b d0, (plane5address)

Dopiero przy modyfikowaniu jednoczesnie powyzej 4 pixeli (przy zalozeniu, ze na te sama wartosc) amiga moze wykonywac netto mniej instrukcji niz pc.


2. Szybsza możliwość wpływania na wybrane bity w pikselach.
3. Możliwość optymalizacji szybkości operacji oraz rozmiaru danych graficznych (wybrane bitplany).

Tylko czy to jest zaleta amigi? To generalnie sa zalety trybow planarnych, wlasnie z tego powodu zostaly one wymyslone. Pc tez ma takie tryby graficzne w EGA, wiec zadna to przewaga.

W Amidze CD32 pojawił się akcelerator graficzny, który umożliwia szybkie wklejanie chunky.

Akiko nie jest zadnym "akceleratorem graficznym, umozliwiajacym szybkie wklejanie chunky". To zwykly konwerter chunky to planar - do adresu wejsciowego wprowadza sie bajty w formace chunky, z adresu wyjsciowego pobiera sie te bajty w formacie planarnym.
Kazdy przecietny elektronik pewnie moze sklecic taki uklad z paru bramek i ttli.

Ostatnia aktualizacja: 27.09.2019 00:55:38 przez docent
[#47] Re: Gry wektorowe - silnik sposób działania

@docent, post #46

Bez przesady z ta grafika 3D, bo jeszcze hexmage bedzie chcial zrobic "Magazyn 3D" i grafike na wektorowa bedzie przerabial.
[#48] Re: Gry wektorowe - silnik sposób działania

@Don_Adan, post #47

Magazyn w pelnym 3D i w Hiresie ?!

wszyscy czekajacy w kolejce za Vampirem v4 beda wniebowzieci
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem