TouchVG答疑

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,通常能够得到一周内的免费响应支持,但不做责任保证。

转载于:https://my.oschina.net/rhcad/blog/306197

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值