Някой постигнал ли е успех в зареждането на текстури с помощта на вторична нишка на iphone?

Опитвам се да подобря производителността на моята игра на iphone. В повечето случаи правя зареждането на цялата си текстура точно преди изобразяване на текущия кадър. Това прави голям срив в честотата на кадрите. Някой опитвал ли е да зареди текстура във вторична нишка или нещо подобно?


person shakthi    schedule 15.06.2010    source източник
comment
Изглежда въпросът ми е дубликат на stackoverflow.com/questions/1253145/   -  person shakthi    schedule 15.06.2010


Отговори (2)


Има ли някаква конкретна причина, поради която зареждате текстурите си преди всеки кадър, а не веднъж за цялата сцена?

person caahab    schedule 15.06.2010
comment
Не искам да казвам това преди всеки кадър. Вместо това търсене на натоварване; Ако необходимата текстура за изобразяване не е заредена, тогава ще я заредя. - person shakthi; 15.06.2010
comment
Ааа, добре. Така че вече можете да проверите кои текстури трябва да заредите. В зависимост от вашата сцена може да направите някои прогнози за това какво ще се изобрази в следващия(ите) кадър(и) и да заредите това преди това паралелно. В зависимост от вашата стратегия за зареждане можете да заредите текстурите в системната памет преди това и да ги изтеглите в opengl, ако е необходимо. - person caahab; 15.06.2010

Моят опит показва, че трябва да заредите всички текстури, преди да започнете играта. IPhone е устройство с един процесор, така че зареждането на текстурите в отделна нишка няма да помогне много.

person Jens Utbult    schedule 15.06.2010
comment
Здравейте, опитвали ли сте EAGLSharegroup (вижте темата, която споменах)? Ще пробвам. - person shakthi; 15.06.2010
comment
Честно казано, не мисля, че ще имате късмет при зареждане на текстури, докато играта работи. Просто не са останали достатъчно ресурси и стартирането на зареждане на текстури в отделна нишка няма да промени този факт. Най-вероятно трябва да заредите всички текстури, преди да започнете играта. Ние използваме нишки и EAGLSharegroupb в нашата игра, но само за да не блокираме потребителския интерфейс, докато зареждаме текстури преди играта да започне. - person Jens Utbult; 16.06.2010