Hírek | Archívum | Fórum | IRC | Amiga | AmigaOS | FAQ | RSS

 - Fórumok - Regisztráció - Keresés - Statisztika - Szabályzat - Pegasos.hu fórum
forum.amigaspirit.hu / Fejlesztés / Általános fejlesztési kérdések
<< 1 ... 9 . 10 . 11 . 12 . 13 . 14 .
Szerző Üzenet
dh1
Mr. DTP

# Elküldve: 2017. Dec. 05. 10:49


Ehh akkor nem kerdezek ra :)

Chain-Q
Divatamigás

# Elküldve: 2017. Dec. 05. 13:19 - Szerkesztve: charlie


@Mash
próbálom kerülni az instruction cache miss-eket.

Hogy sikerül egy tightloopban kilógni az ICache-ből? Nem data cache-et akartál írni?

Felmerült, hogy ha a scanline 4 chunky pixel, vagy több, akkor longwordöket írok, ha 2 pixel, akkor wordöt, nem byte-okat, mivel mindegyik move 1 clock cycle, de így meg nem hiszem, hogy beférek a cache-be.

A doubleword writeokat megcsinálja a proci storebufja neked, azzal nem kell szopni, csak nagyon hosszú scanlineoknál gyorsít valamennyit. Tudom h. PC-n ez volt a default trükk régen, hogy dwordoket írtál és a regiszterekben tekerted a biteket jobbra-balra, de ez a hatvanason általában nem segít, hacsak nem fél fél képernyőnyi polykat rajzolsz.

A fő baj az, hogy csak 8K a data cache, a képernyőterület meg ~64K vagy környéke, és a nullhatvan (és az összes cache-sel rendelkező 68k) először akkor is beolvassa a memóriaterületet a cache-be ha írni akarsz rá. Ergó egy képernyőtörlés kb. egy cacheflush, még akkor is, ha csak írsz. (Kivéve a MOVE16 utasítás negyvenesen és hatvanason, az direktben ír ill. másol a cache megkerülésével, de azt meg elég macerás használni.)

Egy próbát akarok még tenni azzal, hogy felhasználom az FPU regisztereit is, hogy a lehető legkevesebbet kelljen a stackhez/memóriához nyúlni, hátha ez is gyorsít valamennyit.

Az a baj, hogy még a fentiek ellenére is, általában nem a scanline írás lassú, mert ott többségében már a cache-ben lévő byteokra írsz, mert egy cacheline 16 byte, amit egyszerre olvas be a proci, ha cache miss van, hanem a textúra olvasása, mivel ott legtöbbször átlósan olvasod a memóriát, ergó szinte mindig cache missre futsz. Ez ellen lehet küzdeni valamennyire pl. a textúra kisebb tile-okba rendezésével, de sajnos csodák nincsenek.

Persze beolvashatnál egy adag textúrát az FPU regiszterekbe, de ha ha tudnád mi a következő textúra-terület ami kelleni fog, akkor elég lenne prefetchelni az adatot a cache-be és nem kell az FPU-val szopni.

Mash
Tag
# Elküldve: 2017. Dec. 05. 16:36


Kösz, Charlie a választ! Murphy-vel beszélgettünk és akkor is felmerült a tiled rendering. Gondolkodom még ezen, meg játszok kicsit a kóddal, aztán előbb-utóbb már tényleg csak kinő belőle egy demo. ;)
Köszönöm, még egyszer!

AliveMOon
Tag

# Elküldve: 2017. Dec. 07. 04:13 - Szerkesztve: alivemoon


A LINUX include könyvtárában mit keres a zorro.h és zorro_ids.h :)

Mint a menzán a finom főzelék, ha kihűl semmi nem különbözteti meg a disznók moslékától :)

Chain-Q
Divatamigás

# Elküldve: 2017. Dec. 13. 22:15


@AliveMOon:
Ha a Linux fut Amigan (marpedig fut), akkor hogy nevezzek el a buszrendszerevel kapcsolatos fileokat? batman.h vagy mi? :)

BSzili
Tag

# Elküldve: 2018. Feb. 20. 19:18


Hol találok infót arról, hogy a blitterrel hogy lehet poligonokat rajzolni? Most az AreaDraw-ot használom, ami működik, de sok kis poligonnál elég lassú még A1200-esen is. Arra, hogy blitterrel közvetlenül hogy megy sehol se leltem példát.

Chain-Q
Divatamigás

# Elküldve: 2018. Feb. 20. 20:05


Disclaimer: NEM ERTEK HOZZA.

De asszem ugy van, hogy kirajzolod a 3 vonalat blitterrel egy kulon memoriateruletre (1 bitplane-esen, mintha wireframe lenne) majd atvaltod a blittert olyan modba, hogy a poligonod befoglalo negyzetet fillezze, es amikor edge-et talal akkor valtson fillezesi modot, a forrast arra a teruletre allitod ahol a vonal-haromszog van, vegul a celteruletet oda allitod ahol a haromszog akarod h. megjelenjen, azaz a kepernyobufferedbe.

Igy vegigmegy szepen a poligonod feluleten, es a belsejet kifillezi, a kulsejet meg uresen hagyja. Ja es a blitter csak bitplane-ekkel tud dolgozni, tehat az output fillezest annyiszor kell ahany bitplane-re kell a poligon.

Legalabbis valahol ezt olvastam. De sosem csinaltam meg magamtol.

BSzili
Tag

# Elküldve: 2018. Feb. 21. 12:01


Thx! Gondoltam, hogy csak bitplane-ekhez jó, de rendszerbarát megodásnak ott az AreaDraw ami már üzemel. Nagyjából értem mit kellene csinálni, így már tudom mit keressek.
Ha jól látom nem úszom meg, hogy egyes vonalakat duplán rajzoljak ahová kell körvonal is.

dekanyz
Tag

# Elküldve: 2018. Feb. 21. 12:47


Quoting: BSzili
Ha jól látom nem úszom meg, hogy egyes vonalakat duplán rajzoljak ahová kell körvonal is.

En se csinaltam soha ilyet csak olvastam rola. Ugy remlik, hogy van tobb fele kitoltes is es asszem tud valami ilyesmit hw-esen is.

AliveMOon
Tag

# Elküldve: 2018. Feb. 22. 05:16


Quoting: BSzili
Hol találok infót arról, hogy a blitterrel hogy lehet poligonokat rajzolni?


http://aminet.net/package/dev/asm/SSU_0_19

Ebben valami ilyesmit csináltam.

BSzili
Tag

# Elküldve: 2018. Feb. 22. 14:43


alivemoon
Kösz! Ezt majd megtanulmányozom.

AliveMOon
Tag

# Elküldve: 2018. Feb. 23. 02:16 - Szerkesztve: alivemoon


BSzili

Ez egy játék gyök, alap!
Esetleg nincs kedved csatlakozni, ennek a befejezéséhez?

--------------------------

Kicsit a háttér info, ami nem derül ki szerintem ebből a verzióból sem.
A koncepció az, hogy vannak a kamerás mérő szoftvereim, azok úgy mérnek autó-alkatrészeket, hogy szétrobbantják a kamera képet elemekre, vektorizálva.

level_xy.txt egy ilyen eljárás dumpja.

Tehát úgy képzelem, hogy akár egy előre renderelt minimál 3D-s videóból létre hozhatnék ilyen olyan csatornákat amiben száguldozni lehetne.

Háttértárból vagy netről "streamelve", a koordinátákat.

Szimpla Amiga 2000-emen 68000 1M chip 8M fast is elketyeg, ebben a formában.
Direkt vektorral próbálkozom, hogy ne c2p-vel töltse a CPU az időt.


Video

A videóban látszik "némi" kitöltés kifutás :)
Az abból adódik, hogy a level.txt forrásban leírt kontúrt próbálja menet közben alul mintavételezni kihagyni(elhanyagolni) kisebb részleteket, skálázás során ráadásul ki/be fut a képernyőről/képernyőbe, azaz keretnél metélni is kell, ezeket a számításokat még közel sem sikerült összhangba hoznom a blitterrel :)

Blitternél különösen veszélyes a csúcspontok rajzolása. Láttam forráskódot, ahol inkább az alkotó korábban abba hagyja a vonal rajzolást és inkább be logikázza CPU-val a vonalak találkozását :) Lehet én sem úszom meg.

Konkrétan ez nem ugyan az a probléma, mint háromszög rajzolás, háromszög rajzolásnál, úgye jobboldali vonalakat 1-gyel arrébb rajzolom és akkor bárhogyan fordul a háromszög meglesz a 2 pixel ami a blitternek kel a fillezés ki és bekapcs hoz.
Viszont itt a kontúroknál amikor egyaránt vannak konkáv és konvex formák, már valamit trükközni kell, hogy ne keresztezzék egymást a pixelek, vagy éppen ne essenek egybe. Mindkettőnél az ilyen villódzás az eredmény :)

Valami sorrendezést kellene elforgatás után x koordinátákra.


Mindegy Blitter töltés meg ami kell benne van.

BSzili
Tag

# Elküldve: 2018. Feb. 23. 19:53


Egyelőre annak is örülni fogok, ha sikerül egyetlen poligont kirajzolni :)

AliveMOon
Tag

# Elküldve: 2018. Feb. 25. 09:33


Szerintem az is jó lenne, ha lennének kérdéseid, akkor motiválna, hogy átnézzem és akkor belejavítanék :)

BSzili
Tag

# Elküldve: 2018. Feb. 25. 12:59


Ha már ott tartanék, hogy vannak kérdéseim az azt jelentené, hogy jutottam valamire. Eddig semmit nem foglalkoztam közvetlen h/w programozással.

AliveMOon
Tag

# Elküldve: 2018. Feb. 25. 15:40 - Szerkesztve: alivemoon


AsmPro-ban írtam. debuggal lehet léptetni, nem rugja ki a randszert külön screenenfut.
A könyvtárt amiben fut ssu:-ra kell assignolni.

AliveMOon
Tag

# Elküldve: 2018. Már. 18. 22:18


Szerintetek,a Vámpír core milyen algoritmussal tudja, hogy regisztrálva van vagy nem?

Azaz felraktam még regisztrálás előtt a 2.7-et. A core szuperül megy, csak minden fekete fehér, egyedül a pointer sprite szines.
Regisztráltam a kártyát és az új 2.8 már szép színesben fut.

Minden kártyának fenntartanak egy bitet a core-ban?

Awe
Tag

# Elküldve: 2018. Már. 19. 12:06


Ez a regisztrációs dolog érdekes. Én is regisztráltam a kártyámat, de még egy visszaigazoló e-mail sem jött. IRC-n írtam ezzel kapcs, de semmi választ nem kaptam. Kérdeztem, hogy a reg után minek kéne történni, de csak azt a választ kaptam, hogy nem értik a kérdést. Na mindegy.

AliveMOon
Tag

# Elküldve: 2018. Már. 19. 14:04 - Szerkesztve: alivemoon


Nekem kuldtek, igazolo emailt.
Az emailrol arra kovetkeztetek, hogy teljesen automata.

Egyebkent haleluja, sikerult a 600-as billentyut meg javitani van vegre AAAA betu :).
Arrol irok.
kb 10mm-t vissza vagtam a szalagbol es egy szikevel lekapartam a vezeto festekrol a lakkot, aztan 2B grafit ceruzaval megerositettem.

Kivancsi arra vagyok ez menyire tartos :)

<< 1 ... 9 . 10 . 11 . 12 . 13 . 14 .
forum.amigaspirit.hu / Fejlesztés / Általános fejlesztési kérdések
 
 

Powered by easy forum software miniBB™ © 2001-2018