作者:qyvlik
链接:http://www.zhihu.com/question/38867614/answer/78583440
来源:知乎
著作权归作者所有,转载请联系作者获得授权。

做UI啊。如果是桌面应用,QML可以更快速。如果是手机UI,H5绝对占优。

毕竟Qt提供的那一套控件库更适合桌面应用,而当年诺基亚都开发了塞班和米果的QML手机控件库,现在Ubuntu,旗鱼,黑莓都有自己的QML手机控件库。

渲染性能上。QML有绝对统一的接口规范以及渲染机制。(跨平台是这样的)。 H5桌面系统一套,就谷歌做的好。手机WebKit嗯,但是系统对WebKit的支持也不能说表现一样。

接下来我来说说QML吧。 QML的执行引擎是基于Qt的V4引擎,V4最大的改变就是添加了类型。(有关源码分析,请移步qtdeclarative 源码略读)添加了类型让QML的属性绑定相比于之前的版本(Qt4的QtQuick 1.x)有极其大的提升。 属性绑定(数据绑定,表达式绑定)。嗯,在QML中随处可见的属性绑定,虽然有H5中有类似数据绑定的JS库。但QML语法上就支持了。

QML的渲染方式相较于之前的版本也有了重大的更新。 之前的版本(Qt4的QtQuick 1.x)更接近widget,虽然是Griphics/view,但是渲染更多是优先提交给cpu处理。当然,在N9(嗯,第一个完全使用QML构造应用的系统),会使用gpu,有硬件加速嘛。

现在的QML渲染方式更倾向于优先使用显卡。(所以现在使用QML需要良好的显卡支持,例如正确安装显卡驱动)。
简单扯扯现在QML的渲染绘制机制吧。

1. 基于事件的,基于Griphics/secen

2. 有两个线程,一个绘制,一个渲染。

3. cpu负责绘制,gpu负责渲染。

4. 当需要重绘时,绘制线程暂停,渲染线程进行渲染,渲染完毕,绘制线程启动,绘制。

嗯,上面那个我是看Qt英文文档,自己理解的,叙述有出入。 此外,Qt正在开发的Qt3D,类比WebGL,其性能以及可部署性远大于H5的WebGL,嗯,是个重型武器。其实也反应出了QML渲染和绘制的效率。

 
 
 

QML的渲染方式相较于之前的版本也有了重大的更新(CPU线程负责绘制,GPU线程负责渲染),还有好多经常评论 good的更多相关文章

  1. document.compatMode(判断当前浏览器采用的渲染方式)

    转载自:http://www.cnblogs.com/fullhouse/archive/2012/01/17/2324706.html IE对盒模型的渲染在 Standards Mode和Quirk ...

  2. django中url路由配置及渲染方式

    今天我们学习如何配置url.如何传参.如何命名.以及渲染的方式,内容大致有以下几个方面. 创建视图函数并访问 创建app django中url规则 捕获参数 路径转换器 正则表达式 额外参数 渲染方式 ...

  3. OpenGL中的渲染方式—— GL_TRIANGLE_STRIP

    OpenGL值绘制三角形的方式常用的有三种,分别是GL_TRIANGLES.GL_TRIANGLE_STRIP.GL_TRIANGLE_FAN,其效果如依次是: 从左起:第一个方式是GL_TRIANG ...

  4. Django 学习第二天——URL路由及模板渲染方式

    URL 的概念及格式: URL的引入:客户端:知道了url 就可以去进行访问: 服务端:设置好了url,别人才能访问到我 URL :网址(全球统一资源定位符):由 协议,域名(ip port) ,路径 ...

  5. 02-url路由分配及模板渲染方式

    本章主要内容 1.url基本概念及格式 2.path和re_path 3.模板路径配置 4.模板渲染方式 1.url基本概念及格式 URL(uniform Resoure Locator)统一资源定位 ...

  6. fedora使用mac osx字体和渲染方式

    fedora 19的倒退(中文显示有问题)让人感到很沮丧,不过,后来还是找到了一个很好的解决方案:使用max osx的字体和渲染方式 1. 安装infinality字体渲染软件: rpm -Uvh h ...

  7. Django 02 url路由配置及渲染方式

    Django 02 url路由配置及渲染方式 一.URL #URL #(Uniform Resoure Locator) 统一资源定位符:对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是 ...

  8. EasyPlayer RTSP Windows播放器D3D,GDI的几种渲染方式的选择区别

    EasyPlayer-RTSP windows播放器支持D3D和GDI两种渲染方式,其中D3D支持格式如下: DISPLAY_FORMAT_YV12 DISPLAY_FORMAT_YUY2 DISPL ...

  9. 记Bootstrap Table两种渲染方式

    这里主要区别两种Bootstrap Table的数据渲染方式,一.属性渲染方式,二.JS渲染方式 工作直接接手前人的,之前都直接在table标签上渲染属性,后面因为项目需要,同一页面的表格,需要申请不 ...

随机推荐

  1. ZOJ3229 Shoot the Bullet

    http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=20756 思路:就讲一下有源汇上下界最大流的做法吧!对于所有的边,就按照无源汇 ...

  2. 提高效率的便签By番茄时间管理 win7标签,小功能,大作用

    今日待办 把一些重要的事情,列入其中. 着重处理. 活动清单 罗列一些最近需要做的事情,不一定按照紧急重要的程度. 把活动清单中的事情,按照实际情况,安排到今日待办当中. 还有一个我喜欢的'头脑风暴' ...

  3. 【转】Android(4.2) Sensors 学习——G-sensor,Gyroscope驱动移植

    原文网址:http://blog.csdn.net/nxh_love/article/details/11804841 本人对驱动可谓是一点不懂,鉴于公司目前高驱动的人手不够,所以我也只能两眼一抹黑硬 ...

  4. Spring MVC Controller 单元测试

    简介 Controller层的单元测试可以使得应用的可靠性得到提升,虽然这使得开发的时间有所增加,有得必失,这里我认为得到的比失去的多很多. Sping MVC3.2版本之后的单元测试方法有所变化,随 ...

  5. poj 2342 Anniversary party_经典树状dp

    题意:Ural大学有n个职员,1~N编号,他们有从属关系,就是说他们关系就像一棵树,父节点就是子节点的直接上司,每个职员有一个快乐指数,现在要开会,职员和职员的直接上司不能同时开会,问怎才能使开会的快 ...

  6. OS error set

    Failed to resolve/decode supposed IPv4 source addres Failed to resolve/decode supposed IPv4 source a ...

  7. sudo nopasswd

    preface,不问头条,但汝读荐,诚意满满的!

  8. sql求和涉及到null值

    SQL ISNULL().NVL().IFNULL() 和 COALESCE() 函数 请看下面的 "Products" 表: P_Id ProductName UnitPrice ...

  9. Afianl加载网络图片(延续)

    上一页"已经谈到了如何使用Afianl网络负载的图片和下载文件,本文将继续介绍使用Afinal使用网络负载图片,主绑定listview采用: 看效果图: listview在滑动过程中没用明显 ...

  10. 涂抹Oracle笔记1-创建数据库及配置监听程序

    一.安装ORACLE数据库软件及创建实例OLTP:online transaction processing 指那些短事务,高并发,读写频繁的数据库系统.--DB_BLOCK_SIZE通常设置较小.O ...