我已将多线程添加到正在写入的光线跟踪器中,虽然现在运行速度更快,但在运行时,我的计算机几乎无法缓慢运行。显然,我想使用我所有的PC的计算能力,但我不希望它阻止任何其他应用程序访问CPU。多线程挤出其他进程
我曾想过让线程睡觉,但除非他们都同时睡觉,否则其他线程会消耗额外的时间。另外,如果我不打算使用它,我不一定要放弃一定比例的可用计算能力。
另外,(这不是我的官方问题)我注意到,由于某种原因,第一个线程比第二个线程执行更多的工作,第二个比第三个多,等等,直到像最后5个线程(32人中的任何一人)在任何工作中实际上都不会受到任何伤害,尽管有很多事情要做(至少有50万个工作项目供他们咀嚼)。如果有人想冒险评论的话,我们将不胜感激。
听起来你已经超额订购了你可怜的CPU。尝试减少线程的数量? – Cameron 2014-11-21 22:24:46
您可以降低程序的优先级。你的操作系统是什么? – indiv 2014-11-21 22:29:39
@Cameron这似乎是它的伎俩!我将线程数减少到了6,现在响应速度已恢复正常,而且我的帧定时实际上略有下降(此外,跨线程的工作负载似乎现在已经达到平衡)。我的印象是更多的线程不会受伤,但显然这是不正确的。如果你想创建一个答案,我会接受它。 – user2345397 2014-11-21 22:38:44