Cubism SDK for Unity的性能调整

最終更新: 2020年1月31日

概述

基本上,请在使用Unity的Profiler检查繁重的处理部分时执行性能调整。

在Cubism SDK中,模型的结构会影响编程性能。
此外,Live2D SDK for Unity优先考虑结构的清晰性,因此在性能上有一些刻意的牺牲。
下面说明对SDK性能的影响。

模型结构

参考 此处 了解更多详细内容。

项目结构

Unity的Event函数

如上所述,Live2D SDK for Unity优先考虑结构的清晰性。
因此,各个组件的更新处理都是从LateUpdate()等Unity的Event函数进行的。
该Unity的Event函数调用成本并不低。
如果直接使用SDK并显示多个模型,根据执行环境的不同,性能可能会很差。
如果重视性能,建议从一个Controller调用各组件的更新处理。
Cubism SDK for Unity中包含的CubismUpdateController执行相同的处理来控制Cubism SDK组件的执行顺序,因此如果您想采取上述措施,CubismUpdateController的实装会有所帮助。

参考 此处 了解有关CubismUpdateController的详细信息。

处理蒙版纹理

Cubism模型中使用的蒙版纹理共享一个全局纹理。
在Unity上生成Prefab时,在CubismMaskController中设置参考。

但是,如果将模型的Prefab直接设置为AssetBundle,则当Prefab副本化时,CubismMaskController中设置的蒙版纹理会从参考变为设置复制的状态。
因此,如果您忽略此规格,则每次您从AssetBundle重复生成和放弃模型时,纹理将继续保留,并压迫内存记忆。

参考 此处 了解有关此现象和对策的详细信息。

关于本报道,敬请提出您的意见及要求。