ITPub博客

首页 > 应用开发 > Java > 游戏的Draw Calls是什么

游戏的Draw Calls是什么

Java 作者:ii_chengzi 时间:2020-06-18 21:03:33 0 删除 编辑

Draw Calls是什么?

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

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

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

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

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


设置为always Enabled

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

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

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

http://shenzhen.offcn.com/

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31543790/viewspace-2699309/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2018-06-26

  • 博文量
    264
  • 访问量
    342569