C#程序,如何有效減少CPU占用率


  最近開發的項目中,由於會用到比較耗費CPU資源的第三方程序ffmpeg來處理視頻。所以在網上找了一下,如何解決這種問題。

於是乎,就得到一個結論,減少CPU占用率,可以通過減少使用的CPU數量,在Window系統下,打開一個exe程序,系統會默認使用所有CPU作為處理。

是不是減少CPU使用數量,就可以減少CPU占用率呢,答案是肯定的。

參考代碼:這里使用calc作為例子。

            Process p = new Process();
            p.StartInfo.FileName = @"c:\windows\system32\calc.exe";
            p.StartInfo.RedirectStandardOutput = true;
            p.StartInfo.RedirectStandardError = true;//重定向
            p.StartInfo.UseShellExecute = false;
            p.StartInfo.CreateNoWindow = true;//無窗口
            p.Start();
            
            // 設置CPU使用數,這里使用了CPU0和CPU1
            p.ProcessorAffinity = (IntPtr)(0x0001 | 0x0002);
            p.Close();
            p.Dispose();

  

修改后的CPU數量減少了,在使用過程中,CPU的占用率也會大大減少了。

當前,還有很多方法,可以減少CPU使用率,聽說還有硬件加速等等,不過這些功能還沒有用過。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM