我已將多線程添加到正在寫入的光線跟蹤器中,雖然現在運行速度更快,但在運行時,我的計算機幾乎無法緩慢運行。顯然,我想使用我所有的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