Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Michal Hapala Programování na konzolích: (hlavně) Nintendo DS.

Podobné prezentace


Prezentace na téma: "Michal Hapala Programování na konzolích: (hlavně) Nintendo DS."— Transkript prezentace:

1 Michal Hapala Programování na konzolích: (hlavně) Nintendo DS

2 Obsah Nintendo DS Programování Grafika Limity Výhody PS3 IBM Cell Letem světem

3 Nintendo DS BREAK THE MOLD CREATE A NEW GENRE

4 Nintendo DS Handheld 275 g 2 obrazovky, 256x192 2 ARM procesory 67/33 MHz 4 MB RAM Touch panel Wi-Fi IEEE 802.11 Mikrofon

5 DS Lite 218g (21%) Objem menší o 42% Větší svítivost obrazovek Větší stylus Menší procesor Odolnější dotykový display Delší výdrž na baterku

6 DS vs PSP I pro „casual“ hráče Malé Nové herní možnosti Nintendo addons Vývoj limitován HW PS2-like handheld VRAM 3x větší RAM 8x větší Slabší výdrž na baterku Poškrábání obrazovky

7 Grafika 2x 2D engine, 1x 3D engine 3D ~ N64 2D > GBA 656KB VRAM v dedikovaných bankách 6-6-6 RGB Víc do detailu za chvíli...

8 Stylus a mikrofon Rozpoznávání Obrazce Řeč Auto-sampling jen pro jeden modul Pressure? Homebrew Colors

9 Wi-Fi „Free, Comfortable, Simple“ LAN DS vs DS Wii vs DS Internet Wi-Fi Friends Rivals

10 Vývoj Code Hardware debugger CodeWarrior IDE (MSVS, Eclipse bez nativního debuggeru) Grafika Character Studio Photoshop …

11 Vývoj II

12 Vývoj III Nitro SDK psané v C Nitro System C++ bez problémů Žádná floating-point jednotka Pro čísla větší než 65536 nepřesné Aproximace sin/cos funkcí „Dělička „ a „ odmocňovačka„ Možné použít v async módu Omezený bandwith za frame do paměti Kooperativní multithreading Priorita Thread musí sám předat žezlo Možné čekat na přerušení

13 Zobrazení Line buffer OBJ overflow – omezení na frame Line overflow – omezení na řádek 3D je flexibilnější než 2D Pevně dané FPS 256 řádek 192 vykreslování 64 volno na práci s VRAM 3D dostat ven co nejdříve

14 Zobrazení II

15 2D Grafika Layers 4 pro BGR 4 pro OBJ (8x8 až 64x64) HW omezení 128 OBJ na obrazovku (64x64) 128 OBJ na řádek (8x8) Palety

16 2D Grafika II. Atom = 8x8 dlaždice = Character Palety 16 palet x 16 barev 1 paleta x 256 barev 16 palet x 256 barev (extended) VRAM Textury “Characters” “Screens”

17 3D Grafika 2048 tris / frame 6144 vert / frame Double buffered Alpha-blending, Mlha, AA Toon Shading Depth Buffer

18 Character studio Characters Background Cell Screens Cells Multi-Cells

19 Kam s tím? Do VRAM

20 Omezení VRAM

21 Kolik... Char background (256x256) 256 barev = 64kB 16 barev = 32kB Screen soubor pro VRAM 2,4,8kB Char OBJ (256x256) Pro 2D kompresi stejné jako bgr U 1D podle komprese Rozšířené palety 16x256 barev paleta = 8kB Textury a palety pro 3D

22 Double 3D 30fps Střídavé vykreslování 3D Buffer ve VRAM = méně prostoru pro grafiku 3D na obou obrazovkách 3D sprites Volnější HW omezení (Víc poly na řádku než OBJ) Zůstane: 192kB na 2D, 128kB na textury, 32kB na palety textur, 16kB na 2D palety Zbytek jsou buffery pro double3D a pro generovaní fontu

23 Omezení a přednosti Omezení Malá a neflexibilní VRAM Pevné FPS Omezení času na řádku Pevná řádová čárka Paletová grafika Nízké rozlišení Malý výkon pro efekty Přednosti Malé Přenosné Roztomilé ;) … Dvě obrazovky Touch screen Mikrofon WiFi

24 DS Závěrem Understand the capabilities! Design towards strengths! Co v DS talku nebylo... ? Minimum 3D ;) Přídavné zařízení (Rumble pack atp.) Otázky než přijde Cell?

25 PS3 a IBM Cell

26 PS3 IBM Cell 3.2GHz 1x PPU 6(7)x SPU ‘Supercomputer on a Chip’ RSX 'Reality Synthesizer‚ nVidia založená na NV47 (GF 7800) 20-160GB disk Bluetooth Gigabit Ethernet USB 2.0 HDMI Wi-Fi

27 Přehled

28 IBM Cell “… as programmers are usually used to the tranquil garden of modern x86s with abundance of memory, large caches, blazing branch prediction, out-of-order execution and other features that we take for granted. A move to these new architectures may be slow and painful...” Michal Hapala ;), Data structures for ray tracing on specialized hardware, 2009

29 Přehled II PPU PowerPC Jako moderní procesor Organizátor SPU RISC Branch hinting 256kB Local Store Instrukce Data Žádna HW cache Možná změna parametrů! 128x128b registrů

30 SPU aplikace Přistup Heterogenní Homogenní Lineární kód Maximálně předvídatelné skoky Vektorové instrukce Velké dávky výpočtu bez přerušení

31 Závěrem programátorský přehled Free Cell SDK Linux (Fedora 7+) Simulátor („AS IS“) Možné pouštět na PS3 Žádný přístup na grafiku PS3 SDK Windows (MSVS) Hardwarový debugger Performance statistiky nVidia GFX (OGL) Programming Cell Broadband Engine AKA Red Book 666 stránek.. není divu Otázky?


Stáhnout ppt "Michal Hapala Programování na konzolích: (hlavně) Nintendo DS."

Podobné prezentace


Reklamy Google