디바이스를 여러개 생성해도 상관이 없나요??

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

Moderator: 류광

Locked
wjddleknjung
Posts: 35
Joined: 2008-03-04 18:19

디바이스를 여러개 생성해도 상관이 없나요??

Post by wjddleknjung »

첫번째 객체는 라이트효과를 가지고 있구요
두번째 객체는 똥색으로된 텍스쳐를 불러와서 메쉬에 붙여서 그리는 방식입니다.

디바이스 를 하나만 만들어서 순서대로 돌아가면서 그리도록 하였는데

이상하게 두개의 객체가 합쳐져서 라이트효과가 사라지면서 똥색으로 그림이 바꼇습니다.

그래서 이번엔 두개 디바이스를 만들고 하나씩 돌아 가면서 그리도록 하였습니다.

그랬더니 그림이 재대로 나오더군요...

그런대 이런 방식으로 하나가는 디바이스가 1000개 정도 필요할 날이 올꺼 같아서 물어봅니다.

디바이스를 여러개 만들어도 상관없나요??
uhmgoon
Posts: 96
Joined: 2008-01-29 14:21

Post by uhmgoon »

상관 있습니다. 실제 하드웨어는 (대부분의 경우) 단 1개이고, 공유자원입니다. 개념상 D3D디바이스 객체를
여러개 만들 수는 있지만 실제로 D3D디바이스는 단 1개의 하드웨어에서 동작하게 됩니다. 이 경우, 실제로는
1개의 하드웨어에서 한 장면을 그리는 것인데 렌더링 작업이 분리되게 되어 여러가지 단점 - 상태 초기화의
문제, 캐쉬의 문제, 리소스 공유의 문제 - 이 생기게 됩니다.

결론적으로, 아무도 그렇게 하지 않습니다.

두개의 물체를 그릴 때 영향을 받았다는 것은,
렌더스테이트나 스트림소스, 텍스쳐소스를 물체에 맞게 제대로 변경하지 않아 생기는 문제인듯 하군요.
Locked