Re[5]: VMR9 renderless panic
От: ka1eka Россия  
Дата: 13.10.11 06:30
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Этот флаг тупо вешает критические секции на ВСЕ вызовы API DirectX.

А>В моем варианте это превращается в нереальное тормозилово.

Из документации:

D3DCREATE_MULTITHREADED
Indicates that the application requests Direct3D to be multithread safe. This makes a Direct3D thread take ownership of its global critical section more frequently, which can degrade performance. If an application processes window messages in one thread while making Direct3D API calls in another, the application must use this flag when creating the device. This window must also be destroyed before unloading d3d9.dll.

Критическая секция там одна. К тому же критическая секция — это почти бесплатная операция, если блокировки не случилось. В моём случае блокировка происходит только в момент рендеринга кадра VMR'ом, если одновременно сцена пытается отрендерить текстуру с текущим кадром. И то, мне кажется можно обойтись вообще без блокировок, но лень переписывать много лет работающий код.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.