커스텀 드로잉이 많은 곳에서 컨트롤을 쓰고 있습니다. 이 때문에 나는 "화면 쓰기"의 양을 줄일 필요가 있습니다. 현재 컨트롤을 다시 그릴 때 깜박임 현상이 나타나지 않도록 화면에 쓰는 데 사용되는 메모리 DC는 하나뿐입니다. 두 개 이상의 메모리 DC를 사용하여 업데이트를 독립적으로 작성한 다음 화면에 bitblt 할 수 있는지 알고 싶습니다. 이렇게하면 화면의 변경되지 않은 부분을 렌더링 할 필요가 최소화됩니다.2 개의 메모리 DC를 결합 하시겠습니까?
0
A
답변
0
여러 DC를 사용할 수 있지만 모두 동일한 비트 맵에 쓰는 것이 좋습니다. 이 경우 '마지막으로 쓰기가 유리합니다'정책이 적용됩니다. 즉, 비트 맵의 특정 지점에 마지막으로 기록하면 최종 사진에 표시됩니다.
이렇게하면 화면이 축소 된 방식으로 사용자에게 이익이되지는 않습니다. OTOH의 경우 일반적으로 BitBlt
이 빠르지 만 큰 차이는 없을 것입니다.
0
원하는만큼의 DC를 만들 수 있으며, 화면의 일부분을 준비하고, BitBlt()의 내용을 다른 DC로 보내고, 다음에 BitBlt()를 화면에 표시하거나 또는 당신은 (핸들의 nr의 Windows 제한 내에서 분명히) 원하는.
속도 향상을 기대하기는 어렵지만 위의 의견에 동의합니다. 내가 사용하는 곳은 때로는 영역이 복잡 할 때입니다. 즉, 업데이트 할 영역은 부분적으로 많은 위치 계산을 저장할 수 있습니다.
관련 문제
- 1. 2 개의 앱을 하나의 DB에 결합 하시겠습니까?
- 2. 2 개의 공간 메모리 통합하기
- 3. 2 개의 Javascript Regex 문을 1로 결합
- 4. 2 개의 TSQL 문을 1로 결합
- 5. 배열 요소를 2 dim 배열로 결합 하시겠습니까?
- 6. DataGridview에서 두 개의 열을 결합 하시겠습니까?
- 7. 두 개의 SQL 쿼리를 배열에 결합 하시겠습니까?
- 8. 자바에서 두 개의 WAV 파일을 결합 하시겠습니까?
- 9. 2 개의 소켓에 연결 하시겠습니까?
- 10. 2 개의 정규 표현식을 논리 또는 "결합"할 수 있습니까?
- 11. 아파치 요청을 결합 하시겠습니까?
- 12. 픽셀 당 24 비트의 메모리 DC를 만드는 방법은 무엇입니까?
- 13. wxpython에서 위젯 dc를 얻으십시오.
- 14. nhibernate에 2 개의 결합 된 서브 클래스를 사용한다.
- 15. 2 Linq 쿼리를 1로 결합
- 16. 스크립트를 사용하여 Linux에서 여러 개의 pdfs를 결합 하시겠습니까?
- 17. 2 도메인 모델의 데이터 결합
- 18. MySQL : 2 개의 다른 테이블에서 Distinct를 선택 하시겠습니까?
- 19. 2 개의 Xcode 프로젝트를 병합 - 오류를 일으키는 2 개의 AppDelegates
- 20. dojox.grid.DataGrid에서 열을 결합 하시겠습니까?
- 21. EditText와 버튼을 결합 하시겠습니까?
- 22. 두 개의 관찰 가능한 컬렉션을 목록 상자에 결합 하시겠습니까?
- 23. MVC 드롭 다운 목록에서 세 개의 값을 하나로 결합 하시겠습니까?
- 24. 두 개의 Linq 쿼리 결과를 단일 변수에 결합 하시겠습니까?
- 25. 3 개의 웹보기를 하나의보기로 결합
- 26. IIRF 리디렉션 규칙을 결합 하시겠습니까?
- 27. SQL 오류 2 테이블을 결합 할 때
- 28. 자바 - 두 배열을 결합 하시겠습니까?
- 29. 2 개의 2D numpy 배열을 2-tuples의 단일 2D 배열에 결합
- 30. mySQL 테이블을 하나의 행에 결합 하시겠습니까?