TouchVG答疑

Easter79
• 阅读 648

Q: TouchVG是否针对绘制效率做了优化?

A: TouchVG针对绘制效率做的优化有: a、包络框检查:在视图外的图形不显示 b、九宫格剪裁:对直线段、折线、多边形进行剪裁显示 c、后台异步显示:regenAll重新生成所有图形时,在单独的CALayer和GCD线程中绘制,绘制完后再显示到视图,不阻塞主线程交互和显示。例如重绘10000条曲线在后台绘制1秒后显示到视图,在此过程中视图不会白屏或黑屏。 d、动态拖曳显示是在单独的视图中,可以快速拖动图形或亮显图形,不影响主视图上的静态图形显示内容。(如果在同一个视图连续移动10000个曲线图形会引起不断重绘肯定很卡,如果将这些图形放在主视图显示,拖动的100个图形放在另一个视图显示则很流畅)

Q: TouchVG是否适用于移动平台的大数据量绘制? A: 在iPad3上显示10000条曲线绘制小于3秒,是使用addShapesForTest函数添加的随机图形,iPhone5上更快。如果是折线图形则更快,显示20-50万条随机直线段约1秒。我在毕业论文33-37页做过性能分析实验,显示参数设置不当会引起性能大幅降低。 如果需要显示10万条以上、50万顶点以上的复杂图形,不要全部重新绘制,有以下建议: a、可以进行分区块多线程绘制; b、可以针对不同放缩级别显示不同细节程度; c、可以逐步渲染例如将填充作为最后一个渲染步骤。 d、针对动态平移和放缩,采取截图放缩或外框显示。 更专业的显示可以使用OpenGL ES,相应的参考开源项目有MonkVG、Inkpad,但其开发难度很高,对开发人员技术要求很高,不适合短期内实现。

Q: TouchVG的兼容性具体情况如何?是否针对iOS6,iOS7及诸多Android版本做过兼容性测试?是否能够兼容后续系统? TouchVG 兼容 iOS 4.3-7.0,对多个版本做过兼容性测试,包括编译设置、代码格式、GCD和内存技术兼容测试。由于没有使用特殊的API,所以具有向前兼容性,应该适合iOS 8等新版本。

Q: TouchVG与系统控件等的兼容性如何?是否可以简单融合,是否会出现显示上的问题?(如遮盖及偏移等) A: TouchVG使用UIKit、CoreGraphics渲染图形,是在普通UIView中显示图形的,这和iOS自身的显示规律是相同的,可以与系统控件密切融合。可以在自定义控件内显示图形,也可以在图形视图上显示按钮、进行任意的界面布局。同时基于TouchVG的模块还支持CoreAnimation动画特效。

Q: 请问我可以通过何种途径获得文档?如果暂无此文档,之后使用TouchVG的话,是否有足够精力提供技术支持? A: vgios-demo、iOSColorPad等项目里有较多使用例子,vgios里也有不少注释,可以通过阅读实现和示例、动手尝试获取更多内容。QQ群中也有一些高手,可以相互讨论学习。如果能积极分享知识、心得、参与开源项目(报告BUG、建议、提交PR)则还能获得更多绘图项目的邀请。使用TouchVG,通常能够得到一周内的免费响应支持,但不做责任保证。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Irene181 Irene181
3年前
python数据分析——pyecharts柱状图全解(小白必看)
一、pyecharts简介pyecharts主要基于Web浏览器进行显示,绘制的图形比较多,包括折线图、柱状图、饼图、漏斗图地图和极坐标图等。使用pyecharts绘图代码量很少,但绘制的图形比较美观。pyecharts分为v0.5.X和v1两个大版本,v0.5.X和v1间不兼容,v1是一个全新的版本v0.5.X支持Python2
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
皕杰报表(关于日期时间时分秒显示不出来)
在使用皕杰报表设计器时,数据据里面是日期型,但当你web预览时候,发现有日期时间类型的数据时分秒显示不出来,只有年月日能显示出来,时分秒显示为0:00:00。1.可以使用tochar解决,数据集用selecttochar(flowdate,"yyyyMMddHH:mm:ss")fromtablename2.也可以把数据库日期类型date改成timestamp
Stella981 Stella981
3年前
QT界面 使用QStyledItemDelegate QPainter QStyleOptionViewItem QModelIndex组合实现项的绘制
QStyledItemDelegate类为来自模型的数据项提供了显示和编辑工具。当在Qt项视图(例如QTableView)中显示来自模型的数据时,各个项由委托(delegate)绘制。此外,当编辑一个项目时,它提供一个编辑器小部件,当编辑发生时,该小部件放在项目视图的顶部。QStyledItemDelegate是所有Qt项视图的默认委托,在创建时安装在它
Stella981 Stella981
3年前
Django之Django模板
1、问:html页面从数据库中读出DateTimeField字段时,显示的时间格式和数据库中存放的格式不一致,比如数据库字段内容为2012082616:00:00,但是页面显示的却是Aug.26,2012,4p.m.答:为了页面和数据库中显示一致,需要在页面格式化时间,需要添加<td{{dayrecord.p\_time|date:
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Easter79
Easter79
Lv1
今生可爱与温柔,每一样都不能少。
文章
2.8k
粉丝
5
获赞
1.2k