1 / 31

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

Programování na konzolích: (hlavn ě) Nintendo DS. Michal Hapala. Obsah. Nintendo DS P rogramování Grafika Limity Výhody PS3 IBM Cell Letem světem. Nintendo DS. BREAK THE MOLD CREATE A NEW GENRE. Nintendo DS. Handheld 275 g 2 obrazovky, 256x19 2 2 ARM procesory 67 /33 MHz

feoras
Télécharger la présentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  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 andother features that we take for granted. A move to these new architecturesmay 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?

More Related