[DX관련]멀티스레드 프로그래밍시 디바이스 관련

프로그래밍 일반에 관한 포럼입니다.

Moderator: 류광

Locked
비회원

[DX관련]멀티스레드 프로그래밍시 디바이스 관련

Post by 비회원 »

win32기반의 DX9 프로그래밍시 스레드를 사용하기 위해
디바이스 생성시

CreateDevice( D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd,
D3DCREATE_SOFTWARE_VERTEXPROCESSING | D3DCREATE_MULTITHREADED,/* 스레스 사용을 위해 추가해야할 설정 */
&m_pParam, &m_pD3DDevice )

위와 같이 하였는데요.

그렇다면 위와 같이 디바이스를 생성하였을 경우엔
main 스레드와 작업 스레드 양쪽에서 디바이스 동시에 호출할 경우를 대비해
크리티컬 섹션을 걸어줄 필요가 없는건가요? 아니면 꼭 해줘야 하는건가요.

현재 구현중인 프로젝트가 메인스레드와 별개로 백그라운드에서 텍스쳐를 로딩하는 스레드클래스인데
디바이스 사용 부분에 크리티컬섹션을 안걸어줘도 딱히 오작동은 하지 않고는 있지만
혹시나 우려되어 질문 드립니다.
Zeprod
Posts: 480
Joined: 2006-11-04 16:24
Location: Creaty Networks
Contact:

Post by Zeprod »

위의 옵션이 디바이스 자체에 크리티컬 섹션을 적용한 듯한 효과가 일어납니다.

단 디바이스에서 사용되는 리소스는 별개의 이야기죠. 저는 예전에 실시간으로 텍스쳐를 갱신하는 쓰레드를 돌리면서 알아본적이 있죠.
세상이 기다리는 나만의 SHOW!
----------------------------------------------
Zeprod 홈 : http://Zeprod.org
Project. Creaty : http://Creaty.net/
Creaty 게임제작 커뮤니티 : http://Creaty.net/game/
----------------------------------------------
Locked