大家好,很高兴见到您。 现在,我们讨论游戏性能。 有时我们必须关心性能。 因为如果您的游戏性能良好,则意味着您可以与用户或游戏玩家流畅地进行游戏。
一些游戏引擎通常会提供一些文档或技巧,以优化游戏性能。 它可以优化图形性能,CPU性能,RAM或其他可以使您的游戏更好的东西。 在Unity游戏引擎中,您可以优化游戏。 在本主题中,我将讨论可能影响CPU使用率或内存的2d Sprite。 但是,首先我们应该了解如何统一调整性能游戏,因此您应该统一使用分析器。 什么是探查器?

Profiler是来自Unity的工具,可帮助您优化游戏。 它为您报告游戏各个方面花费了多少时间。 例如,它可以报告花费在渲染,动画或游戏逻辑上的时间百分比。 您可以分析GPU,CPU,内存,渲染和音频的性能。 您可以从“ 窗口”>“探查器”访问它。 您可以从此处的文档中查看详细信息。
让我们从我之前已经提供的软件包开始。 这是包精灵打包程序示例的链接。 如果您已经导入了unity,它将包含两个文件夹Scene和Sprite。

每个场景都有具有不同子画面的相同游戏对象。 这是层次结构的预览

打开第一个场景。 点击播放按钮,然后打开分析器窗口。 查看“渲染”部分的“过程”。 在图形部分下,您可以看到SetPass调用或Draw调用。 这是什么意思?。 我不知道到底是什么意思(LOL),但是在统一文档中,绘制调用的意思是“要在屏幕上绘制GameObject,引擎必须向图形API(例如OpenGL或Direct3D)发出绘制调用。 绘图调用通常会占用大量资源,而图形API会为每个绘图调用做大量工作,从而导致CPU端的性能开销”。 因此,较小的抽奖机会更好。 您可以看到第一个场景中的绘图调用为6。

打开第二个场景并点击播放,像场景一一样观察探查器。 然后比较每个场景中探查器的结果。

您可以在第二个场景中看到绘图调用为3。为什么它们的绘图调用不同? 因为每个场景中的精灵设置都不同。 对于第二个场景,我使用精灵打包程序 ,第一个场景不使用特殊设置,仅使用默认设置。 什么是精灵封隔器? 这是一个统一的工具,用于将图形打包为图集或单一纹理(您可以在此处查看手册:Sprite Packer)。 但是在使用Sprite Packer之前,请在导入设置中为每个Sprite添加标签。

标记每个精灵后,单击窗口->精灵打包程序

然后将显示精灵打包程序窗口。 单击“打包”,所有带有相同标签的精灵将位于一个单独的textrue或地图集中。

最后,可以使用Sprite Packer减少绘制调用。 就像统一手册中所说的那样: “为了获得最佳性能,最好将多个精灵纹理中的图形紧密地包装在一个称为图集的单一纹理中。”