문제

GDI 브러시와 펜을 만드는 데 얼마나 비싸나요? 필요한 추가로 그것들을 생성하고 사용으로 랩핑하여 빠르게 배치되거나 System.Drawing.Brushes 클래스와 유사한 정적 클래스를 만들어야합니까?

도움이 되었습니까?

해결책

IMO, 그들은 일반적으로 여러 메소드 호출을 통해 사용되는 오래 지속되는 인스턴스를 만들어서는 안되지만, 매번 새로운 방법으로 한 번만 만들어야 할 정도로 비효율적입니다. 무언가를 그릴 필요가 있습니다.

다시 말해, 수업에 맞춤 브러시를 저장하지 마십시오. OnPaint 전화를 걸지만 해당 onpaint 호출 내에서 그린 모든 텍스트 라인에 대한 새 브러시를 만들지 마십시오.

다른 팁

정적 브러시로로드 아래 웹 애플리케이션에서 이미지를 사용자 정의하려고 할 때 예외가 발생했습니다.

나는 기술적 인 이유를 알지 못하지만 브러시와 펜이 스레드 안전하지 않다고 생각하므로 스레드 안전 방식으로 필요에 따라 만들어 그 범위 내에서 폐기 할 것입니다. 사용.

구성 가능한 GUI를 위해 우리는 컨트롤을 그릴 때 "사용"(필요할 때마다 재현)에 넣고 필요한 경우 최적화 할 것이라고 생각했습니다.

필요하지 않았습니다.

이것은 Wince on Wince로 일반적으로 데스크탑에서 약간 느릴 수있는 것들을 보여주는 것을 의미합니다 (예 : Wince에서 훨씬 더 비싸다는 느낌이 들었습니다). 필요할 때와 같이 만들어야한다고 생각하십시오.

브러시를 사용하여 IIRC. GDI의 수집은 스레드 안전성에 대해 잘 모르겠지만 결국 캐시 및 배치를 보장하기 때문에 옵션이 될 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top