Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Производительность pure Starling vs Starling+DisplayList (http://www.flasher.ru/forum/showthread.php?t=202557)

morgenshtern 23.07.2013 14:44

Производительность pure Starling vs Starling+DisplayList
 
Имеется игра (мобильный AIR), разрабатываемая полностью на старлинге.

Когда дошел до пользовательских интерфейсов, столкнулся с геморроем расстановки элементов по сцене - их много, руками координаты задавать не удобно, из фотошопа генерить xmlку не удобно (только не надо говорить что в других языках нету среды для визуальной расстановки и люди, ничо, живут как-то - мне хватило несколько лет на яве игры делать :))
Удобнее расставить элементы во флеш иде, и грузить swc/swf с уже собранным классами окошек, кнопочек и прочего. Отсюда желание сделать интерфейсы и гуй на флешовом DisplayList (в растре разумеется), а саму игру, где много двигающихся спрайтов, в окошечке на Starling.

Собственно вопрос из названия топика - как эти два варианта будут отличаться по производительности - скорость отрисовки, память, видеопамять (цель - мобильные платформы в первую очередь).

Hauts 23.07.2013 14:53

Решайте проблемы по мере их поступления. Я считаю, что нативный дисплейлист с нединамичными элементами будет вполне приемлем.

morgenshtern 23.07.2013 14:57

Дык вот и решаю. Либо быстренько переделать гуй на дисплейлист, пока там не много, либо продолжать часами сидеть с расстановкой в старлинге)

Там из динамики разве что состояния кнопочек будут, да какие-то мелкие движения, типа выпадающих/выезжающих меню.

А в плане оперативки и видеопамяти если сравнивать?
Как работает старлинг я знаю, а вот сколько тот или иной элемент дисплейлиста отъест - не знаю)

Hauts 23.07.2013 15:00

morgenshtern, я не смогу ответить на ваш вопрос. Если действительно так важно — сделайте две тестовые версии и проверьте. Заодно отпишитесь здесь, на будущее:)

morgenshtern 23.07.2013 18:50

Короче буду переводить на Starling+DisplayList

Кстати, возможно есть какие-то средства для удобного размещение объектов интерфейса без флеш иде? Жаль флеш не умеет хмлку с координатами генерить)

C4Grey 24.07.2013 11:41

Так набросать конструктор на AIR для расстановки мышкой прямоугольников с указанием для каждого прямоугольника размеров, типа, и имени - несколько часов работы. В XML их размещение и параметры записать очень просто, в игре нужно будет этот XML прочитать, и в зависимости от типа разместить элемент управления. Плюс, под Starling есть GUI-библиотека Feathers, где реализованы почти все необходимые для игровых интерфесов элементы упарвления. По памяти - Starling будет занимать больше в режиме handleLostContext(текстуры находятся в оперативной и видео-памяти), без сохранения текстур в оперативной памяти - вопрос не такой однозначный. BitmapData представляет из себя двумерный массив int32, а под GPU все зависит от компрессии, например для DXT1 получим 8-кратное сжатие. По умолчанию, если не ошибаюсь, используется тот же RGBA, 32 бита на пиксель. Потому советую попробовать использовать ATF-текстуры, если размер файлов не очень критичен. ATF с использованием DXT-сжатия где-то в 3 раза больше PNG8 с прозрачностью, но лишь немногим больше PNG24, особенно если мипмапы не использовать. Минусы: размер файла больше чем при сжатии с PNGQuant, иногда видны артефакты сжатия, только PoT-текстуры(впрочем, в 11.8 плеере вроде добавлено использование nPoT), только квадратные текстуры при использовании PVRTC.

Astraport 24.07.2013 13:40

Цитата:

нужно будет этот XML прочитать, и в зависимости от типа разместить элемент управления
Еще и отскалировать правильно, без искажений. Та ещё задача, если делается универсальная игра под обе платформы, под телефоны и мобилы. А уж если под обе ориентации, то вообще туши свет. Тут только Feathers.

morgenshtern 24.07.2013 13:48

Astraport, будет графика под несколько популярных разрешений, возможно под разные физические размеры экранов - 1280 на 10" планшете совсем не то что 1280 на 4" смарте. Без скалирования и поворотов.

C4Grey, на аир не надо писать, нашел как из фотошопа можно хмлку генерить с координатами.
Но все ж во флеш редакторе удобнее в свц собирать) Потому гуй пока сделаю без старлинга.

Никто не натыкался на способы свц и старлинг как-то подружить? Т.е. грузить из свц/свф клипы с расположенными картинками, генерить из них текстуры, брать координаты. Наверняка я не первый это придумал и есть готовые решения)

Кстати вопрос, имеет ли смысл использовать старлинг в не насыщенных экшеном играх, типа казиношных слотов? Или разница по сравнению с нативным дисплейлистом не будет заметна и можно не заморачиваться? Только не надо ответов - сделай 2 варианта и нам расскажешь))

zuxul 24.07.2013 16:55

А чем все-таки "перья" не понравились?
Для простых игр разница будет не заметна.

morgenshtern 24.07.2013 17:18

Цитата:

Сообщение от zuxul (Сообщение 1141872)
А чем все-таки "перья" не понравились?
Для простых игр разница будет не заметна.

Какие перья? Скворцы?)
Да только не удобностью расстановки элементов, дофига времени уходит. А так нормально все. Правда прирост скорости сомнительный, зато, говорят, памяти меньше жрет чем дисплейлист+ресурсы свц/свф.


----------------
Тьфу ты, вы про Feathers. В них нет надобности, хватает старлинговых текстовых полей и текстуированых кнопок.


Часовой пояс GMT +4, время: 14:56.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.