Hi all,
在7.0.3版本之后的版本中,微信 Android 端将调整 “在屏 Canvas” 的放缩策略,与 iOS 保持一致。请游戏开发者做好适配工作,该修改可能导致游戏界面模糊的问题。望周知。
1. 问题描述
在之前的版本中,小游戏中,第一个 Canvas 即 “在屏Canvas” ,无论开发者怎样设置 width height,在底层都会将width height放缩为物理像素。(gl.viewport gl.scissor 等接口的底层,我们也做了对应的放缩,所以开发者感知不到这个逻辑)
这种放缩,会让在屏Canvas无论如何设置 size 都是最清晰的状态。
但是,这种放缩会使得渲染相对较慢,而有些游戏并不需要这种清晰度;同时也给一些重度游戏在使用 shader 接口时埋了坑,给游戏开发造成了不必要的困难。
所以我们决定在之后的版本中,Android端去掉这个放缩逻辑,与 iOS 保持一致。
2. 如何适配
下面用代码举例:在一台 wx.getSystemInfo 中返回 screenWidth = 360 screenHeight = 640 pixelRatio = 3 的机器上。在之前的版本中,你直接绘制文字就是清晰的。现在则需要主动设置
canvas.width = screenWidth * pixelRatio; canvas.height = screenHeight * pixelRatio;
才能和之前达到一样的效果。
另外,对 “在屏 canvas” 的 width/height 的任何修改和适配,这种适配都不会影响游戏在老版本上的运行
如果你使用一些游戏引擎,请查阅游戏引擎的文档,如 cocos ,不需要自己修改 canvas 的宽高,只需要设置
setRetinaEnable(true)
鉴于2019年春节法定假期2月4日(除夕)至2月10日(初六)暂停审核,以上适配版本提审时,请注意在微信公众平台—版本管理—提交审核—版本更新说明中描述说明:安卓版本游戏界面适配。 如在小游戏开发过程中有任何问题,请至小游戏数据助手-在线客服进行反馈。
p.s.
我们自查发现大部分游戏,游戏主场景是没有问题的,但一些 loading 场景,则会有模糊的现象。请注意一下。

7.0.3版本小游戏卡的不行,画面效果好解决,但是游戏变卡问题无法解决啊。退回7.0.2版本微信游戏非常流畅········
Android7.0.3版本在开放域index.js里面shared canvas上画的排行榜好友头像无法显示, 以前版本可以显示,是怎么回事?
无法显示还算好了,我有个游戏直接卡退出了!!!
7.0.3版本小游戏卡的不行,画面效果好解决,但是游戏变卡问题无法解决啊。退回7.0.2版本微信游戏非常流畅
更新到7.0.3版本之后, Android版本非常卡顿,一开始以为是文字才有问题,后来发现只要场景中图片贴图超过20个,帧率就会从60下降到20左右 IOS版本正常 要对android渲染进行优化,赶紧发布7.0.4,目前用户体验极差
麻烦优化一个安卓的卡顿问题,清不清晰都不所谓了,重要的是游戏体验
就你们平台的会搞事情
什么叫就你们平台,还有哪个跟这个一样牛逼的平台
嗯,国内好像还没有。所以。。。
真香