자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
Firemonkey [ XE7 ] DirectX 드로잉 모드에서 DWRITE.DLL 관련 Access Violation 문의
2015.11.09 10:28
다음과 같은 사용자 PC환경에서 트리뷰 컴포넌트를 사용할 경우 DWRITE.DLL관련 오류가 발생합니다.
아무래도 Firemonkey 프레임웍에서 발생하는 것 같습니다.
GDIP 드로잉모드로 바꾸면 해결되지만, Direct2D 드로잉모드를 사용하고 싶습니다.
사용자 PC의 DX버전이 낮아서 혹시 GlobalUseDXInDX9Mode를 true로 설정해보았지만 동일한 오류가 발생했습니다.
오류메시지 :
Access violation at address 5C6424ED in module 'DWRITE.DLL'. Write of address 035C53C
사용자 PC 환경
- 2개의 비디오카드와 2개의 모니터 사용중...
첫번째 비디오카드 : Intel HD Graphics
두번째 비디오카드 : NVIDA Geforce 210
첨부파일
- 사용자 PC의 DirectX 진단 도구의 캡쳐내용입니다.
참고로, Direct2D 모드에서 오류가 발생할때, GDIP 모드로 바꾸어서 해보면, 곧장 문제들이 사라집니다.
그외 TMemoryStream으로 큰 메모리를 할당받아서 사용하는 경우에도, 아주 이상한 예러(캔버스 드로잉시, 드리잉 이미지가 바뀌는 등)가 발생하는데, GDIP모드로 전환하면 문제가 곧장 사라집니다.
댓글 3
Firemonkey [ XE7 ] DirectX 드로잉 모드에서 DWRITE.DLL 관련 Access Violation 문의
2015.11.09 10:28
다음과 같은 사용자 PC환경에서 트리뷰 컴포넌트를 사용할 경우 DWRITE.DLL관련 오류가 발생합니다.
아무래도 Firemonkey 프레임웍에서 발생하는 것 같습니다.
GDIP 드로잉모드로 바꾸면 해결되지만, Direct2D 드로잉모드를 사용하고 싶습니다.
사용자 PC의 DX버전이 낮아서 혹시 GlobalUseDXInDX9Mode를 true로 설정해보았지만 동일한 오류가 발생했습니다.
오류메시지 :
Access violation at address 5C6424ED in module 'DWRITE.DLL'. Write of address 035C53C
사용자 PC 환경
- 2개의 비디오카드와 2개의 모니터 사용중...
첫번째 비디오카드 : Intel HD Graphics
두번째 비디오카드 : NVIDA Geforce 210
첨부파일
- 사용자 PC의 DirectX 진단 도구의 캡쳐내용입니다.
참고로, Direct2D 모드에서 오류가 발생할때, GDIP 모드로 바꾸어서 해보면, 곧장 문제들이 사라집니다.
그외 TMemoryStream으로 큰 메모리를 할당받아서 사용하는 경우에도, 아주 이상한 예러(캔버스 드로잉시, 드리잉 이미지가 바뀌는 등)가 발생하는데, GDIP모드로 전환하면 문제가 곧장 사라집니다.
어려운 질문을 주셨네요.
우선 트리뷰를 어떻게 사용하셨는지 코드등이 있으면 재현등에 도움이 될 것 같습니다.
그리고, 해당 이슈가 어떤 영역에서 발생하는지 이해가 되지 않습니다. 가능하시면 다각도로 테스트 하셔서 조금만 더 구체적인 범위로 좁혀주시면 좋겠습니다.
1) 2개의 비디오카드를 사용시 발생하는지
2) 첫번째 비디오카드(Intel HD Graphics)에서 발생하는 건지
3) 두번째 비디오카드(NVIDIA Geforce 210)에서 발생하는 건지
마지막으로 해당 이슈는 저희(데브기어)가 살펴보기에는 재현환경등의 이슈로 다소 어려울것 같습니다.
다음 글을 참고해 엠바카데로에 이슈를 등록하시고 알려주시면 저희도 모니터링 하도록 하겠습니다.
http://tech.devgear.co.kr/delphi_news/409911
단 이슈 등록 시 위의 테스트방법(코드 등)과 구체적인 재현방법, 그리고 이 이슈가 제품 개발 시 어떤영향을 주는지 등의 설명을 함께 등록해주세요.