Потоки: выполнение обработки в фоновом режиме приложения C ++ Cinder для обеспечения отзывчивости интерфейса - PullRequest
5 голосов
/ 01 марта 2011

Я был рад, что мое первое приложение на C ++ заработало после нескольких часов взлома во второй половине дня. Приложение обменивает X-измерение на измерение времени в видео.

Любые предложения о том, как оптимизировать источник, будут приветствоваться, но меня интересует, как выполнить обработку изображений, которую я делаю в update() таким образом, чтобы приложение не реагировало на это.

(Пересмотрено на форуме libcinder: http://forum.libcinder.org/#Topic/23286000000669039)

1 Ответ

1 голос
/ 23 августа 2011

Ответ, кажется, многопоточный.Это работает так с 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());
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...