Přeskoč navigaci

John Carmack ohledně hardware Nintendo DS

John Carmack ohledně svého prvního projektu pro Nintendo DS zmínil vlastnosti a možnosti hardware Nintendo DS.

Zmíním jen pár informací, které mne zajímají. John Carmack tvrdí, že během vývoje musel brát ohled na HW a rozebírá některé aspekty.

John pro projekt psal hardwarově akcelerovaný 3D renderer a tvrdí, že základní kód napsal během 3 dnů v hotelu.

Nintendo DS hardware

Ve zkratce: Nintendo DS32 bit, 66 MHz ARM9 procesor a 33 MHz ARM7 koprocesor, 4MB paměti, cartridge (cca 33.0 × 35.0 × 3.8 mm, velikost do 2gigabit), dva displeje (jeden je dotykový, každý 256 x 192 pixelů), Wifi a hardwarově akcelerovanou fixed point matematiku.

John zmiňuje kvalitní dokumentaci a slušné vývojové prostředí, kdy prakticky celý HW je slušně popsán. Nintendo dodává SDK, ale to je celkem drahé, open source komunita nabízí vlastní SDK.

Proti relativně slabému procesoru obsahuje DS celkem slušnou 3D grafiku, která je ovládána slušnou podmnožinou OpenGL. John tvrdí, že začal vývoj s double bufferem, ale později toto opustil, jelikož zjistil, že rasterizer pracuje velmi dobře i v módu single buffer a tím uštřil paměť.

Přiznám se, že nejsem si tímto moc jistý, ale John tvrdí, že lze změnit matici během definice primitives, což je prý koncept, který nikde jinde neviděl.

Během vývoje John došel k tomu, že nahradil 3D modely za sprity (v několika velikostech), protože se bál aby v určitých situacích nedošlo k problémům v případě, že by došlo k většímu počtu příšer na jednom místě.

Zajímavá věc je, že pokud dojde k přetížení polygon listu (moc polygonů) tak zbývající polygony nejsou zobrazeny. Jinde při přetížení dojde ke snížení snímkové frekvence, na DS ne, tam prostě chybí polygony. Našel jsem, že teoretické maximum je 120,000 trojúhelníků za sekundu (při 60Hz), ale DS nemůže (nebo těžko) provádět 3D operace na obou displejích. Maximálně tedy 6144 bodů nebo 2048 trojúhelníků na snímek.

Připadalo mi to divné, ale důsledkem je, že ať děláte co děláte, DS stále stíhá vykreslovat na 60Hz a zbytek hry tedy taky (druhá věc jak pak vypadá obsah obrazovek) běží na 60Hz. Výsledkem je, že pokud se chcete udržovat na maximálním limitu polygonů je výhodné začít od středu obrazovky (maximálně na okrajích budou chybět polygony) nebo si prostě necháte větší rezervu v počtu polygonů.

zápory dle Carmacka (na wikipedii se trchu liší):

  • chybí filtry textur
  • malá paměť textur (menší než originální Playstation One), 512 kb na obrazovku, maximální velikost je 1024x1024 pixelů
  • chybí základní blending módy OpenGL

zdroj:blogs.ign.com

Na závěr něco jiného: Cross compiler FreePascal pro Nintendo DS a hlavní stránka FPC pro NDS

Jaggni to|Linkuj

Komentáře k tomuto článku



Prosím o dodržovaní určitých pravidel (tj. žádné neslušné texty, reklamy a tak prostě podobně). Komentáře porušující tyto pravidla budou odstraněny.

Před vložením komentáře je nutno provést náhled, jedná se o ochranu proti spamu.

 

Vložení komentáře
  
 
 

 

© NetCode.cz, 2006-9 | Všechna práva vyhrazena
Provozováno na mém pikoCMS, vygenerováno: 30.3.2017 14:39:12

O mně

Informace o mé maličkosti a kontakt.

Lokální tagy

amd(1) amiga(1) apple(1) aspnet(2) audio(1) borland(5) C64(1) codegear(12) delphi(39) dotnet(9) dvd(1) electone(1) embarcadero(1) emulator(11) firebird(2) flash(1) freepascal(5) gamecube(3) gigabyte(2) google(3) hardware(48) holografie(1) homebrew(29) hry(12) ibm(14) iphone(7) jidlo(1) komponenty(1) konzole(15) latex(1) lenovo(17) migrace(1) modchip(3) moje(9) mplayer(3) mssql(1) multi-touch(3) native-api(1) navody(23) nintendo(53) Nintendo3DS(2) nintendo64(6) NintendoDS(15) onestation(2) opera(1) ot(1) palm(1) pascal(1) pdf(1) pic(2) pmd85(1) pocitace(1) print-server(2) programovani(21) programy(25) R400(1) recenze(6) retro(1) satelit(1) seamonkey(5) snes(3) svepomoci(1) technika(1) thinkpad(20) usb(1) video(3) vs(3) vykriky(12) web(7) webdesign(8) wii(83) wiimote(13) wiiware(1) wiki(2) windows(7) windows-mobile(1) wl500g(2) wtf(8) zivot(1) ZX-Spectrum(5)