Flash Player - упростить отрисовку графики

Тема в разделе "WASM.BEGINNERS", создана пользователем eskimos, 7 фев 2012.

  1. eskimos

    eskimos New Member

    Публикаций:
    0
    Регистрация:
    30 сен 2011
    Сообщения:
    2
    даже не знаю туда ли написал... но задача кажется нубская

    сидел ковырял настройки Флеш плеера - ничего путного не нашёл

    ЗАДАЧА
    есть например сайт, на нём например флеш-видео. пусть ютуб.
    хочется сделать так, чтобы видео грузилось, всё работало (кнопочки и прочее), но видео или отрисовывалось раз в секунду, либо качество было ниже плинтуса - но именно только в плеере! основной профит - разгрузить процессор (критично не занимать более 1-2%, вместо 15).
    подозреваю что надо копать в сторону отрисовки графики, но я в этом не шарю вообще. подскажите с чего начать... чего бы такого хукнуть (:
     
  2. Black_mirror

    Black_mirror Active Member

    Публикаций:
    0
    Регистрация:
    14 окт 2002
    Сообщения:
    1.035
    eskimos
    В видеопотоке обычно присутствуют ключевые кадры(полная картинка), и дельта кадры(разница между текущим и предыдущим), если отображать только ключевые кадры, то задачу можно решить, правда не факт что это даст уменьшение нагрузки на процессор в 10 раз. Но, в теории, могут попадаться очень скверные видеопотоки, к примеру ключевые кадры раз в 10 секунд или реже, или ключевые и дельта кадры объединены, и в каждом кадре кроме дельты некоторая часть областей передаётся полностью, или в потоке отсутствуют маркеры или длина блоков, и чтобы знать где начало очередного блока, нужно распаковать все предыдущие. Во всех этих случаях чтобы отображать картинку раз в секунду, придётся распаковывать весь видеопоток и никакого существенного уменьшения нагрузки не получится.
     
  3. zxcv

    zxcv New Member

    Публикаций:
    0
    Регистрация:
    30 дек 2011
    Сообщения:
    257
    если разговор идет о рекламе и есть доступ к коду загрузки, то можно попробовать грузить в остановленном состоянии. какие ключи загрузки и управления - не знаю и не помню. попробуйте воспользоваться гуглей или спросить на более предназначенных форумах.
     
  4. eskimos

    eskimos New Member

    Публикаций:
    0
    Регистрация:
    30 сен 2011
    Сообщения:
    2
    нет, разговор не о рекламе
    речь идёт именно о проигрывании видео типа flv. я думал есть какие-то простые способы в данном случае... например, флеш импортирует Direct3DCreate9. похукать, получить IDirect3D9*, и назначить какую-то опцию на вывод... я нуб в графике, поэтому и спросил тут (:
    я так понимаю что львиную долю времени при проигрывании видео занимает именно распаковка видео, и она происходит в юзермоде.... т.е. ловить что либо перед переходом в ядро бессмысленно. стало быть, задача если и решается - то в юзермоде.
    гуглил... ничего подобного моей задаче не нашёл. люди оптимизируют только в своих приложениях.
    а мне надо сделать именно универсальный облегчитель, чтобы сервак думал что всё ок, а реальный рендер был лёгкий/редкий.
    а потоки действительно разные - бывают по 10% жрут, а бывает и по 40% не стесняются при отсутствии хардварной акселерации.
     
  5. zxcv

    zxcv New Member

    Публикаций:
    0
    Регистрация:
    30 дек 2011
    Сообщения:
    257
    попробуйте при компиляции самого плейера указать 1 к/с и установить худшее качество.
    попробуйте поиграться с настройками самого класса видео. например, ухудшить качество и не ресайзить. попробуйте потоки предварительно пережимать на меньшие WxH, к/с и вес. попробуйте уменьшить левых эффектов, контролов и паразитного кода. поищите забытые циклы (2 кадра дадут цикл ксли не остановить итд). посмотрите насчет наложения. особенно картинок, особенно с альфой.
    экспериментируйте, не ищите мутных фокусов, что будут работать 2 недели на 2х компах в мире.