ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

使用Sprite Packer对UI图集进行打包的问题

2021-10-13 18:32:04  阅读:245  来源: 互联网

标签:Group Sprite Packer Shader Unity UI UWA 图集


1)使用Sprite Packer对UI图集进行打包的问题
​2)Unity处理视锥剔除的问题
3)Profiler查看Shader.CreateGPUProgram的具体Shader信息
4)PPS的UberPost内存占用较高


这是第270篇UWA技术知识分享的推送。今天我们继续为大家精选了若干和开发、优化相关的问题,建议阅读时间10分钟,认真读完必有收获。

UWA 问答社区:answer.uwa4d.com
UWA QQ群2:793972859(原群已满员)

UI

Q:使用Sprite Packer对UI图集进行打包:
1. 使用系统自带的Sprite Packer打包,图集大小设置成1024,这样打出来的图集会分为好几个Group,那么相同图集不同Group能够合批吗?

2. 由于Sprite Packer是自动分配的Group,这种情况下打开功能的时候是所有Group都会加载的,那么这种设置1024是否还有必要,改成2048会不会好一点?

3. 图集设置成2048变大了,对加载速度和内存有影响吗?这个需要按图集里图片数量多少做不同的设置吗?

A:可以参考以下答案:

  1. 不同Group是不会合批的,一般也没有UI图集大小的建议。

  2. 最好自己手动控制图集的Group,在UI制作时可以以UI Prefab为单位收集一下哪些Group的图集是当前UI需要使用的,加载UI预设时按需加载对应的Group就好了。

  3. 如果图集中的图片资源都用到了,同时图集的填充率也差不多,那加载1张2048和4张1024,对加载影响可能并不是很明显,内存占用也是一样的,但如果2048填充率并没那么高,或许1024的会比较好。

该回答由UWA提供


Rendering

Q:最近在研究场景管理的问题,想了解Unity是否有处理视锥剔除,于是做了测试(Unity 2020.3.11f)。创建了两个Cube,移动第二个Cube,对比顶点数量变化。

 

 

 

 

为什么同样在视锥体范围内,批次和顶点数会不同?当第二个Cube不在视锥范围内,顶点数也可能不同,那Unity是否有视锥剔除,其处理逻辑是怎么样的?

A:应该是灯光绘制ShaowMap时候,投影的范围将那个相机外的Cube包进去了,受Light的影响,关了Light就可以了。

感谢范世青@UWA问答社区提供了回答


Shader

Q:由于目前项目Shader挺复杂的,变体也非常的多,如果用ShaderVariantCollection的方式解析一次耗时太高了,而且如果用Shader.CreateGPUProgram耗时很高并且频率也很高,所以就想问下:有没有什么办法可以知道是哪个Shader造成的?这样我才好做策略去解决。

我以前Unity 2017是能够知道哪个Shader造成的,在Profiler里面可以把Shader.CreateGPUProgram继续展开,但是现在Unity 2018.4.36不行。

A:Profiler的Timeline视图可以看到。

感谢黄晓文@UWA问答社区提供了回答


Shader

Q:URP项目,下面这个Shader是做什么用的?有没有相关的变体算法和优化建议,谢谢。

 

A:UberPost是一个大杂烩,有好多处理都集中在这里,项目确定不用的变体之后,就可以用#pragma skip_variants xxx 跳过。例如:#pragma skip_variants _TONEMAP_NEUTRAL _DITHERING。

感谢怀特@UWA问答社区提供了回答

 

 

20211011
更多精彩问题等你回答~

  1. Unity增量打包AssetBundle没变化的资源也会被重新打包
  2. 在模型有UV2的情况下开启Generate Lightmap UVs
  3. 如何实现AAB包的增量更新

封面图来源于网络


今天的分享就到这里。当然,生有涯而知无涯。在漫漫的开发周期中,您看到的这些问题也许都只是冰山一角,我们早已在UWA问答网站上准备了更多的技术话题等你一起来探索和分享。欢迎热爱进步的你加入,也许你的方法恰能解别人的燃眉之急;而他山之“石”,也能攻你之“玉”。

官网:www.uwa4d.com
官方技术博客:blog.uwa4d.com
官方问答社区:answer.uwa4d.com
UWA学堂:edu.uwa4d.com
官方技术QQ群:793972859(原群已满员)

标签:Group,Sprite,Packer,Shader,Unity,UI,UWA,图集
来源: https://www.cnblogs.com/uwatech/p/15403439.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有