File tree Expand file tree Collapse file tree 4 files changed +55
-0
lines changed Expand file tree Collapse file tree 4 files changed +55
-0
lines changed Original file line number Diff line number Diff line change @@ -116,6 +116,7 @@ export default defineConfig({
116
116
{ text : "资源优化工具与建议" , link : "/Design/AssetOptimization" } ,
117
117
{ text : "iOS高性能 与 高性能+ 模式" , link : "/Design/iOSOptimization" } ,
118
118
{ text : "优化Unity WebGL的渲染性能" , link : "/Design/RenderOptimization" } ,
119
+ { text : "EmscriptenGLX渲染模式" , link : "/Design/EmscriptenGLX" } ,
119
120
{ text : "定制微信小游戏的 URP 管线" , link : "/Design/CustomURP" } ,
120
121
{ text : "WebGL2.0渲染支持说明" , link : "/Design/WebGL2" } ,
121
122
{ text : "性能深度分析工具" , link : "/Design/DeepProfileTool" } ,
Original file line number Diff line number Diff line change
1
+ # EmscriptenGLX 渲染模式
2
+
3
+ ## 简介
4
+
5
+ 游戏内所有 GL 指令调用需要经过三层转换:` WASM(业务逻辑) ` -> ` WebGL JS胶水层(GL -> WebGL) ` -> ` 平台渲染 ` ,WASM 模块与 JavaScript 之间的高频通信无疑带来了繁重的性能开销。
6
+
7
+ 通过 EmscriptenGLX 渲染模式,可以实现在 WASM 内部完成 ` GL -> WebGL ` 指令的处理,将原本 ` WebGL JS胶水层 ` 的代码下沉至业务逻辑(WASM)中,消除** WASM 与 JS 之间高频调用链路** 。详细文档请查阅[ EmscriptenGLX 渲染模式] ( https://developers.weixin.qq.com/minigame/dev/guide/performance/perf-emscriptenglx.html )
8
+
9
+ ## 特别说明
10
+
11
+ 1 . EmscriptenGLX 目前仅支持在 ** iOS 高性能+模式** 以及 ** Android 平台** 下运行,其他运行时将会自动降级为原有的运行方案。
12
+ 2 . 基础库版本须 ` >= 3.8.10 ` ,低版本的基础库会使用原有的运行模式运行游戏。
13
+ 3 . 当前仅支持 ` Unity2022 ` 和 ` 团结引擎 ` 接入
14
+ 4 . 本方案处于 ` Beta ` 测试阶段,建议** 充分验证后** 再进行发布。
15
+
16
+ ## 接入指南
17
+
18
+ ### 1. SDK 接入
19
+
20
+ 请参照 [ 微信 SDK 安装] ( ./SDKInstaller.md ) ,使用 ` Package方式 ` 进行安装
21
+
22
+ ` 打开游戏工程 ` -> ` Editor 菜单栏 ` -> ` Package Manager ` -> ` 右上方 "+" ` -> ` Add package from git URL ` -> ` 输入下方的URL地址 ` ,即可完成 SDK 导入
23
+
24
+ ``` javascript
25
+ https: // github.com/wechat-miniprogram/minigame-tuanjie-transform-sdk#feat-emscriptenglx
26
+ ```
27
+
28
+ ### 2. 开启 EmscriptenGLX
29
+
30
+ 通过「微信小游戏工具面板」-「调试编译选项」-「EmscriptenGLX」进行勾选,并开启转换
31
+
32
+ ![ 开启EmscriptenGLX] ( ../image/emscripten_enable.png )
33
+
34
+ ## 常见问题
35
+
36
+ ### Q1. 如何确认转换后的游戏使用到了 EmscriptenGLX 的渲染模式?
37
+
38
+ 请按照下方的步骤进行验证
39
+
40
+ 1 . 删除本地小游戏(包括开发版、体验版和正式版)。
41
+ 2 . 重新进入游戏并打开调试,查看 vConsole 中的相关日志
42
+
43
+ - vConsole 第一行,确认基础库版本 ` >=3.8.10 `
44
+ - 在 WebGL Context 创建上下文前后,查看是否包含下图高亮的日志信息
45
+ ![ 成功开启EmscriptenGLX] ( ../image/emscripten_enable_log.png )
46
+
47
+ ### Q2. 为什么开启了 EmscriptenGLX 后,性能更差了?比如单帧耗时更大了。
48
+
49
+ A2. 如果遇到了此类情况,一般是踩到了新方案的坑,[ 联系我们] ( ./IssueAndContact.md ) 一起进行排查。
50
+
51
+ ### Q3. 为什么开启 EmscriptenGLX 模式后,渲染异常了?
52
+
53
+ A3. 新方案对 GL 的相关指令进行了重构,若遇到了渲染相关的表现异常问题,请先排查游戏在 iOS 高性能+ 和 原 Android 设备下的渲染表现是否正常,若正常,请[ 联系我们] ( ./IssueAndContact.md ) 一起进行排查。
54
+
You can’t perform that action at this time.
0 commit comments