首页 > 其他分享 >cefsharp - WinForms 和 Wpf 示例之间的巨大性能差异

cefsharp - WinForms 和 Wpf 示例之间的巨大性能差异

时间:2023-09-05 10:45:07浏览次数:60  
标签:CEF cefsharp 示例 CefSharp rate WinForms Wpf Example

https://www.coder.work/article/7217456

我注意到在使用 http://www.vsynctester.com 时 CefSharp.WinForms.Example 和 CefSharp.Wpf.Example 之间存在非常重要的性能差异(以 FPS 计)

在我的显卡控制面板和 CefExample Init() 中的设置中关闭 VSync 时

settings.CefCommandLineArgs.Add("disable-gpu-vsync", "0");

对于 CefSharp.WinForms.Example,我得到大约 500 FPS(稳定) 对于 CefSharp.Wpf.Example,我几乎无法达到 30 FPS

我知道 Wpf 使用离屏渲染,但如何解释相同网页的巨大性能差异?

我使用的是装有 Win 8.1 和 NVidia GT 750M 显卡的 MacBook Pro。 CefSharp 版本为 8755a9496ffbd5f21bc6ef062bce687a22d83938(2015 年 3 月 1 日)和 Cef 版本 3.2171.1979

 

最佳答案

 

The maximum rate in frames per second (fps) that CefRenderHandler::OnPaint will be called for a windowless browser. The actual fps may be lower if the browser cannot generate frames at the requested rate. The minimum value is 1 and the maximum value is 60 (default 30).

CEF 文档的直接引述参见 http://magpcss.org/ceforum/apidocs3/projects/%28default%29/_cef_browser_settings_t.html#windowless_frame_rate

整个过程更受 CPU 限制而不是 GPU 限制。缓慢的部分是位图缓冲区在显示之前被复制到内存中。 CEF 还支持目前尚未实现的 DirtyRects,因此即使是很小的图形更改也会强制整个屏幕重绘。

当上游 CEF 问题 1006 得到解决后,我们就可以考虑进行更多改进。 https://code.google.com/p/chromiumembedded/issues/detail?id=1006&q=label%3AOSR

标签:CEF,cefsharp,示例,CefSharp,rate,WinForms,Wpf,Example
From: https://www.cnblogs.com/chinasoft/p/17679029.html

相关文章

  • swag简单示例
    packagemainimport( _"awesomeProject1/docs" "fmt" "github.com/gin-gonic/gin" swaggerFiles"github.com/swaggo/files" ginSwagger"github.com/swaggo/gin-swagger" "net/http" "os"......
  • Go语言实现Kafka消费者的示例代码
    Kafka是一种分布式流处理平台,由Facebook于2011年推出,现在已经成为Apache项目的一部分。Kafka提供了高可用性、可扩展性和低延迟的消息传递服务,适用于处理实时和离线数据。Kafka的主要功能包括生产者-消费者通信、批处理和实时数据流处理。Kafka基于发布/订阅模型,允许消息发布者将数......
  • csgo如何显示帧数(含代码示例)
    CSGO可以通过控制台命令来显示帧数,代码如下:打开CSGO游戏,按下“~”键打开控制台;CSGO可以通过控制台命令来显示帧数,代码如下:1.打开CSGO游戏,按下“~”键打开控制台;2.在控制台输入“cl_showfps1”,即可开启帧数显示;3.若要关闭帧数显示,只需在控制台输入“cl_showfps0”即可。......
  • Subversion权限文件AuthzSVNAccessFile示例[摘]
    Subversion权限文件AuthzSVNAccessFile示例选择自digitking的Blog  在使用Subversion时,认证文件AuthzSVNAccessFile能控制每一个目录的权限,但讲解的文档较少,中文文档更少。下面通过实例讲解使用方法。环境Windows2003Server,局域网,域:domain.com.cnApache2.0.52Subversion......
  • 【Python-装饰器】【示例】日志记录装饰器
    #一个简易的日志记录装饰器,用于记录函数执行信息deflog(func):defwrapper(*args,**kwargs):print(f"调用函数{func.__name__},参数:{args},{kwargs}")result=func(*args,**kwargs)print(f"函数{func}执行结果:{result}")retu......
  • Linux下非阻塞getch实现示例
    作者:fbysss关键字:getch问题1:标准c中没有getch函数,等待键盘输入之后,总是需要按下回车才能得到值,如何解决?问题2:在等待键盘输入的时候,程序被阻塞了,下面的代码必须在输入处理之后才能执行。如果不使用线程,如何实现非阻塞模式?解决办法:#include<curses.h>#include......
  • 33、Flink之hive介绍与简单示例
    文章目录Flink系列文章一、Table&SQLConnectors示例:ApacheHive1、支持的Hive版本2、依赖项1)、使用Flink提供的Hivejar2)、用户定义的依赖项3)、移动plannerjar包3、Maven依赖4、连接到Hive5、DDL&DML本文介绍了ApacheHive连接器的使用,以具体的示例演示了通过java和......
  • 【Azure Service Bus】使用Spring Cloud integration示例代码,为多个 Service Bus的连
    问题描述查看ServiceBus的Java示例代码,发现使用SpringCloudIntegration,配置Application.yaml可以连接到两个ServiceBus。但代码中没有使用ConnectionString属性配置服务连接。 那么,是否可以直接在此添加connection-string配置后,不用修改代码就可以连接到ServiceBus服务......
  • 【Azure Service Bus】使用Spring Cloud integration示例代码,为多个 Service Bus的连
    问题描述查看ServiceBus的Java示例代码,发现使用SpringCloudIntegration,配置Application.yaml可以连接到两个ServiceBus。但代码中没有使用ConnectionString属性配置服务连接。 那么,是否可以直接在此添加connection-string配置后,不用修改代码就可以连接到ServiceBu......
  • nodejs + superagent 示例记录【2023-09-02】【尝试nodejs接口测试库】
    constsuperagent=require("superagent");(async()=>{ try{  constres=awaitsuperagent.get(   "https://jsonplaceholder.typicode.com/users"  );  constheaderDate=   res.headers&&res.headers.date?......