|
|
|||||
Banned
[+4 24.02.14]
[+4 07.11.13] [+ 13.03.14] Регистрация: Mar 2013
Сообщений: 1,864
|
Текстурные атласы c GPU и без
До конца не понимаю, как устраивают работу с атласами. Если атлас использовать для анимации, то е го нужно разобрать на кадры, а сам атлас удалить из памяти? И если я прав, то когда атласы используют с GPU, там такая же схема работы?
|
|
|||||
Lorem ipsum
|
Нет. В GPU (а так можно и в CPU) атлас не нарезается, а висит в памяти целиком. Для отрисовки лишь его части (отдельный спрайт или нужный кадр анимации опять же отдельного мувика) процессор оперирует геометрическими и текстурными координатами вершин квада (два треугольника, сложенные в прямоугольник), это если речь о GPU, точнее конкретно о Stage3D. В случае же с "закатом солнца вручную" — когда мы работаем с CPU — просто копируем в большую экранную BitmapData нужный кусочек атласа в нужное место.
Другое дело, что в CPU есть и второй вариант. Можно для удобства использования таки нарезать атлас на отдельные BitmapData (если это анимация, то одинакового размера), отрисовать туда отдельные кадры, аккуратно разместив их в нужном месте, и потом лишь указывать экранному объекту — экземпляру Bitmap — ссылку на нужный кадр (свойство bitmapData). Так получается довольно дешевая анимация, которая, кстати, быстрее работает как раз не в режиме CPU.
__________________
Поймай яблоко 2! |
|
|||||
Banned
[+4 24.02.14]
[+4 07.11.13] [+ 13.03.14] Регистрация: Mar 2013
Сообщений: 1,864
|
Zebestov Спасибо! Пока в GPU я не лезу и уточнять буду о CPU.
С просто копируем, у меня вроде вопросов нет, так-как это скорее всего для статичных объектов, на создание которых можно и на матрицы разорится. А вот у второго варианта мне концовка не понятна. Цитата:
|
|
|||||
Lorem ipsum
|
1. Заблуждением будет считать, что с блиттингом (так называется врисовывание в "холст" прямоугольных кусков) можно делать только статику.
2. Самую обыкновенную флешку можно компилировать в режиме как CPU, так и GPU (не путать с Direct), который как раз и отличается более быстрой отрисовкой растрового контента, о котором мы здесь говорим.
__________________
Поймай яблоко 2! |
|
|||||
Banned
[+4 24.02.14]
[+4 07.11.13] [+ 13.03.14] Регистрация: Mar 2013
Сообщений: 1,864
|
Цитата:
Цитата:
Цитата:
То есть, как-то можно включить компиляцию в режим GPU, который не тот более быстрый, о котором говорят употребляя слово Starling ( Starling, это Direct ), а тот в котором второй вариант из Вашего первого поста, будет работать быстрее? я правильно понял? Если да, то как включить режим GPU? И спасибо большое! |
|
|||||
Lorem ipsum
|
Цитата:
А вот про матрицы я тебя не понял. Если речь идет о трансформациях бОльших, чем просто перемещение картинки в нужное место, то тебе они и в статике понадобятся. Цитата:
Да. Цитата:
Цитата:
Если абстрактно, не спрашивая, в какой IDE ты работаешь, то нужно в опции компилятора добавить строку:
__________________
Поймай яблоко 2! |
|
|||||
Banned
[+4 24.02.14]
[+4 07.11.13] [+ 13.03.14] Регистрация: Mar 2013
Сообщений: 1,864
|
Zebestov Приогромнейшее Спасибо! Меня эта тема мучает уже долго, но спросить решился только сегодня. И у меня ещё один маленький вопросик - наложит ли включение опции GPU, какие-то ограничения, как например в Starling на вектор? Его включение обяжет меня использовать только растр? А то от мысли - останется все так же, только работать будет быстрее, мне очень весело становится
|
|
|||||
Lorem ipsum
|
Ну тут следует вспомнить, как мы обсуждали тему CPU/GPU на этом же форуме как-то давно. Все участники сошлись во мнении, что при переключении режимов они ровным счетом никакого прироста не заметили. И все дело в том, что при малонагруженном графикой проекте разница на десктопах ничтожна, а при соизмеримом присутствии как растра, так и вектора, и вовсе может не проявиться. Возможно с тех пор что-то изменилось.
А вот где я лично столкнулся с влиянием режимов CPU/GPU, так это в AIR приложении для мобильных платформ: 1. CPU режим быстрее рисует вектор и быстрее осуществляет наш ручной блиттинг 2. GPU режим быстрее рисует растр своими нативными средствами (т.е. Bitmap & BitmapData) Помимо этого на мобильных платформах между этими режимами существует разница (ограничения), детали которой я уже подзабыл, бо это уже давно не актуально — Starling же )
__________________
Поймай яблоко 2! |
|
|||||
Banned
[+4 24.02.14]
[+4 07.11.13] [+ 13.03.14] Регистрация: Mar 2013
Сообщений: 1,864
|
У меня FlashDevelop, здесь нужно вводить ?
|
|
|||||
Регистрация: Dec 2010
Адрес: Ярославль
Сообщений: 1,255
|
Akopalipsis, с этим флагом или без него, вы не заметите разницы. Вам же Zebestov выше об этом написал.
Ограничения есть, но я особо не вникал. Разве что, в gpu фильтры не будут работать. |
Часовой пояс GMT +4, время: 04:52. |
|
« Предыдущая тема | Следующая тема » |
|
|