微信小游戏 - 运行时分析

这是个人关于微信小游戏系列文章的第二篇,在这系列文章里会描述 ——

  • 如何把一些 Canvas/WebGL Demo 移植到小游戏环境并支持双端运行;
  • 对小游戏在 Android 平台的运行时架构进行分析;
  • 通过对移植的 Canvas/WebGL Demo 在小游戏和 Chrome for Android 浏览器上做 Benchmarking,对 H5 游戏 vs 小游戏的渲染性能进行对比和分析;

本文对运行时的分析只针对 Android 平台,并不包括 iOS 平台。另外小游戏实现代码并没有开源,以下分析都是使用 Profile 工具进行外部分析加上部分猜测的结果,不保证完全正确。

窗口结构

Browser Render Pipeline

小游戏包含了两个全屏的窗口,一个是 Activity 的主窗口,用于绘制 Canvas 之外的其它 UI 元素,比如上图右上角的菜单按钮,右下角的 vConsole 按钮,左上角的 FPS 标签;另外一个是 GLSurfaceView,嵌入到 Activity 的 View Hierachy 里面,用于 Canvas 的绘制。

这是典型的 SurfaceView 的用法,位于主窗口之下,View Hierarchy 的绘制在碰到 SurfaceView 的时候会 Clear 主窗口的相应区域,让位于下方的由 SurfaceView 创建的 Window 可以透出来。这样 View Hierarchy 中位于 SurfaceView 之上的其它 View 看起来就

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值