Здравствуйте, ka1eka, Вы писали:
K>Здравствуйте, Аноним, Вы писали:
А>>Кто вам сказал, что критическая секция там одна?
K>Документация. Во фрагменте, который я приводил, написано critical section, а не critical sections. А почему вы решили, что их там больше одной?
Неправильно сказал.
Я имел в виду, что одна, но кроект ВСЕ вызовы АПИ.
И рисование происходит всегда.
Один поток рендерит сцену,
Другой в это же время рендерит картинку.
И друг друга блочат. Тут даже чисто теоретически будут лаги.
Немного спасает вертикальная синхронизация, но это бред.
А>>Из каких таких соображений VMR не хочет рендерить на D3DPOOL_SYSTEMEM? K>Никто не может рендерить в D3DPOOL_SYSTEMEM, не только VMR. D3DPOOL_SYSTEMEM — это оперативная память. У видеокарты нет доступа к оперативной памяти.
Действительно.
Толкьо на overlay urface ВМР может рендарить.
K>Зачем вам рендерить в D3DPOOL_SYSTEMEM...
Не хочу я рендерить в системную память, это я просто клацал.
K>...если можно обойтись одним девайсом и вообще без копирования?
Не обойтись, я не вижу способа.
Можете подробно обговорить алгоритм, учтя следующее:
Видео FullHD 1080р, 24.996fps, 4Gb.
Таких видев надо запускать одновременно 3 штуки.
Три MPC могут одновременно играть их с загрузкой проца на 40%.
Стало быть, задача не невозможна.
Необходимо всё это на одной DirectX9 сцене.
(У меня пока из вменяемых вариантов только вариант с DirectX9Ex)