Имя:
Пароль:
-- ИЛИ --
Войти, используя:

Форум   Общая тематика и компьютеры   Программирование

заргузка CPU

 
Пост #62595 от 26 июня 2009, 15:31 

zaym

есть такая схема работы ПО
DES (playlist) -> codek (convert to RGB32) -> Transform Filter (drawing) (RGB32) -> Render Device (RGB32)

на процесоре 1,8 ГГц загрузка колебается в пределах 50-90% в зависимости от типа видео ролика в плей листе (MPEG тянет процессорного времени как не в себя с порывами до 100%)

ЭТО ВООБЩЕ НОРМАЛЬНО?
Отправить личное сообщениеПрофиль пользователя---
Постов: 64
Нарушений: Нет
Пост #62600 от 26 июня 2009, 22:11 

Vlafy

zaym,
Можно попробовать собрать граф DES (playlist) -> Render Device (YUY2) и посмотреть, какая будет загрузка. Но в любом случае, на преобразование в RGB тратится время, плюс рендер в RGB может быть медленнее, чем в YUY2. Можно ведь сделать фильтр, который будет делать ваш drawing в YUY2.
Отправить личное сообщениеПрофиль пользователяКонфигурация пользователяБлог пользователяWeb-сайт пользователяРоссия
Сосновый Бор
Постов: 6083
Нарушений: Нет
Пост #62806 от 9 июля 2009, 13:17 

zaym

в продолжении темы.
Занялся оптимизацией фильтра который рисует.
Итого либа GDI+ медленная до нет сил, как смог улучшил производительность но этого мало.

Есть вопрос, а можно ли использовать DirectDraw для рисования в memory DC, а потом скопировать сформированный буфер в выходной буфер трансформ-фильтра и передать его на устройство воспроизведения. Если такое возможно, то на сколько продуктивней будит происходить отрисовка и с чего начать и на что посмотреть?
Отправить личное сообщениеПрофиль пользователя---
Постов: 64
Нарушений: Нет
Пост #62808 от 9 июля 2009, 20:46 

Vlafy

zaym : а можно ли использовать DirectDraw для рисования в memory DC, а потом скопировать сформированный буфер в выходной буфер трансформ-фильтра
Навскидку - создать 24-битный контекст, порисовать в нём и потом через DIBSECTION получить доступ к данным. Простым копированием можно перенести данные в буфер фильтра, у которого формат цвета RGB24. Для других форматов (YUV, например) надо делать преобразование RGB->YUV.
Отправить личное сообщениеПрофиль пользователяКонфигурация пользователяБлог пользователяWeb-сайт пользователяРоссия
Сосновый Бор
Постов: 6083
Нарушений: Нет
Пост #62924 от 14 июля 2009, 12:00 

zaym

Это кошмар... ЧТО ДЕЛАТЬ?
Оказывается DirectDraw начиная 8-й версии директа уже не поддерживается и от него рекомендуют отказатся.
Dirext3D9 заточен под трехмерку, а 2Д рисует только с бубно-маханием и обязательно привязывается какому то окну. То есть использовать железо для обработки в фильтре невозможно.

Собственно какие у кого есть предложения?

P.S.: в добавок начитался холивара тут http-ссылка
Так как не являюсь спецом в ДХ особо судить не могу. Но если там все правильно написано, то что же делать если нужна аппаратная поддержка в 2Д графике?

Отредактировано: zaym (14.07.2009-16:25, 1044 дня назад)
Отправить личное сообщениеПрофиль пользователя---
Постов: 64
Нарушений: Нет
Если Вы зарегистрированы, то для отправки сообщений, пожалуйста, авторизуйтесь.
-- ИЛИ --
Войдите, используя: Facebook Twitter Yandex Вконтакте Mail.ru ...
Страница создана за 0.044 секунды
Copyright © 1999-2012 PcTuner.Ru · Design by Alex Dovby