我目前正在用C++編寫Windows遊戲。服務器對應在最開始時創建兩個附加線程。其中一個處理接收新數據,另一個處理遊戲中對象的運動計算。我設法找出的是,最後一個線程函數(稱爲TickFunc)是一個減慢速度的函數。我的音樂凍結了,我無法在瀏覽器中打開新標籤,一切都很慢並且凍結。即使我將TickFunc中的所有內容註釋掉(留下一個永久執行的空while循環),它仍然會凍結,但如果我根本不創建該線程,那很好。無論TickFunc內執行的計算強度如何,它似乎都會降低系統速度。我真的很感激任何有關可能導致這種情況的提示。謝謝。創建新線程時,Windows XP顯着減慢
問候, Neob91
您是否有機會以高於正常優先級的方式創建該線程? – eran
「留下一個永久執行的空while循環」是減慢所有其他線程的最佳方式。 –
不,線程以默認優先級創建,即THREAD_PRIORITY_NORMAL。我甚至嘗試減少優先級,儘管它的工作速度太慢,即使將其設置爲THREAD_PRIORITY_BELOW_NORMAL。 – Neob91