线程化:在C++ Cinder应用程序的后台进行处理,以保持UI响应

for*_*sto 5 c++ background image

我很高兴今天下午几个小时的黑客攻击后让我的第一个C++应用程序正常工作.该应用会将X维度换成视频中的时间维度.

关于如何优化源代码的任何建议都会受到欢迎,但是我对如何进行图像处理感兴趣,这种处理update()方式不会让应用程序如此反应迟钝.

(在libcinder论坛中转发:http://forum.libcinder.org/#Topic/23286000000669039)

for*_*sto 1

答案似乎是线程。它与 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());
}
Run Code Online (Sandbox Code Playgroud)