我在我的 C# 应用程序中使用 Haptek People Putty 播放器,我在论坛上看到人们说它不能很好地与多核处理器配合使用。我的应用程序在我的 Core 2 Duo 笔记本电脑上运行良好,但当我尝试在四核台式机上运行它时,它会滞后很多。我正在考虑自己调查这个问题,在这种情况下,我将不得不强制我的应用程序在单核上运行。这在 C# 中可能吗?
Where a Process
多变的proc
保存您关心的进程(Process.GetCurrentProcess()
对于正在运行的进程,从以下位置获取它GetProcesses()
or GetProcessesByName()
等另一个过程。然后:
foreach(ProcessThread pt in proc.Threads)
{
pt.IdealProcessor = 0;
pt.ProcessorAffinity = (IntPtr)1;
}
IdealProcessor 是一个从零开始的单核标识。 ProcessorAffinity 是一个位掩码,因此 1 允许核心 0,2 允许核心 1,3 允许核心 0 和 1,4 允许核心 2,依此类推。
我会测试这个彻底地。这很有可能实际上会损害您的性能,降低使用不同核心的能力,这毕竟通常是一个优势。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)