wxGraphicsContext를 사용하여 플로터를 구현했습니다. 개발은 wxGTK를 사용하여 이루어졌으며 그래픽은 매우 빨랐습니다.wxGraphicsContext Windows에서 속도가 천천히 느림
그런 다음 wxWidgets 2.9.0을 사용하여 Windows (XP)로 전환했습니다. 그리고 같은 코드는 매우 느립니다. 프레임을 렌더링하는 데 약 350ms가 걸립니다. 사용자는 마우스로 플로터를 드래그 할 수 있기 때문에 느린 업데이트 속도로 매우 느리게 움직입니다.
wxDC를 사용하여 일부 부품을 구현하고 그 차이를 벤치 마크했습니다. wxDC를 사용하면 코드가 약 100 배 빠르게 실행됩니다.
내가 아는 한 카이로와 GDI +는 모두 소프트웨어에 구현되어 있으므로 Cairo는 GDI +보다 훨씬 빠를 필요가 없습니다.
내가 잘못 했나요? 아니면 GDI + 구현은 카이로와 동등하지 않습니까?
작은 메모 하나 : wxMemoryDC에서 만든 wxGraphicsContext를 사용하여 이제 wxBitmap에 렌더링합니다. 이는 이중 버퍼링이 작동하지 않기 때문에 XP에서의 깜박임을 피하기위한 것입니다. cairo homepage에서
카이로 호출은 결국 Windows의 GDI를 통해 라우팅됩니다. 그래서 문제는 다른 곳에서 ... – arul