GDI+(System.Drawing) 느려서 못 쓸 정도인가?
벤치마크 테스트 후 나 혼자 결론을 내보았습니다.
GDI: 1ms
GDI+: 4~5ms
Direct2D: 7ms
윈도우 컨트롤 같은 작은 이미지에서 쓸 경우 GDI 보다 느리지만 안티앨리어싱 및 고급 기능을 지원하는 GDI+ 사용은 준수한 성능이라고 생각됩니다.
수치 상 GDI 보다 4~5배 지만 retained mode에서 10ms 내의 차이를 보여줍니다.
Direct2D는 ID2D1DCRenderTarget Bind 과정의 오버헤드가 있는 것 같고요
GDI+는 벤치마크에 취약하다.
큰 이미지, 드로잉 객체가 많은 작업에는 불리합니다.
메모리 관리 쪽에 상당히 무리가 가는 걸로 추측합니다.(메모리 커밋, 페이지폴트)
결론: 약간 느리지만 커스텀 컨트롤 등 작은 이미지에 쓰는 건 좋은 선택이다.
복잡한 차트나 큰 이미지의 경우 Direct2D 또는 SkiaSharp 권장.
