2012-04-04 80 views
0

我開發了一個程序在C++中,當我在Windows XP中運行它時,它使用所有可用的CPU到100%的使用率,但是當我在Windows 7中運行應用程序應用程序甚至難以達到40%的方式,即使通過在任務欄中將任務設置爲實時或高優先級,我是否可以強制操作系統讓我的應用程序使用最大可用CPU,例如我的winXP中的內容碼。我的意思是像API或圖書館。設置一個C++應用程序使用最大CPU使用率,在代碼

+3

如果您的應用程序是單線程的,並且系統具有多個CPU,你不會看到總的CPU上升到100%。例如,如果您有4個內核,並且您的程序正在利用其中一個內核的100%,則Windows將在25%以下的某個位置報告CPU利用率。 – 2012-04-04 21:30:10

+0

努力讓您的應用程序使用100%的CPU是相當荒謬的。這實際上並不是您想要查看的指標。如果你真的想解決這個問題,你應該試着弄清楚爲什麼它在XP上旋轉了很多循環。 – 2012-04-05 02:21:22

+1

@CodyGray如果它是一個CPU密集型應用程序,它僅執行計算,並且沒有IO您希望使用100%的CPU查看它。 – 2012-04-05 12:44:48

回答

3

這很可能是由於您擁有多個核心。爲了使用100%的CPU,您可能需要創建多個線程。

0

如果您的應用程序使用任何類型的IO,並且IO在XP(糟糕的驅動程序和/或其他內容)中混亂了,那可能會導致您的應用程序完全旋轉CPU。

7可能在這些區域更好的優化,所以它可以釋放CPU直到緩慢(磁盤,網絡)的東西完成。