调用颜色混合函数setBlendFunc卡死

paper2.zip (1.4 KB)
上代码,做的你画我猜画板游戏,主要看set_touch_ctrl函数里面的代码,涂色部分性能还行,是用drawNode来绘制线段的方法,可是一旦使用橡皮擦(被注释掉的那部分代码)的时候还没擦几下就直接卡死了,貌似是调用了颜色混合函数setBlendFunc的原因,除非是性能特别好的android机,不然抗不了几下。请各位大哥帮忙看看代码应该怎么改,或者提供一套更好的实现方案。

随手一顶

发的时候在吃午饭,顶的时候刚下班

提供一下 demo 吧

finding.zip (473.3 KB)
demo的代码我简化了一些,而且很奇怪,这个单独的demo在真机运行不卡了,能不能帮我对比一下上面的paper2代码看看为什么不卡了。还有,我的画布是两层的,还有个paper1,代码几乎与paper2一样,不过涂的颜色不一样,涂色判断条件也不一样。

又要多打一条消息才能@别人,有点傻,我受够了,这是网站问题吧,我上一条消息明明是对着你点那个回复按钮的

事实上你已经@了他,只是显示好像没有@到;
所见并非所得

收到了,后续会有人跟进这个问题!

请问有什么跟进结果了吗?前面我说的这个单独的demo在真机运行不卡,但我为了需求,把最顶层的Canvas节点的设计尺寸改大后(原画板的有效画图区域的实际设计尺寸没变,但相对于整个屏幕所占的比例变小了)还是卡死了。我又把整个设计分辨率改回去,又没有问题了,真的不知道什么情况。我通过开启显示发现每次卡死都是因为GL verts飙到几万,GL calls也飙到好几百甚至上千。但此时如果我不使用setBlendFunc这个函数(注销掉)也不会怎么卡,只是这样我的橡皮擦功能就没了啊。我上面说的够清楚了吧,如果哪点哪句话没说清楚,望指出。

@@@一下