C#程序優(yōu)化-有效減少CPU占用率
最近開發(fā)的項(xiàng)目中,由于會(huì)用到比較耗費(fèi)CPU資源的第三方程序ffmpeg來(lái)處理視頻。所以在網(wǎng)上找了一下,如何解決這種問(wèn)題。
于是乎,就得到一個(gè)結(jié)論,減少CPU占用率,可以通過(guò)減少使用的CPU數(shù)量,在Window系統(tǒng)下,打開一個(gè)exe程序,系統(tǒng)會(huì)默認(rèn)使用所有CPU作為處理。
是不是減少CPU使用數(shù)量,就可以減少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;//無(wú)窗口 p.Start(); // 設(shè)置CPU使用數(shù),這里使用了CPU0和CPU1 p.ProcessorAffinity = (IntPtr)(0x0001 | 0x0002); p.Close(); p.Dispose();
修改后的CPU數(shù)量減少了,在使用過(guò)程中,CPU的占用率也會(huì)大大減少了。
當(dāng)前,還有很多方法,可以減少CPU使用率,聽說(shuō)還有硬件加速等等,不過(guò)這些功能還沒有用過(guò)。
以上所述就是本文的全部?jī)?nèi)容了,希望大家能夠喜歡。
相關(guān)文章
原生實(shí)現(xiàn)C#與Lua相互調(diào)用方法(Unity3D可用)
Lua是一種很好的擴(kuò)展性語(yǔ)言,Lua解釋器被設(shè)計(jì)成一個(gè)很容易嵌入到宿主程序的庫(kù),下面這篇文章主要給大家介紹了關(guān)于原生實(shí)現(xiàn)C#與Lua相互調(diào)用方法,Unity3D可用的相關(guān)資料,需要的朋友可以參考下2022-04-04c#靜態(tài)方法和非靜態(tài)方法詳細(xì)介紹
這篇文章主要介紹了c#靜態(tài)方法和非靜態(tài)方法,需要的朋友可以參考下2014-02-02C#實(shí)現(xiàn)保存文件時(shí)重名自動(dòng)生成新文件的方法
這篇文章主要介紹了C#實(shí)現(xiàn)保存文件時(shí)重名自動(dòng)生成新文件的方法,涉及C#針對(duì)保存文件時(shí)出現(xiàn)重命名情況的自動(dòng)處理技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07C#操作EXCEL DataTable轉(zhuǎn)換的實(shí)例代碼
C#操作EXCEL DataTable轉(zhuǎn)換的實(shí)例代碼,需要的朋友可以參考一下2013-04-04C# 實(shí)現(xiàn)的圖片蓋章功能,支持拖拽、旋轉(zhuǎn)、放縮、保存
這篇文章主要介紹了C# 實(shí)現(xiàn)的圖片蓋章功能,支持拖拽、旋轉(zhuǎn)、放縮、保存,需要的朋友可以參考下2014-04-04