PDA

Просмотр полной версии : Stage3D Starling на Galaxy Tab 2


CrazyFlasher
11.05.2015, 11:30
Даёт низкий фпс. На слабых андройд девайсах работает на 60 фпс.
Режим энерго-сбережения отключён.
В чём причина? Может кто сталкивался?

mayakwd
11.05.2015, 12:10
AIR 17 not compatible with Galaxy Tab II (http://forum.starling-framework.org/topic/air-17-not-compatible-with-galaxy-tab-ii)

CrazyFlasher
11.05.2015, 12:26
причём тут AIR 17?
Я в курсе этого...с AIR 17 много проблем. Вопрос в другом. Билд идёт под AIR 15

caseyryan
11.05.2015, 14:16
Попробуй с другим режимом отрисовки.
new Starling(StarlingController, stage, null, null, "auto", Context3DProfile.BASELINE_CONSTRAINED); // BASELINE или BASELINE_EXTENDED

mayakwd
11.05.2015, 14:48
причём тут AIR 17?
Я в курсе этого...с AIR 17 много проблем. Вопрос в другом. Билд идёт под AIR 15

Я сделал предположение, данных то не было в теле первого сообщения.

CrazyFlasher
12.05.2015, 10:26
2 caseyryan: без результата :(

dimarik
12.05.2015, 20:35
У меня такой девайс есть под рукой. Сбилди, пожалуйста, тестовый показательный пример, а лучше, дай код, и я попробую поковыряться.

CrazyFlasher
14.05.2015, 10:25
Dimarik, ссылка на тестовый FD проект:
https://dl.dropboxusercontent.com/u/13321619/test-project.zip

Необходимые либы закинул прям в проект для удобства.
Результат теста:
1. Слабый GT-S7390 даёт 49 - 55 FPS
2. Galaxy Tab 2 GT-P5100 - стабильно 29.9 FPS

Ещё вопрос в догонку: когда приложение только открывается, оно несколько секунд тормозит. Что за процессы происходят? Загрузка / кеширование текстур? Можно как-то это отследить через starling api? Хорошо заментно на слабом GT-S7390.

dimarik
15.05.2015, 16:44
Так-с. Под рукой оказались Sony Xperia и Samsung Galaxy Tab 2 GT-P3100. Немного не тот девайс, согласен.
Я сбилдил с AIR 18 beta captive runtime. Xperia нормально все отобразила и бодро проигрывала анимацию.
С самсунгом начались проблемы в виде
ArgumentError: Error #3672 и ArgumentError: Error #3675. Анимации не было видно, однако дебажный дисплейчик слева вверху нормально показывал.

Здесь (https://cloud.mail.ru/public/4neUNRiDV2BG/test-project_GT-P3100.flm) есть лог для скаута.

Попробовал запустить существующую test-project.apk из /dist. Она собрана без captive runtime. Скачал Adobe AIR из гугломаркета, им оказалась версия 17.0.0.144.
Две ошибки ArgumentError: Error #3675, о которых говорили выше, упоминая всуе AIR 17.

Собрал сам под AIR 15. Полет нормальный, стабильные 60 fps. Нужно, конечно, на GT-P5100 смотреть.


Ещё вопрос в догонку: когда приложение только открывается, оно несколько секунд тормозит. Что за процессы происходят? Загрузка / кеширование текстур? Можно как-то это отследить через starling api? Хорошо заметно на слабом GT-S7390.

Много времени отняло копирование существующей не-pot bitmapdata в pot из-за того, что в ассетах gaf_assets.png имеет размеры 1115х1114.
Впрочем, этот и остальные тайминги можете просмотреть в другом отчете (https://cloud.mail.ru/public/2GBXbzrnrVPN/test-project_GT-P3100_air_15.flm) скаута.
Если выделить все кадры, то обратите внимание на третью строчку "Garbage Collection". Я всегда говорил о его вреде. Там много что можно поправить. Кстати, бич GAFMovieClip в том, что он часто использует DisplayObjectContainer#addChildAt, а кривой старлинг делает Vector#splice, чтобы поменять индекс. Это приводит к дикому оверхеду на garbage collecting, потому что splice создает промежуточный Vector и Array, которые потом нужно уничтожать. Как я уже упоминал в одном из постов, я написал свой splice.

По поводу Galaxy Tab 2 GT-P5100 — смогу в понедельник глянуть. Вы поздно ответили, так бы захватил его с собой на работу.

UPD. Я нашел у тестеров такой девайс
Galaxy Tab 2 GT-P5100
Прошивка p5100xxdmi1
Андроид 4.2.2
Все нормально: 60 fps.

callme
15.05.2015, 22:15
Может у вас как-нибудь криво прошитое устройство?

CrazyFlasher
17.05.2015, 10:47
Dimarik, спасибо большое за развёрнутый ответ и анализ! В понедельник более подробно изучу, а так же посмотрю, что не так с девайсом.
Насчёт Galaxy Tab 2 гуглил и на том же старлинг форуме были похожие проблемы, но треды ни к чему не сводились.
Вот например:
http://forum.starling-framework.org/topic/device-performance-disparity

UPD: Dimarik, поделишься своим splice попробовать?