강력하지 않은 하드웨어 (Atom N270 + Intel 945GSM)에서 선택 윤곽 텍스트를 매끄럽게 만드는 방법에 대한 질문이 있습니다 (Qt 4.5.3 사용). 다음과 같이 나의 접근 방식은 다음과 같습니다Qt를 사용한 부드러운 텍스트 애니메이션 (마키 텍스트 효과)
- 가 나는 QPixmap (오프 스크린 페인트 장치) 위에 내 텍스트 (굵게 36 x 36 픽셀의 굴림)
- 내가 각 30ms의에 남아 만족 x 1 픽셀 이동하는 타이머를 설정립니다.
- onTimer 이벤트가 발생하면 QPixmap을 선택하고이 부분을 창 캔버스에 인쇄합니다.
일반적으로 말하면 부드럽게 움직입니다. 그러나 내가 만드는 선택 윤곽 텍스트가 많을수록 CPU 사용량이 늘어납니다. 텍스트가 50 % 화면 (1920x1680)을 채울 수 있으면 CPU 사용량은 약 70-80 %입니다. 텍스트 애니메이션이 조금 깜박입니다. 타이머 간격을 50ms 이상으로 설정하면 부드럽게 작동합니다. 하지만 텍스트가 너무 느리게 움직입니다.
내 방법이 효과가 있습니까? OpenGL을 사용해야합니까? 모든 힌트를 환영합니다. 미리 감사드립니다. ^^)
전에 QGraphicsSence를 시도했지만 텍스트가 앨리어싱으로 보입니다. 나는 이유를 모른다. 내일 코드를 다시 구현하고 결과를 공유 할 것입니다. – stanleyxu2005
view.setRenderHints (QPainter :: Antialiasing | QPainter :: SmoothPixmapTransform)를했을 때도 QGraphicsPixmapItems를 렌더링 할 때 앨리어싱이 너무 많이 나타났습니다. 그러나 QGraphicsPathItems의 경우 별칭이 눈에 띄지 않습니다. 큰 글꼴을 사용할 때 QGraphicsTextItem을 사용하면 더 좋을 것입니다. QGraphicsScene을 사용해 보았을 때 질문에 설명 된대로 먼저 pixmap에 렌더링 했습니까? – Patrick
예, 먼저 Pixmap QGraphicsPixmapItems에 렌더링합니다. 하지만 QGraphicsTextItem은 선택 윤곽 텍스트 효과를 지원하지 않는다고 생각합니다. – stanleyxu2005