Skip to content

Commit

Permalink
更新文档
Browse files Browse the repository at this point in the history
  • Loading branch information
walon committed Jun 25, 2023
1 parent 9612446 commit c213702
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 7 deletions.
5 changes: 2 additions & 3 deletions docs/advanced/workwithscriptlanguage.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,7 @@
## xlua

xlua并未考虑过模块化,生成的代码全在全局Assembly-CSharp里,甚至做成partial类与Runtime代码关联,因此你可能需要对这些热更新方案的生成代码做少量调整,才能与热更新配合工作。

已经有群友制作了 `HybridCLR+xlua` 的项目 [HybridCLRXlua](https://gitee.com/ldr123/HybridCLRXlua),已经跑通并且完善了工作流。推荐参考。
已经有群友制作了 `HybridCLR+xlua` 的项目 [HybridCLRXlua](https://gitee.com/ldr123/HybridCLRXlua),已经跑通。没有充分理解的开发者可以借鉴学习。

## tolua、slua、puerts

Expand All @@ -32,7 +31,7 @@ HybridCLR对 `[MonoPInvokeCallbackAttribute]` 的支持跟原生完全。由于
但如果仅仅生成跟当前拥有`[MonoPInvokeCallbackAttribute]`特性的函数相同个数的wrapper函数,后面新增热更新函数则
会发生wrapper函数不足的问题。解决方法是使用`HybridCLR.ReversePInvokeWrapperGenerationAttribute`进行预留操作。

在带有`MonoPInvokeCallbackAttribute`的函数上新增一个特性 `[ReversePInvokeWrapperGeneration(int preserveCount)]`,则为**这个签名**的函数生成 preserveCount 个wrapper函数。如果不包含此特性,则只会为这个函数生成
在带有`MonoPInvokeCallbackAttribute`的函数上新增一个特性 `[ReversePInvokeWrapperGeneration(int preserveCount)]`,则为**这个签名**的函数生成preserveCount个wrapper函数。如果不包含此特性,则只会为这个函数生成
一个wrapper函数。如果对多个相同签名的函数添加了`[ReversePInvokeWrapperGeneration(xx)]` 特性,则wrapper函数总数为 `所有 preserveCount之和 + 不包含 ReversePInvokeWrapperGenerationAttribute 特性的函数个数`

如下如示, `LuaFunction` 类型的wrapper有10个, `Func<int, int, int>` 类型的wrapper有101个,`Func<int, int>` 类型的wrapper有1个。
Expand Down
6 changes: 2 additions & 4 deletions docs/beginner/monobehaviour.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,9 @@ using UnityEngine;

public class Print : MonoBehaviour
{
public int value = 1;

void Start()
{
Debug.Log($"[Print] GameObject:{name} value:{value}");
Debug.Log($"[Print] GameObject:{name}");
}
}
```
Expand All @@ -39,7 +37,7 @@ public class Print : MonoBehaviour
}
```

热更新后,屏幕上会新增一行日志 `[Print] GameObject:Test1 value:1`
热更新后,屏幕上会新增一行日志 `[Print] GameObject:Test1`

## 将脚本挂载到热更新资源

Expand Down
3 changes: 3 additions & 0 deletions docs/other/business.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,9 @@

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

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

## HotReload特别版
Expand Down

0 comments on commit c213702

Please sign in to comment.