title: How to structure a C++ application to use a multicore processor
body: <p>I am building an application that will do some object tracking from a video camera feed and use information from that to run a particle system in <a href="http://en.wikipedia.org/wiki/OpenGL" rel="nofollow noreferrer">OpenGL</a>.  The code to process the video feed is somewhat slow, 200 - 300 milliseconds per frame right now.  The system that this will be running on has a dual core processor. To maximize performance I want to offload the camera processing stuff to one processor and just communicate relevant data back to the main application as it is available, while leaving the main application kicking on the other processor.</p>
  
  <p>What do I need to do to offload the camera work to the other processor and how do I handle communication with the main application?</p>
  
  <p>Edit:
  I am running Windows 7 64-bit.</p>