问题模块 框架类型 问题类型 操作系统 操作系统版本 手机型号 微信版本
客户端 小游戏 Bug Android miui10 android8.1 小米8 6.7.2
上次报bug并没有得到重视,最新的6.7.2并没有修复这个问题.
- 当前 Bug 的表现(可附上截图) 安卓版微信在渲染快速移动的显示对象时,有时会无视物体的真实位置,回到上一帧画面,造成停停顿顿的画面动画.ios版微信不会出现这个问题.个人猜测是安卓版本的双缓冲或者画面缓存机制有点问题.
- 预期表现 显示对象渲染时,应该位于当时当刻的位置.
- 复现路径 使用安卓手机打开代码片段,注意白色块的移动,每个移动周期都会随机在某个时刻,画面渲染回到上一帧.
- 代码
requestAnimationFrame(loop)
let canvas = wx.createCanvas('2d');
let ctx = canvas.getContext('2d');
ctx.font = '18px';
ctx.fillStyle = '#FFFFFF';
let offlineCanvas = wx.createCanvas('2d');
let offlineCtx = offlineCanvas.getContext('2d');
offlineCtx.fillStyle = '#ffffff';
offlineCtx.fillRect(0,0,100,400);
let moveX = 0;
function loop() {
ctx.clearRect(0, 0, canvas.width, canvas.height);
ctx.fillText('白块移动的渲染,有时回到上一帧画面.',0,75);
ctx.fillText('安卓6.6.7版本必现, ios无这个问题.', 0, 100);
ctx.drawImage(offlineCanvas, moveX,200);
moveX = (moveX < -200) ? canvas.width : moveX-4;
requestAnimationFrame(loop);
}
代码片段
wechatide://minicode/GtJa13mt7B2O
本文网址:http://www.91bianli.com/weixinxiaochengxu/46717.html