![]() |
Замена BW фильтру
Есть около 100 Image-s на экране.
Нужен способ сделать всех чёрно-белыми (потом еще красными). Фильтр не подходит, так как на довольно сильном десктоп гпу (i5-2500) падает до 17 кадров в секунду. Для кеширования фильтров нужно создавать фильтр для каждого имажа. Создание дополнительных текстур рассматривается в последнюю очередь. Буду рад любым советам и ответам! |
Способ 1: Пишете на AGAL шейдер, который будет перекрашивать объекты на экране в реальном времени.
Способ 2: Пишете на PixelBender шейдер, который перед запуском сразу создаст перекрашенную текстуру. Можно комбинировать, сначала создать одну чб текстуру перед запуском, а затем подкрашивать разные image разными цветами при помощи AGAL. |
да, про агал не вспомнил, спасибо! ушел ковырять!
|
BW фильтр на AGAL, что-бы проще было разбираться:
Код AS3:
|
Уже +10 кадров есть с вашим классом!
А что там еще можно оптимизировать? |
Не знаю, вам виднее должно быть :)
Это зависит от конкретной задачи. Опишите более подробно во всех деталях, что именно вы хотите сделать. |
тут хорошо видно - http://sk-express.ru/plantasia/ (выбрать любой уровень)
есть поле с цветами, 80 типов спрайта (20 типов цветов по 4 фазы каждый), в какой то момент все цветы могут стать серыми, затем красными используется as3isolib портированный на старлинг, у каждого iso объекта есть свой спрайт цветка в контейнере сейчас ко всем имажам применен фильтр, для теста |
Демка у меня летает. Правда, точно fps посмотреть не смог, датчик слишком мелкий, не разобрать. Вообщем, такое количество спрайтов не должно особо напрягать gpu.
С isolib не знаком, но могу дать несколько советов по Starling:
|
ctrl - + на странице
или кнопка FullScreen там снизу на часах |
60 fps
Cpu: 4x 4.20 GHz Gpu: Radeon R7 200 Провести мониторинг через AdobeScout очень рекомендую. |
да и так ясно без скаута
до фильтров у меня тоже 60 на любом гпу, даже на планшете при включении чб фильтра сразу падает до 10-20 |
Попробуйте создать 1 экземпляр фильтра и один раз установить его в свойство filter всех дисплей объектов.
Попробуйте замерить fps 100 фильтров на чистом Starling. |
пробовал, хуже
|
У вас цветочки ведь не анимированные?
Тогда можно провернуть такой финт:
Таким образом, изменённая текстура цветочка кешируется и не перерисовывается каждый кадр заного. Когда нужно обновить отображение цветочка снова, вызываете спрайтуА flatten(); |
понял, попробую
Добавлено через 49 минут так, а где у старлинговского Image flatten() ? вроде был раньше ... понял, там нужен контейнер отдельный |
4 fps...:(
|
2LifeIsRhythm - 4fps - это где?
2Tails - после flatten() перестает анимироваться покачивание, пробовал и на СпрайтА анимировать, такое может быть? |
Раскачивайте спрайтА, у которого flatten() вызываете. Проверьте ещё раз, вы где-то ошиблись, должно работать.
|
2Tails - Громадное спасибо! Теперь все в норме! выдает честные 60-50 кадров!
:drinks: |
Теперь до двух снизилось... У меня ноут, что-то типа 4ГБ оперативы, 3 ядра, но вот ускорение наверное не поддерживает.
Хотя я не верю, что Ваша игра потребляет ресурсов больше mortal combat последний, которая у меня играет. |
если в хроме то понятно, есть там такой глюк
|
В FF тоже..
Добавлено через 3 минуты Это в ubuntu. Сейчас из-под windows зашел и 62 стабильно. Добавлено через 3 минуты Не знал, что есть разница. |
о божечки, какой еще линукс
не издевайтесь linux не поддерживается давно уже, ни флеш плеером, ни айр странно что вообще запустилась флешка |
Правое дерево просто изумительно ! :)
|
там их два, вверху и внизу
какое из них? |
Я про то, что на самой грядке, в верху с права.
|
Цитата:
вот там деревья http://prntscr.com/48x0v5 |
Цитата:
|
Цитата:
|
| Часовой пояс GMT +4, время: 21:34. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.