D3D11 错误:ID3D11DeviceContext::Unmap:发现两个线程同时执行与同一 Device[Context] 关联的函数。这将导致内存损坏。需要在 Direct3D API 外部(或通过 ID3D10Multithread 接口)进行适当的线程同步。3628 和 17364 是牵涉的线程 ID。[杂项错误 #28:CORRUPTED_MULTITHREADING]
我IMFTransform
在线程 A、线程 B 和线程 C 中使用,它们总是抛出 CORRUPTION 异常
如果我使用ID3D10Multithread
启用多线程,它会比更慢吗semaphore
?
在 Media Foundation 场景中使用 D3D11 设备时,通常必须使用线程保护
ID3D11Multithread
。Media Foundation 的设计使得设备管理器在基元之间共享,并且这些基元从随机 RTWQ 线程使用设备,而不一定通过管理器序列化设备使用。归根结底,您不知道设备是否在工作线程上同时使用,因此需要保护。