
性能优化
文章平均质量分 65
3D实时程序的性能优化
Crazy Engine
自由职业者一名,20年引擎研发经验,研发过4代3D引擎,正在开发第5代。
展开
-
游戏开发中为什么要控制模型的面数
首先,面数越多,VS的调用会越多,开销越大。PC级别的显卡目前对VS的开销不太敏感,但是移动端性能有限,还是尽量注意。其次,为了在shader里支持ddx和ddy相关的功能(即使你不调用这两个接口,内部也是需要这个功能的,比如纹理采样中需要计算出mipmap值),GPU里处理像素是以2x2为单位的。网上摘的一段话:The pixel shader always processes 2 X 2 groups of pixels (called "quads") but there is no othe原创 2022-03-02 18:24:22 · 5475 阅读 · 0 评论 -
游戏性能优化的五个方向
或者换个标题也行:3D实时程序性能优化的四重境界。一般来说,这四层可以认为是性能优化的顺序,越靠前意味着单位时间投入的产出越大。第一重 引擎使用层面参数设置是否正确,例如场景很小,却打开了级联阴影。资源格式不正确,例如纹理没有用压缩格式,纹理的压缩格式选的不好(现在3D游戏有个趋势,都尽量使用ASTC),面数太多或者没有做LOD,等等。这些问题人工去查费时耗力,现在有些工具可以自动排查。第二重 渲染管线对于Unity来说,建议尽量使用SRP管线,因为整个管线可以深度定制。比如说内置的后期原创 2022-02-25 20:01:17 · 8228 阅读 · 0 评论 -
如何使用RenderDoc截帧分析Godot
安装RenderDoc,使用默认的安装路径(因为下面是基于这个假设的)。第一次运行godot.windows.tools.xx.exe时,只是启动了launch界面,然后选中工程再打开时,其实是启动了另一个进程。所以使用RenderDoc直接启动进程的方式不可行。应该在引擎里添加如下代码,编译。只要启动进程时加载了renderdoc.dll这个dll,就能截帧了:运行,可以看到界面上出现了一行字:PrtScreen to capture...,这就表明成功了:选择一个工程,打开,可以看到原创 2021-09-15 16:05:05 · 3013 阅读 · 0 评论 -
戏说数据结构和算法
计算机和软件专业的同学在本科期间都有一门必修课:国内大多数叫《数据结构》,国外大多叫《算法导论》,非常重要。分为两部分:数据结构——array、list、stack、queue、tree、set、graph等,和算法——增删改查、排序等等。这是狭义上的数据结构和算法。实际软件开发中,只要涉及到复杂的功能时,往往会涉及书本之外的数据结构和算法的问题。对于大型软件工程来说,尤其是游戏引擎这种对性能要求近乎苛刻的系统,算法尤为重要。但是,我们在大学里学习《数据结构》这门课时,并不知道的一点是,这些数据结构原创 2020-12-27 02:39:34 · 1608 阅读 · 1 评论 -
使用安卓模拟器和GPA截帧分析手游
刚看到了篇文章,讲解怎么使用GPA和安卓模拟器截帧分析图形渲染的文章《用GPA对android应用绘制分析-GAD腾讯游戏开发者平台》:http://gad.qq.com/article/detail/39208。看后很兴奋,因为我一直想用GPA分析手游。但是原文中有些地方说的不是很详细,自己亲自验证了,把原文中没有说很明白的地方补充上。优缺点优点:1、可以使用原创 2018-02-04 13:37:42 · 11233 阅读 · 6 评论