当前位置: 首页 > news >正文

网站建设主要推广方式站长如何做导航网站

网站建设主要推广方式,站长如何做导航网站,阿里巴巴网站备案,交通建设集团网站QML Profiler 2018年1月26日 vincent 对于一个程序的开发#xff0c;性能优化是开发中的一个重要步骤。 我们肯定不希望开发出来的程序表现出卡顿#xff0c;最好是处处流畅#xff0c;丝滑般的体验。 对于C程序#xff0c;我们有很多方法可以做性能优化#xff0c;例如…QML Profiler 2018年1月26日 vincent 对于一个程序的开发性能优化是开发中的一个重要步骤。 我们肯定不希望开发出来的程序表现出卡顿最好是处处流畅丝滑般的体验。 对于C程序我们有很多方法可以做性能优化例如Visual Studio Profiler。 而对于QMLQtQuick程序我们可以选择QML Profiler这是QtCreator的一个功能。 那么QML Profiler是什么呢官方的描述如下 You can use the QML Profiler to find causes for typical performance problems in your applications, such as slowness and unresponsive, stuttering user interfaces. Typical causes include executing too much JavaScript in too few frames. All JavaScript must return before the GUI thread can proceed, and frames are delayed or dropped if the GUI thread is not ready. 也就是说QML Profiler主要功能就是帮助我们去解决程序中典型的性能问题说简单就是帮助我们做性能优化。 注意这个性能优化仅指QML这里一般来说就是界面可能还包含点界面逻辑代码JS而C这块QML Profiler几乎帮不上忙最多是能给在QML中调用的槽函数记个耗时。 时间的考虑 作为一名程序开发者应该努力使渲染引擎的刷新率维持在60fps也就是说在每帧之间大约有16ms这段时间包括了基本图元在图形硬件上的描画。具体内容如下 尽可能的使用异步事件驱动来编程。使用工作者线程来处理重要的事情比如说QML的WorkerScript类型就是起用了一个新的线程。不要手动重复事件循环。每帧的函数阻塞的时间不要超过几毫秒。 如果不注意上面提到的内容就会导致跳帧影响用户体验。 注意 QML 与 C 交互时为了避免阻塞就去创建自己的 QEventLoop 或调用QCoreApplication::processEvents() 这虽说是一种常见的模式但也是危险的因为信号处理 或绑定进入事件循环时QML 引擎会继续运行其它的绑定、 动画、状态迁移等这些动作就可能带来副作用例如 破坏包含了事件循环的层级结构。性能分析 借助于QML Profiler我们快速的了解程序运行中的主要情况和耗时细则可以精确到微秒其中包括但不限于 图片缓存使用情况渲染耗时内存使用情况输入事件动画帧率编译耗时创建耗时绑定耗时信号处理耗时JS代码耗时 如何使用QML性能分析工具 QML Profiler的功能开放是从Qt5.7开始的之前一直是企业版才有的也就是花钱版。 使用步骤 打开Qt Creator 默认安装了Qt5.7或更高版本。打开一个QML项目 选择debug模式 启动QML Profiler 启动工具后等待程序运行起来并且运行一段时间。然后点击Stop按钮停止QML Profiler。 时间轴视图 在这里我们可以以时间轴角度查看各个细节的耗时。时间轴的起点就是QQmlApplication实例化的时间。我们可能看不到零点因为在QQmlApplication被实例化到第一个元素被开始处理时间可能会有其他的耗时。 在视图中从左到右就是QML Profiler从开始到停止的所有记录了。越小的块表示时间越短反之越大的块表示时间越长。这里的方块具有一定的嵌套关系下面的方块对象隶属于上面的对象。比如说 Windows { } 里面还可能会有一个 Item { } 这样的嵌套关系。 详细信息查看 通过鼠标左键点击颜色区域即可查看详细信息如下 看下面这个例子 我们可以看出这里Image创建时间消耗78.7ms,对应的代码文件是main.qml和行数37行。 根据事件类型展开 在左侧不同类型的事件中我们可以点击那个展开按钮这样我们就可以看到展开的详细数据这样看数据对应关系时会更加的清楚但是当数据很多的时候也会更加的凌乱所以酌情使用。 缩放按钮 在左侧有一个放大镜可以缩放视图的比例这对于分析一段比较长的QML Profiler或者想看某一个细节点的数据会非常有用 详细介绍 Pixmap Cache 在QML中使用的Image默认是开缓存的。而所有缓存的图片都会在这里显示包括用了多少像素的缓存还包括了图片的加载耗时、文件名等信息。没有缓存的图片也会显示但不会记入到缓存的阶梯里 Scene Graph 这里显示渲染时各个阶段的耗时如果我们发现程序的动画有卡顿除了一些函数的阻塞导致的卡顿外还可以分析一下渲染的耗时开销看看是不是渲染的量太大导致的卡顿。 这里我们主要关注Render Render这个数据这个数据表示将OpenGL数据发送到GPU的过程。看到一个Render Render的结束基本表示这一帧已经结束渲染并且即将显示出来了。 另外还有Glyph Upload这个数据这个数据表示字形纹路上传。如果你的程序是嵌入式并且有很多的字那么Glyph Upload有可能会带来一定的性能开销。减少这个开销的方式基本就是减少字比如说用图片Image代替文字Text或者Label。 Memory Usage 显示内存使用情况如果这里有大块的内存增长看看是不是这里在初始化很多东西或者是有很多不必要的组件被创建出来了。 Input Events 显示用户输入事件例如鼠标和键盘事件 Debug Messages 显示调试输出的时间点如果你需要对照Debug输出和对应的QML事件那么这会很有帮助 Animations 显示是否有动画在执行以及动画的FPS在多线程渲染时还会显示多线程的信息。如果我们发现FPS低于18那么视觉上可能就会有明显的卡顿了。而30到60的FPS一般就可以认为是流畅的。 Compiling 显示编译的耗时。这里要说下从Qt5.8开始QtQuick引入了qmlc机制让编译时间大幅度缩减基本上是从几百毫秒缩减到几十甚至十毫秒以内。之前在csdn发过文章讲这个这里再放下链接 Creating 显示创建的耗时一般也是启动优化的主要部分 Binding 显示绑定的耗时 Hangling Signal 显示信号处理的耗时 Javascript 显示JS执行的耗时。如果在QML里调用了一个C的槽那么这里也会有计时但是也只有槽函数的总耗时C那里的运行情况这里看不出来。 统计图视图 选择统计Statistic Tab如下 在这里我们可以看到每个细则例如编译、创建、绑定、JavaScript或者信号处理的次数以及它们所消耗的时间。 除了在时间轴那里通过肉眼观察我们在这里通过对百分比的排序也可以迅速的看出哪个东西最耗时。 火焰视图 选择Flame Graph Tab。 在这里我们可以看到更加简洁的QML和JS统计。其中也直观的告诉了我们一些嵌套关系。 综上这是最基本的3个功能区构成了QML Profiler。我们程序的性能分析主要也围绕着这三点展开。 性能优化建议 如果程序有明显的加载慢问题那么可以先去看创建找大块去延后加载或者异步加载。让首界面先显示出来。尤其是图片图片的加载比较慢尽量选择合适分辨率的图片不要过大。对于不会再第一时间显示的东西尽量不要在第一时间加载。 如果程序有明显卡顿问题那么可以看渲染那里是不是渲染的东西太多了例如用了过多的clip。或者有很多在视觉上看不到的元素例如xy为-1000这样的Item没有被隐藏这些Item照样会渲染照样会有性能开销对于这些元素可以将visible设置为false直接影藏掉这就不会有渲染耗时了。例外值得一提的是对于有动画的场景建议把每帧时间控制在16ms以内以维持60FPS的流畅界面。 关于性能优化进一步的细节点这里不展开以后单独发文章讲本文只讲QML Profiler的基础。更多关于QML Profiler的信息可以前往官网查看 Profiling QML Applications
http://www.lebaoying.cn/news/3108.html

相关文章:

  • 上海响应式网站制作公司福建省建设职业注册资格管理中心网站
  • 网站图片一般多大讨论致同国际网站建设情况
  • 网站备案如何查询合肥网站营销
  • 一个大型网站建设得多少钱全球互联网排名前十名
  • 西安网站策划设计跨境电商无货源模式怎么做
  • 可以做海报的网站网站身份验证怎么做
  • wordpress新站SEO优化凡科建站多少钱
  • 网站建设入的什么科目做ppt好用的网站有哪些
  • 怎么看网站用的什么后台免费看国际短视频软件
  • 绩效评估评价网站建设安卓开发需要掌握哪些技术
  • 实训小结网站建设wordpress代码板插件下载
  • 我想开网站seo零基础教学视频
  • 茂名专业做网站php 网站缩略图
  • 设计公司官方网站做个网站多少钱合适
  • 佛山响应式网站设计部门门户网站建设的目的
  • 网站模版编辑器建设网站的网站底压电工证
  • 网站登录人太多进不去怎么办wordpress简化注册
  • 网站建设拟采用的技术路线国贸做网站公司
  • 万维网网站备案流程wordpress用redis和mem
  • 哈尔滨微信网站建设quercus wordpress
  • 广州网站建设gzzhixun做个简单的网站多少钱
  • 北京网站建设需要花多少钱办公空间设计案例整套
  • 网站怎么加载图片做logo网页设计与网站建设 1.班级网站. 2.个人主页. 3.求职招聘.
  • 做网站西宁家装公司网站
  • 免费的x网站域名app制作培训
  • 网站投稿系统怎么做做问卷赚钱的网站
  • 公司简单网站多少钱内容营销怎么做
  • 公众号如何做微网站网站运营设计
  • 湖州建设网站制作建设一个网络平台要多少钱
  • 个人网站构建ai域名注册