< 返回技术文档列表

怎么理解游戏的Draw Calls

发布时间:2021-11-07 00:22:08⊙投诉举报

这篇文章主要讲解了“怎么理解游戏的Draw Calls”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么理解游戏的Draw Calls”吧!

Draw Calls是什么?

Draw Call仅仅是一条指令。Draw Call指令从CPU传到GPU,渲染一个网格。指令只指向一个被渲染的网格并且不包含任何材质信息。渲染就是在做一个巨大数量的小任务,比如计算成千上万的顶点和在屏幕上绘制以百万计的像素。每个用不同的材料的网格都需要一个单独的Draw call。

那接下来我们用unity本身自带的工具来实现。

首先新建一个项目,导入四张图片。并将其转换成 Sprite精灵。

怎么理解游戏的Draw Calls

把四张图片添加到场景中,适当合理布局,运行场景,打开 Game 窗口的 Stats,此时的 Batches为6,由于 Main Camera、平行光 和四张 Sprite的存在,所以为6。

怎么理解游戏的Draw Calls

在顶部菜单栏 Window - Sprite Packer,点击打开,由于Unity高版本已经禁用该功能(似乎Sprite Altas 代替),进行设置,使用 Sprite Packer 该功能。

怎么理解游戏的Draw Calls
怎么理解游戏的Draw Calls

设置为always Enabled

怎么理解游戏的Draw Calls

选中四张 Sprite,把他们的 Packing Tag 统一设置为 myTextures(名字随意取),便于后面打包到在一起。

怎么理解游戏的Draw Calls

使能Sprite Packer功能之后,再次顶部菜单栏 Window - Sprite Packer,点击打开,点击 pack,即可把四张图打包在一起。

怎么理解游戏的Draw Calls

再次运行场景,场景中的游戏物体依然是之前的6个,但是Batches已经变为3了,具体如下图,是由于 Sprite Packer,把四张Sprite图,打包在一起的缘故,如果更多的Sprite打包,性能优化效果更明显。

怎么理解游戏的Draw Calls

感谢各位的阅读,以上就是“怎么理解游戏的Draw Calls”的内容了,经过本文的学习后,相信大家对怎么理解游戏的Draw Calls这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是血鸟云,小编将为大家推送更多相关知识点的文章,欢迎关注!


/template/Home/Zkeys/PC/Static