I just noticed the following comment in povray.cpp, function povray_init():
// we can't use boost::thread::yield here since under windows it is not
// guaranteed to give up a time slice [see API docs for Sleep(0)]
// TODO - Maybe boost::thread under Windows needs a patch! [trf]
while(POV_RenderContext == NULL)
{
boost::thread::yield();
pov_base::Delay(50);
}
This pattern of calling both boost::thread::yield() together with
pov_base::Delay() is used throughout POV-Ray, except for the functions
MainThreadFunction() in povray.cpp and vfeSession::WorkerThread() in
vfesession.cpp, which makes me wonder whether this is intended.
Post a reply to this message
|