2011-06-08 21 views
5

¿Alguien sabe de una manera fácil de aplicar vsync en Qt, al mostrar una imagen en un QLabel? Básicamente, estoy procesando una secuencia de imágenes de un video clip procesado (de ahí que no use Phonon multimedia), y la velocidad de fotogramas es muy alta. Desafortunadamente, esto está causando mucho daño.Qt y vsync/lagrimeo

Cualquier ayuda muy apreciada.

+0

¿Has mirado 'QMovie'? Se ajusta mejor a su descripción, pero no puedo encontrar ningún elemento relacionado con vsync en la documentación. De lo contrario, estoy un poco desconcertado, pensé que el dibujo de All Qt tenía doble amortiguación, y por lo tanto no tenía este problema. ¿Cómo estás dibujando tus imágenes? – rubenvb

+0

Un simple 'label-> setPixmap (pixmap);' y un repintado. No he comprobado 'QMovie', pero sospecho que no funcionará, ya que cada fotograma se procesa en el backend y tarda un tiempo desconocido en renderizarse. –

+0

¿Qué tal si llamamos 'update' en lugar de' repaint'? – rubenvb

Respuesta

2

Pruebe usar QtOpenGL. Puede implementar su widget en QGLWidget. Presentará usando opengl, que se sincronizará con vblank si establece esta opción en su sistema operativo.