![]() |
Flash тормозит в браузерах?
Flash тормозит в браузерах. Проверял на последних версиях IE, Firefox. Версия FlashPlayer последняя релизная.
Сравните как гладко скользит квадрат в standalone-плеере и как дрожит-подергивается в браузере. Иногда в браузере тоже скользит гладко, нужно подождать секунд 10. [Вложение #31074 - не найдено] Код AS3:
Тестировал на 4-рех компах. В диспетчере задач процессор нагружен на ~4%, редко поднимается до 20%. В Scout память не растет (занимает ~130Мб), Garbage Collector не запускается. Движок flashpunk, вся графика рисуется на экран блиттингом. Задано 60fps. Что делать? |
У меня не показывает...
А вариант только один - анимировать все движения. Да и то они будут дергаться. |
во-первых, никогда не делайте привязку к фреймрейту. Делайте всегда по времени.
во-вторых, поиграйте со скоростью - чем выше скорость тем менее заметны перерисовки. |
Присоединяюсь к Котяриной "во-первых". А после этого можно скрасть неравномерность движения с помощью блюр-фильтра или подобной механики. Но это уже от лукавого, по моему мнению.
Я мастрячил года три назад плавный скролл для игрушки типа "Contra", с оригинальными изображениями. То, что я увидел мне настолько не понравилось, что я решил отложить это до лучших времен. Времена наступили, но несколько в другом плане. У флеша появился Stage3D. Но и здесь тебя поджидает масса подвохов. Может лучше на Unity перейти сразу? |
Вложений: 1
Спасибо за помощь, но по времени тот же самый эффект. В standalone гладко, в браузерах дрожит.
Фильтры попробую, если не получится по-другому решить. Код AS3:
|
Попробуй обойтись одним getTimer(). И потестировать это не под хромом (с его PPAPI). Хотя ты и так уже все понял.
|
Давно перешел на Starling, плавность идеальная, не хуже чем в Unity.
|
Это проходит со сложностью приложения.
|
Цитата:
|
Вложений: 1
Оставил один getTimer(). Тестирую под Firefox и IE. Все равно квадрат дрожит и дергается.
Попробовал задать PixelSnapping.NEVER — не помогает. Код AS3:
Цитата:
|
вот кстати может чем то поможет
похожую тему когда то подымал http://www.flasher.ru/forum/showthread.php?t=171150 |
Цитата:
Способ #1 Код AS3:
Код AS3:
|
Есть специальная библиотека, позволяющая всю векторную анимацию переводить в растовую, что повышает производительность.
http://www.ant-karlov.ru/reshenie_pr..._vo_Flash.html |
Цитата:
|
Вложений: 1
Scout показывает, что в браузере кадры выполняются то ~10 то ~20 мс.
К посту приложил отчет Scout'a по флешке с перемещением квадрата в браузере. Вложение 31077 |
Хотя это неважно. Все равно не должно быть глюков, если делаешь движение квадрата по времени. А глюки есть.
|
запишите видео, возможно это "слезы" синхронизации и они не лечатся
(ну кроме старлинга - http://www.as3gamegears.com/engines/.../starlingpunk/ ) |
Цитата:
Можно сглаживать время... |
Цитата:
Кадр выполнился за 20мс - двинулись на два пиксела Почему анимация может быть дерганной? Например в следующем примере квадрат скользит абсолютно гладко в standalone-плеере. Код AS3:
Цитата:
Добавлено через 35 минут Цитата:
http://en.wikipedia.org/wiki/File:Te...mulated%29.jpg Делал прямоугольник во всю высоту флешки. Такого эффекта нет. Код AS3:
|
Выполнился за 10 секунд - квадрат передвинулся на px
Выполнился за 10 секунд - квадрат передвинулся еще на px Пока все гладко и кажется без дерганья. А тут произошел лаг на две секунды. А тут квадрат двинулся сразу за две секунды не на один а на два px, а это уже дерганье. Разве нет? Цитата:
Добавлено через 42 секунды Цитата:
|
Цитата:
Цитата:
Цитата:
|
Цитата:
Цитата:
|
Цитата:
Цитата:
Код AS3:
|
Посмотрел оба файла, что тут прикреплены, через Яндекс.браузер. Все идеально гладко плывет
|
У меня тоже наблюдаются небольшие задержки. AMD Athlon(tm) 64 X2 Dual Core Processor 5600+ 2.91 GHz, видеокарта интегрированная в материнку. Ну, не сказать, чтобы совсем хреновая, но тянет небольшие игры на минимум настройках.
http://ipic.su/img/img7/fs/Snimok.1407138606.png В общем, я уже эту тему поднимал когда-то. Но меня не поняли, да и никто толком ответить не смог чётко. Тормоза в Opera не так сильно заметны, как в IE.(В других браузерах не тестил) |
http://gonchar.me/blog/goncharposts/1670
Цитата:
|
Спасибо всем за ответы
Цитата:
Увеличил зоопарк проверенных браузеров до IE, Firefox, Chrome, Yandex. |
1. для таких тестов используй релизную версию флеш плеера
2. используй фреймрейт кратный 60, (30, 60, 120) 3. попробуй поставь wmode=direct|gpu, про vsync тут занятный эксперимент 4. Scout показывает в браузере: Waiting for GPU: 0 Waiting for Next Frame: 17 в standalone: Waiting for GPU: 16 Waiting for Next Frame: <1 Может быть в этом принципиальные различия? разный loop рендера? |
Цитата:
Это грустно, потому что у меня нет доступа к редактированию html-страниц, где будет публиковаться флешка. |
Цитата:
Хотя я не понимаю, почему у меня новые игры играют, а флешь у которого все в сто раз хуже чем в играх, не осиляет.. |
Итак, кому интересно, опытным путём в fp под windows я выяснил
- если выключено аппаратное ускорение, то вывод графики в любом флешплеере/режиме производится через GDI - если включено аппаратное ускорение в браузерном флеш плеере, в оконном режиме wmode=window|opaque|transparent - GDI wmode=gpu|direct - DirectX|OpenGL в браузерном флеш плеере, в полно экранном режиме wmode=любой, вывод графики через DirectX|OpenGL это и понятно, чтоб видео в полно экранном режиме не тормозило. в standalone флеш плеере, вне зависимости от флагов компилятора -use-gpu, -use-direct-blit вывод происходит через DirectX|OpenGL в выводе через DirectX|OpenGL вертикальная синхронизация всегда включена |
а под линукс есть информация как выводится?
|
| Часовой пояс GMT +4, время: 19:10. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.