上一篇我们讲到了利用双缓冲的方式进行图形绘制,这是在Win下一般的套路。
可是移植在Mac OS下,竟然出现了意外?!依旧是不能显示。
几经摸索,终于找到了一种解决方案,在单元末加了
initialization
GlobalUseGPUCanvas := True; //直接利用GPU绘制
两个平台都输出了,而且是没有抗锯齿的效果(是我需要的效果)。但是Mac Os下竟然出现了雪花屏
后来发现本身就不用那么麻烦,直接画在canvas上就可以了,Bitmap只是多次一举。猜测:MFiremonkey针对苹果平台已经做了很好的优化。
看来是把问题想复杂了
打开GlobalUseGPUCanvas, 在Mac平台下在任何方法中都能实时绘图,否则OnPaint事件中的绘图才有效
--------
不过依旧有不完善的情况,当 GlobalUseGPUCanvas := True 时,会有少量的内存泄露
还是很不爽的,看来XE系列的完善还是一条很漫长的道路啊