作者:周雅几乎每年的ChinaJoy都少不了英特尔的大招|见证电竞产业华丽转身的英特尔:游戏性能很重要,开发者更重要( 二 )


作者:周雅几乎每年的ChinaJoy都少不了英特尔的大招|见证电竞产业华丽转身的英特尔:游戏性能很重要,开发者更重要
文章图片
图为英特尔Vtune程序示例1 。 左边为该程序的利用情况 , 右边为对微架构的分析、针对性建议 , 便于开发者了解情况 。
作者:周雅几乎每年的ChinaJoy都少不了英特尔的大招|见证电竞产业华丽转身的英特尔:游戏性能很重要,开发者更重要
文章图片
图为英特尔Vtune程序示例2 。 左下角是每个线程的概况 , 包括线程之间的同步关系、替代关系等 , 便于开发者了解情况 。
GPU层面 , 英特尔也有一个工具「GPA」 。 卢卷彬介绍 , 游戏的总体情况 , 具体到每一个Pass , 每一个Drawcall , 每一个Shader , 每一个参数 , 都可以通过GPA发现并定位 , 以便开发者知道是什么情况 。
作者:周雅几乎每年的ChinaJoy都少不了英特尔的大招|见证电竞产业华丽转身的英特尔:游戏性能很重要,开发者更重要
文章图片
图为英特尔GPA程序示例 。
比如游戏突然掉帧的情况 , 你不知道它是在哪掉的 , 也根本来不及抓取 。 英特尔GPA可以抓取一段时间里的每一帧的Frame并显示出来 , 这样你就可以点击其中最耗时的那一帧看详细数据;此外 , 它也会对这一帧进行3DPipeline分析 , 以便开发者找到问题 。
除了工具之外 , 人也是非常重要的 。 英特尔在发布一些新平台的时候 , 会把测试版机器先给到开发者 , 让他们提前进行适配;同时英特尔还提供测试服务 , 帮助开发者的游戏对大部分的平台做性能分析或测试 , 并反馈给他们 , 开发者才会有目的性地优化平台 。
上述谈到的是如何找问题 , 接下来就是解决问题 。 英特尔有四招:
第一 , 发现和修正代码 。 由于一款游戏的代码数量非常大且非常复杂 , 尤其是每个游戏团队中的分工很多 , 既有程序开发 , 也有美工 , 经常存在互相之间考虑的问题 , 而英特尔的工具会优化这个问题 。
作者:周雅几乎每年的ChinaJoy都少不了英特尔的大招|见证电竞产业华丽转身的英特尔:游戏性能很重要,开发者更重要】第二 , 并行优化 。 如果说GPU是处理几百万个单独的三角形 , 那么CPU就是处理无数个相互作用的模块——前者的三角形之间没有依赖的 , 所以优化起来相对简单 , 用几百个或者是几千个显卡单元去计算 , 都可以得到非常线性的性能提升;但是CPU的模块之间互相依赖且互有逻辑 , 优化起来非常难 。
在这方面 , 英特尔与合作伙伴合作开发了很多程序 , 帮助游戏开发者解决这些问题 。 比如和Unity合作做了ECS和Jobsystem , 和Unreal做了UnrealTasksystem , 用线程池的方式 , 把任务都提交到Unreal的任务系统当中 , 去充分应用多线程 。
第三 , 算法优化 。 这需要针对具体游戏具体分析 , 所以需要游戏开发者与英特尔一起讨论并找到优化方式 。
第四 , 底层架构优化 。 当一个游戏开发者把前面的都做好了 , 还是觉得性能不好 , 如果也有余力、有时间 , 可以进行一些底层架构的优化 , 那么英特尔的工程师也会提供建议给他们 , 让他们自己评估 。
作者:周雅几乎每年的ChinaJoy都少不了英特尔的大招|见证电竞产业华丽转身的英特尔:游戏性能很重要,开发者更重要
文章图片
图:英特尔对游戏性能的优化成果 。
“游戏开发者就是我们的客户 , 客户就是上帝 , 我们会持续跟他们一起合作 , 开发更多有创造性的产品 。 ”卢卷彬说道 。
来源:科技行者

相关经验推荐