小程序
小游戏
企业微信
微信支付
扫描小程序码分享
如题用createCanvas建立的离屏的canvas,本来是想用来做ui的缓存的,结果发现动态更新ui的时候fps降低得非常厉害,还不如我直接在主canvas里绘制,这效率,恐怕直接用dom更新都比他快
10 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
对于小游戏,是的。
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
收到。事实上小游戏框架是基于GL实现的,你可以直接在主canvas绘制的。
可以提供一下代码说明你的具体做法吗?
其他机型有出现类似问题吗?
你好,请提供一下出现问题的机型和微信版本。
小游戏性能是有点差,特别ios端,同样的场景,居然帧数比安卓的还低,比原生的差很多
@LastLeaf 你的意思是canvas 2d也是使用 gl 硬件加速的?
在主循环里
if(需要更新ui){
uicanvas.clearrect
uicanvas.draw
需要更新ui=false
}
maincanvas.drawImage(uicanvas)
和你们自带的游戏不同的是,我给所有canvas的width和height都是乘以pixelRatio的,但用style约束到屏幕长宽,我不知道这是否会影响,但按照道理是不应该有影响的。
以上代码如果我把需要更新ui去除,每帧都绘制在第二canvas上,FPS也是一样显著下降
我没有测试过,我只有自己的手机而已,现在小游戏也只能自己预览
魅族note5,微信6.6.1
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
对于小游戏,是的。
收到。事实上小游戏框架是基于GL实现的,你可以直接在主canvas绘制的。
可以提供一下代码说明你的具体做法吗?
其他机型有出现类似问题吗?
你好,请提供一下出现问题的机型和微信版本。
小游戏性能是有点差,特别ios端,同样的场景,居然帧数比安卓的还低,比原生的差很多
@LastLeaf 你的意思是canvas 2d也是使用 gl 硬件加速的?
在主循环里
if(需要更新ui){
uicanvas.clearrect
uicanvas.draw
需要更新ui=false
}
maincanvas.drawImage(uicanvas)
和你们自带的游戏不同的是,我给所有canvas的width和height都是乘以pixelRatio的,但用style约束到屏幕长宽,我不知道这是否会影响,但按照道理是不应该有影响的。
以上代码如果我把需要更新ui去除,每帧都绘制在第二canvas上,FPS也是一样显著下降
我没有测试过,我只有自己的手机而已,现在小游戏也只能自己预览
魅族note5,微信6.6.1