Skip to content

Commit

Permalink
完成中文版
Browse files Browse the repository at this point in the history
  • Loading branch information
walon committed Jul 9, 2023
1 parent e81a742 commit ec4c1de
Show file tree
Hide file tree
Showing 7 changed files with 84 additions and 724 deletions.
134 changes: 3 additions & 131 deletions docs/business/pro/intro.md
Original file line number Diff line number Diff line change
@@ -1,141 +1,13 @@
# 介绍

专业版本提供了一些社区版本所不支持的高级特性,**性价比极高**,适合对内存和包体要求较高的场合,如WebGL游戏。


我们提供多种高端商业版本及可灵活定制的技术服务,满足游戏项目在各种应用场景下的需求。
## 优势

请使用贵公司的**公司邮箱**向邮箱business@code-philosophy.com发起咨询,以QQ或者126邮箱之类发起的邮件会被忽略,敬请谅解。

## 商业化版本

目前有三个商业化版本:专业版、旗舰版、热重载版,它们的特性如下。

|特性|社区版|专业版|旗舰版|热重载版|
|-|-|-|-|-|
|解释执行|||||
|MonoBehaviour|||||
|补充元数据|||||
|完全泛型共享|||||
|增量式GC|||||
|DHE技术|||||
|深度指令优化|||||
|代码加固|||||
|热重载|||||
|安全沙盒|||||
|技术支持|||||

- 专业版 [详细介绍](./pro/intro.md)
- 旗舰版 [详细介绍](./ultimate/intro.md)
- 热重载版本 [详细介绍](./reload/intro.md)

## 特性

### 安全泛型共享

安全泛型共享不再需要加载补充元数据dll, 解决了补充元数据技术的缺陷,相比补充元数据技术有几个优点:

- 不再需要随包携带或者热更新下载补充元数据dll,减少包体和更新时间
- 不再需要运行时加载补充元数据dll,显著节省内存(一般在几十M量级)
- 不再需要运行时加载补充元数据dll,提高了启动速度
- 不再需要随包携带或者热更新下载补充元数据dll,简化热更新工作流

详细文档请见[AOT泛型](../basic/aotgeneric.md)

### 增量式GC

可以开启`use incremental GC`选项,减少full GC带来的卡顿现象。

### DHE技术

开创性的Differential Hybrid Execution技术。将AOT程序集标记为DHE程序集后,可以对该程序集任意增删改,热更新后会智能地让变化或者新增的类和函数以interpreter模式运行,但未改动的类和函数以AOT方式运行,让游戏逻辑的运行性能基本达到原生AOT的水平。DHE技术极大提升了热更新项目的性能。

### 深度指令优化技术

深度指令优化技术极大提升了解释模块的性能。对指令进行离线深度优化,提前转换为寄存器指令。优化后的指令整体提升100%-1000%(没看错,10倍以上)甚至更高,尤其是数值指令整体提升近300%。


### 代码加固

深度指令技术将IL指令提前转换为寄存器指令,天然抗ILSpy之类的反编译工具破解和跟踪,更安全可靠。

### 安全沙盒

支持限制热更新部分可调用的函数集合,非常适合有UGC代码情况,避免玩家提交的恶意代码执行危害App安全的操作。

### 技术支持

旗舰版和热重载版本各附带一年(或更多)的技术支持。

## 旗舰版

旗舰版主要面向有严格性能要求的项目。旗舰版相对社区版在性能方面有巨幅提升,基本达到原生性能水平,同时完全泛型共享技术让工作流、包体和内存占用得到显著优化,是大型或性能要求严苛的项目的最佳选择。
`深度指令优化技术`由于提前对原始指令作了转换,dll文件中并不包含原始IL指令,天然抗反编译破解,更安全可靠!


旗舰版本当前已被商业项目线上验证过,达到了较高的稳定性水平,可以放心使用。以下是一些上线项目列表:

- **奇葩战斗家**, 来自雷霆游戏。[iOS](https://apps.apple.com/cn/app/%E5%A5%87%E8%91%A9%E6%88%98%E6%96%97%E5%AE%B6/id1434798394) 11w评论,[taptap](https://www.taptap.cn/app/45981?utm_medium=seo&utm_source=google) 上有169万关注和357万下载。

旗舰版的优势:

- 包含独创的`DHE`技术,未变化部分代码性能与原生完全相同,相较社区版本纯解释方式提升惊人的**3-30**倍甚至更高,整体**几乎达到**原生性能水平。
- 支持Unity 2021起的il2cpp的`full generic sharing`技术,值类型也可以泛型共享了,以原生方式执行AOT泛型函数,极大提升了泛型函数的执行性能。不再需要对AOT进行补充元数据,简化了工作流,并且有效降低包体大小,明显降低了内存占用。对WebGL等包体和内存要求严苛的平台尤其有用。
- **支持增量式GC**
- 将于2023.7支持 **深度指令优化技术**,对指令进行深度优化,解释性能整体提升100%-1000%(没看错,10倍以上)甚至更高,对于数值指令整体提升近300%,同时有更优异的加载性能。
- 支持对dll代码混淆,天然抗反编译破解。
- 优化加载及运行过程中元数据分配,更节省内存
- 优化加载及运行过程中元数据分配,内存占用更小
- 更敏捷的维护支持,随时获得最新的代码(社区版本出于维护成本考虑,只会定期发布版本)。
- 原生代码已全部在包体中,被各大AppStore拒审的风险大幅降低。
- 附含一年的技术支持,快速解决使用过程中遇到的各种问题。


以下是旗舰版本相比于社区版本的解释性能提升数据。注意,只有变化代码才会走解释,如果未改动,两者的性能和原生是一样的。

![interpreter_optimization](/img/hybridclr/interpreter_optimization.jpg)

以下是数值计算方面原生与旗舰版本的解释性能对比,加法大约为7-16倍左右,乘法是4倍,除法是2倍。注意,只有变化代码才会走解释,如果未改动,性能和原生是一样的。

![benchmark_numeric](/img/hybridclr/benchmark_numeric.jpg)


## 专业版本

提供了一些社区版本所不支持的高级特性,**性价比极高**

版本优势:

- 支持Unity 2021起的il2cpp的`full generic sharing`技术,值类型也可以泛型共享了,以原生方式执行AOT泛型函数,极大提升了泛型函数的执行性能。不再需要对AOT进行补充元数据,简化了工作流,并且有效降低包体大小,明显降低了内存占用。对WebGL等包体和内存要求严苛的平台尤其有用。
- **支持增量式GC**
- 优化加载及运行过程中元数据分配,更节省内存
- 更敏捷的维护支持,随时获得最新的代码(社区版本出于维护成本考虑,只会定期发布版本)。

## HotReload特别版

HotReload特别版提供独创的`热重载技术`的支持。可以运行中完全卸载或者重新加载一个assembly,尤其适用于小游戏合集类型的游戏。

版本优势:

- 支持Unity 2021起的il2cpp的`full generic sharing`技术,值类型也可以泛型共享了。不再需要对AOT进行补充元数据,简化了工作流,并且有效降低包体大小,明显降低了内存占用。对WebGL等包体和内存要求严苛的平台尤其有用。
- **支持增量式GC**
- 支持卸载单独的assembly,卸载大部分内存(预计90%以上),但有少量残留(如`[ThreadStatic]`标记的线程静态成员字段占据的内存)
- 支持重新加载assembly,代码基本可以任意变化甚至完全不同(除MonoBehaviour类外)。MonoBehaviour及ScriptableObject的热重载。
- 支持**限定热更新assembly中能访问的函数的集合**,适合UGC游戏中创建沙盒环境,避免恶意玩家代码造成破坏。
- 更敏捷的维护支持,随时获得最新的代码(社区版本出于维护成本考虑,只会定期发布版本)。



## 企业技术支持

可以灵活选择企业所需要的技术服务项目,如果按年订阅则根据服务项计费,否则根据服务时长计费。

- 对Android64、iOS64平台的技术支持(其他服务均只针对这些平台)
- 对Android32、**WebGL(含MiniGame、微信小游戏)**、Win64、MacOS平台的技术支持
- 移植对Linux、Switch等未支持平台的支持
- Bug标准响应及解决,包含一对一远程协助指导,大多数可复现bug会在2-7天内修复或者提供规避方案
- 对2019.4.x等已经过期的LTS版本的bug修复支持
- 移植非标准支持范围内小版本的技术指导,例如指导支持2022.2.4版本。
- **提前获得Unity2023系列预览版本的支持**
- 提前获得社区版本暂未跟进的LTS小版本的支持
- 对.net standard 2.0及2.1的支持
- 优化指导
- 其他特殊的定制服务
Loading

0 comments on commit ec4c1de

Please sign in to comment.