cocos graphics 连续绘制三次贝塞尔曲线,drawcall直线飙升到200+

  • Creator 版本: < 2.4.6

  • 目标平台: web

  • 重现方式:

  • 首个报错:

  • 之前哪个版本是正常的: 均不正常

  • 手机型号: 任意

  • 手机浏览器:任意

  • 编辑器操作系统: window,mac

  • 重现概率: 100%

首先是正常的绘制三次贝塞尔曲线:
import GData from “./gData”;

const {ccclass, property} = cc._decorator;

@ccclass
export default class Test extends cc.Component {

@property(cc.Graphics)
pen: cc.Graphics = null;

// LIFE-CYCLE CALLBACKS:

async onLoad () {
    // gl.moveTo(startPoint[0],startPoint[1]);
    // const perTime = (duration / curArr.length) / 2;

    // console.log('curArr is ',curArr);
    const startPoint = cc.v2(0,0);
    const gl = this.pen;
    const curveArr = GData.dataArr;
    gl.moveTo(startPoint.x,startPoint.y);

    for(let i = 0; i < curveArr.length; i++) {
        const curObj = curveArr[i];
        gl.bezierCurveTo(curObj[0],curObj[1],curObj[2],curObj[3],curObj[4],curObj[5]);
        gl.stroke();
        // gl.moveTo(curObj[4],curObj[5]);
        await new Promise((resolve) => {
            this.scheduleOnce(resolve,0.01);
        });
    }
}

start () {

}

// update (dt) {}

}
bug
源文件
graphicsBug.zip (979.9 KB)

@panda

点够多直接给手机app整闪退了