什么情况下触画布模式。

canvas

        let config = this.config,
            userRenderMode = parseInt(config.renderMode) || 0;

        // Determine RenderType
        this.renderType = this.RENDER_TYPE_CANVAS;
        let supportRender = false;

        if (userRenderMode === 0) {
            if (cc.sys.capabilities['opengl']) {
                this.renderType = this.RENDER_TYPE_WEBGL;
                supportRender = true;
            }
            else if (cc.sys.capabilities['canvas']) {
                this.renderType = this.RENDER_TYPE_CANVAS;
                supportRender = true;
            }
        }
        else if (userRenderMode === 1 && cc.sys.capabilities['canvas']) {
            this.renderType = this.RENDER_TYPE_CANVAS;
            supportRender = true;
        }
        else if (userRenderMode === 2 && cc.sys.capabilities['opengl']) {
            this.renderType = this.RENDER_TYPE_WEBGL;
            supportRender = true;
        }

        if (!supportRender) {
            throw new Error(debug.getError(3820, userRenderMode));
        }

renderMode 配置成0 并且不支持webgl
renderMode 配置成1 并且支持canvas

是根据手机自动选择的吗,看这个情况。

看了下2.4.8的源码
!!window.WebGLRenderingContext的情况下视为支持webgl
如果renderMode配置成0就是自动的
配置成1就是只用canvas
配置成2就是只用webgl

嗯,应该是会根据手机浏览器情况自动选择,目前应该大部分都是webgl了。