问题环境:
cocos2d-x 3.14.1
Mac / Chrome Version 56.0.2924.87 (64-bit)
Mac / Safari Version 9.0.1 (11601.2.7.2)
webgl 模式
具体的问题表现比较难以描述,可以说是在使用 cc.Drawnode 实例,进行绘制 (如 drawSegment,drawDot,drawPoly) 的时候(每帧绘制,比如绘图软件),画着画着,画面上的内容就会变花掉。而且貌似是有复数个 cc.Drawnode 实例的时候比较容易出现。
我知道 drawPoly 在绘制凹多边形的时候是由问题,需要自己三角化处理的,所有测试的时候画的都是凸多边形。
这个问题貌似是新版中引入的,因为我试过了 cocos2d-x 3.13.1 and cocos2d-x 3.12 都没有这个问题。
而新版的 3.14.1 的日志中,有如下描述:
cocos2d-x-3.14 Dec 22 2016
[REFINE] Web: Reimplement a much faster cc.DrawNode WebGL renderer
I have uploaded a simple demo in the attachment, I hope you guys can run and test it I think it is easy to reproduce the problem.
下面是两个 gif 来演示这个问题的发生的表现:
cocos2d-x 3.13.1 完全没问题:
cocos2d-x 3.14.1 画着画着就出现问题了 :
此外,附上例子的代码,只要直接浏览器运行,画多边形就可以重现了,希望官方可以看一下,谢谢了。
js-template-default.zip (1.5 MB)