Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flash Приложения: AIR, Zinc и тд. (http://www.flasher.ru/forum/forumdisplay.php?f=94)
-   -   Какая графика лучше для мобильных приложений? (Вектор/Starling/SVG) (http://www.flasher.ru/forum/showthread.php?t=208511)

dvrbear 22.07.2014 17:47

Какая графика лучше для мобильных приложений? (Вектор/Starling/SVG)
 
Приветствую!
Собственно вопрос в название темы.

Старлинг с png у меня получается слишком увесистым.
Вектор тормозит.
А по SVG очень мало информации удалось нарыть.

Быть может есть альтернатива всему этому?
Хочется чтоб приложение - а именно Игра - не тормозила и мало весила.

*Использую IDEA (jetbrains), язык AS3.

caseyryan 22.07.2014 17:53

SVG scalable vector graphics. Тобишь вектор. Есть только растр и вектор. Другого не дано

dvrbear 22.07.2014 18:38

Сложилось впечатление что SVG шустрее обрабатывается чем простой флешовый вектор (может я ошибаюсь). Именно поэтому и прошу совета чтоже лучше всего использовать для игрушек под Android и IOS?

Игры 2D без наворотов. Просто в одной много сцен и графики а в другой большой мир, который прокручивается позади плывущей рыбки.

Zebestov 22.07.2014 19:25

В самом общем случае растр будет быстрее уже хотя бы потому, что это уже растр, а вектор — это всего лишь математика, которую процессор в каждом кадре превращает в растр.

Astraport 22.07.2014 20:10

Преимущества вектора - очень малый размер занимаемого места в дистрибутиве и адаптация под любой размер устройства без необходимости иметь несколько наборов ассетов под разные разрешения.

Преимущества растра - меньше нагрузка на процессор.

Есть либа для SVG с примерами под Starling, которая при старте приложения конвертирует вектор в растр, если я правильно понял, и тем самым имеем оба преимущества.

caseyryan 22.07.2014 21:35

Цитата:

Есть либа для SVG с примерами под Starling, которая при старте приложения конвертирует вектор в растр, если я правильно понял, и тем самым имеем оба преимущества.
Что за либа? Хочу попробовать)

dvrbear 23.07.2014 12:12

Да-да очень бы хотелось узнать по подробнее про эту бибилиотеку.

И такой вопрос еще - возможноли фон сделать векторный а по верх него пустить Starling?
Если да тот не будет ли каждый кадр этот фон нагружать проц, если он будет статичным?

Хотя если возможно старлинг повесить поверх флешового фона то думаю есть смысл фон перевести в bitmapData...

caseyryan 23.07.2014 12:21

Цитата:

И такой вопрос еще - возможноли фон сделать векторный а по верх него пустить Starling?
На сколько я знаю, нельзя. Стандартный флешевый контейнер находится на слое над старлингом.
Но вот что мешает растеризовать этот фон при старте приложения, и сделать из него старлинговский дисплей объект? Если он статичный, то это сделать проще простого.

dvrbear 23.07.2014 16:20

Тогда все сводится к такой идее.
Не нужен SVG и перевод фона в растр.
Быть может сделать Embed SWF, и затем его както перевести в старлинговский Image?

VGPechenkin 23.07.2014 17:02

Работу с SVG видел вот тут.

illuzor 23.07.2014 17:05

dvrbear, может быть сначала почитать, что такое старлинг и как он вообще работает?
Для большей производительности используются растровые атласы. А если у вас каждое изображение будет отдельным файлом - это ад и ужас.
Для сжатия графики есть тузлы типа PNGGauntlet. Можно попробовать перегонять текстуры в ATF, иногда они весят значительно меньше, чем png, да и в целом gpu работает шустрей с atf.

dvrbear 23.07.2014 18:03

Давайте попробую задать такой вопрос (по второй предполгаемой игре).
Суть игры - рыбка в центре экрана вертится во все стороны (2D) и плавает по лабиринту.
Лабиринт = карта прокручиваемая на заднем плане.

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

НО...
В случае с растром (если готовить его заранее) для Retina экранов - приложение нереально тяжелое получится.
А в случае с вектором - повесит мобильное устойство.

Так вот вопрос - Как бы вы поступили на моем месте и какое решение вы бы выбрали?

KBAC 23.07.2014 18:54

Делать карту на базе тайлов и декора.

Не огромная картинка нарезанная, а картинка собранная из маленьких похожих кусочков и расставленных декорирующих элементов.

dvrbear 23.07.2014 19:17

Я тоже думал сделать так:
Фон смазанный и слегка подвижный (будто он в дали).
Коридор декорировать отдельными картинками (и прятать их если они за пределами видимости)
А стены коридоров нарисовать png картинкой 100х100, растянуть ее в 100 раз и задать маской для повторияющейся текстуры.

Но опятьже если коридор будет двигаться целеком - не повесит ли мобильное устройство?

illuzor 23.07.2014 19:45

Цитата:

не повесит ли мобильное устройство
Не повесит. На air делают довольно навороченные 3д игры с кучей всевозможных текстур. А одна текстура точно не ничего не повесит.
Цитата:

приложение нереально тяжелое получится
Это уже давно не смущает ни разработчиков, ни пользователей. Давно прошли времена телефонов с хипом в 60 килобайт.

caseyryan 23.07.2014 20:50

Цитата:

приложение нереально тяжелое получится
Плюс сама среда AIR уже увеличит его вес на ~11 мегабайт

dvrbear 23.07.2014 21:52

caseyryan, Спасибо, я то вкурсе (((
Сам недавно оптимизировал одну игру. Из 50 Мб удалось сжать до 30. И при этом в игре всего три экрана - прелодер, выбор стадии и игровой экран....

Поэтому на будущее и интересуюсь кто чем пользуется и как выходит из такой ситуации.

Старлинг заранее грузит в память графику и она оттуда изымается очень быстро.
А что если сделать Embed кучи разных SWF и по мере надобности их переводить в bitmap и использовать без старлинга или както к нему в Texture переводить? Как в таком случае работать приложение будет - каждый раз при обработке будет притормаживать?


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

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