Jak mohu zlepšit „hladkost“ ve 2D strana-rolování iPhone hry?

hlasů
3

Pracuji na poměrně jednoduchém 2D strana-rolování iPhone hry. Ovládací prvky jsou naklonění založený. I používat OpenGL ES 1.1 pro grafiku. Stát hra je aktualizován při rychlosti 30 Hz ... A výkres se aktualizuje při rychlosti 30 snímků za sekundu (přes NSTimer). Hladkost výkresu je v pořádku ... Ale ne tak hladký jako hru, jako iFighter. Co mohu udělat pro zlepšení plynulosti hry?

Zde jsou potenciální problémy jsem krátce úvahu:

  • Já změnou neprůhlednost až 15 „malých“ (20x20 pixelů) textury najednou ... Zdá se změnou neprůhlednost tímto způsobem může snížit výkon kreslení

  • Jsem vykreslování pouze na 30 snímků za sekundu (přes NSTimer) ... Možná 2D hry jako iFighter jsou vykresleny na vyšší počet snímků za sekundu?

  • Možná, že hra stát mohl být aktualizována rychleji? Všimněte si, zrychlení Vales jsou aktualizovány při 100 Hz ... Tak bych mohl potenciálně aktualizovat část státu hru při 100 Hz

  • Všechny mé textury jsou PNG24 ... Možná by pomohlo PNG8 (z důvodu menší velikosti ETC)

Položena 08/08/2010 v 04:03
zdroj uživatelem
V jiných jazycích...                            


2 odpovědí

hlasů
4

Je to opravdu těžké ladit grafickými problémy s tímto. Zkuste pomocí nástrojů OpenGL ES zjistit, kde jsou překážky. Je to docela hodí. Také, podívejte se na WWDC videa na OpenGL. Jsou to opravdu dobré.

Jedna věc, kterou jsem si všiml, je, že si řekl: „Jsem vykreslování pouze na 30 snímků za sekundu“. Znamená to, že jste ručně nastavit časovač nebo tak něco? To není dobrý způsob, místo toho byste měli používat CADisplayLinkupozornění pokud chce na obrazovce aktualizovat. Mohlo by to zlepšit své plynulost.

Odpovězeno 08/08/2010 v 04:36
zdroj uživatelem

hlasů
3

Dokončit MO je odpověď na 30 snímků za sekundu ...

Skutečnost, že vaše žádost o aktualizaci na 30 snímků za sekundu, neznamená, budete jej získat. Nejsem iphone programátor, ale mohu vám říci, že pokud vaše frame rendering trvá 100ms, máte zaručena nikdy aktualizovat rychleji, než 10 snímků za sekundu. A pokud jste skutečně renderování na 10 snímků za sekundu, pak hladkost je pryč.

Takže, měří čas, který byl zapotřebí k tomu, aby získali představu o tom, jaký skutečný počet snímků za sekundu dostanete. Jak optimalizovat rendering speciálně pro iPhone, nechám, že pro lidi, více odborných než já na toto téma.

Odpovězeno 08/08/2010 v 11:19
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more