我开发了一个winforms,它向用户展示了一个使用3D呈现的web应用程序(使用了THREEJS)。问题是,并不是每个客户端都有足够好的CPU来使用这个应用程序。当通过浏览器访问应用程序时,应用程序在几乎每台计算机上都能顺利运行,但在通过winforms应用程序访问应用程序时却不是这样。这是每个程序的CPU使用情况:

在Google上运行时,同样的内容使用了2.3%的CPU,而运行CEFSharp的winforms应用程序则使用了92.7%的CPU。
这是我的winforms组件的代码:
namespace tissuewebs
{
public partial class Form1 : Form
{
public ChromiumWebBrowser chromeBrowser;
public Form1()
{
InitializeComponent();
InitializeChromium();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void InitializeChromium()
{
CefSettings settings = new CefSettings();
settings.CefCommandLineArgs.Add("disable-features", "BlockInsecurePrivateNetworkRequests");
settings.CefCommandLineArgs.Add("disable-gpu", "1");
settings.RemoteDebuggingPort = 8088;
settings.CachePath = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + @"\CEF";
settings.PersistSessionCookies = true;
CefSharp.Cef.Initialize(settings);
chromeBrowser = new ChromiumWebBrowser("example.com")
{
Dock = DockStyle.Fill
};
this.Controls.Add(chromeBrowser);
}
}
}是否有可能优化我的应用程序,使其使用更少的CPU?
发布于 2022-06-15 23:41:10
其次,
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<!-- A list of all Windows versions that this application is designed to work with.
Windows will automatically select the most compatible environment.-->
<!-- Windows 7 -->
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />
<!-- Windows 8 -->
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />
<!-- Windows 8.1 -->
<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />
<!-- Windows 10 -->
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />
</application>
</compatibility>有关参考示例,请参见https://github.com/cefsharp/CefSharp.MinimalExample/blob/master/CefSharp.MinimalExample.WinForms/app.manifest。我还建议确保您的应用程序是新闻部知道的。
当您的应用程序与Chrome进行比较时,确保您比较的是类似版本,这一点很重要。例如,Chrome 102的性能可能与CefSharp 100不同。
https://stackoverflow.com/questions/72638546
复制相似问题