2011-03-01 13 views
5

Estaba contento de tener mi primera aplicación C++ funcionando después de unas horas de piratería esta tarde. La aplicación cambia la dimensión X por la dimensión de tiempo en un video.Enhebrado: procesamiento en segundo plano de la aplicación C++ Cinder para mantener la IU receptiva

alguna sugerencia sobre cómo optimizar la fuente sería bienvenido, pero estoy interesado en cómo hacer el procesamiento de imágenes que estoy haciendo en update() de una manera que no hace que la aplicación no responda.

(crossposted, en el foro libcinder: http://forum.libcinder.org/#Topic/23286000000669039)

+0

¿Todavía tiene alguna pregunta? de lo contrario, puede marcarlo como resuelto. Todavía aparece en las preguntas sin respuesta. – nus

+0

cómo? agregando [SOLUCIONADO] al título? – forresto

+0

Hay un cuadro a continuación ... Añada su edición como respuesta y luego acéptela. –

Respuesta

1

La respuesta parece ser enhebrado. Funciona así con Cinder:

void MyApp::setup() 
{ 
    thread(&MyApp::processFrame, this); 
} 
void MyApp::processFrame() 
{ 
    // TODO define mFrameTemp here 
    // Copy to the texture which we'll actually render 
    mFrame = mFrameTemp; 
} 
void MyApp::draw() 
{ 
    if (mFrame) 
    gl::draw(mFrame, mFrame.getBounds()); 
} 
Cuestiones relacionadas