【腾讯开发者大会】天刀手游开发历程(笔记)

本文介绍了天刀手游在优化过程中如何利用GPU Driven渲染管线、Vulkan API以及Compute Shader提升性能。通过多线程框架改动、GPU Compute和LOD优化,游戏实现了画质、帧率和功耗的平衡。GPU Driven技术在家园渲染、植被管理等方面的应用,以及光照和妆容系统的优化,展示了技术在手游开发中的创新应用。
摘要由CSDN通过智能技术生成

前言

最近腾讯游戏学院发布了一些游戏行业内大佬们的分享视频,观看这些视频,我们可以了解到行业内最新的一些技术知识等,以便提升自己的水平。之前也看到天刀手游是基于Unity制作的,同时自己也作为一名天刀游戏的玩家,碰见看见有关天刀手游的技术分享,因此必然要学习学习,了解大佬们的核心先进技术。

链接:https://www.bilibili.com/video/BV1EZ4y137db?p=6

本文目前基本仅仅只是对视频的内容的抄录,因为视频大部分提到的知识都没有接触过(唉!),无法跟进一步的拓展来说。以后有时间一定好好研究一番,同时若后续项目需要,也可以以此作为一个研究方向的参考。

 

手游研发的三要素

画质,帧率,功耗(pc可以不考虑),三者协调。例如当我们的帧率达到一个预估值后,我们可以再努力提升画质。当画质提升后,必然会造成帧率的下降以及功耗的提升,因此我们需要再优化帧率以及功耗。通过这种方式来达到三者平衡以及不断的拔高。

 

利用各种技术栈来优化

在游戏开发中,我们往往需要各种优化来提升性能,这点是非常非常重要的。视频中的大部分内容介绍的也就是如果通过各种技术栈,来获得更好的优化效果。

天刀手游主要用到了如下几个技术点来进行优化:

  • 对多线程渲染引擎,进行优化,把大部分可以并行的工作,比如动画、布料,放到其他的线程去运行。
  • 使用ISPC,来自动生成NeonSIMD的代码,这部分代码可以更好地提升CPU的执行效率。
  • 在GPU和CPU的遮挡剔除中,使用不同粒度的遮挡剔除算法,首先启用了Vulkan API,通过它来对GPU的内存进行更好的粒度上的管理。
  • 实现了GPU Driven的渲染管线,用compute来辅助优化各项其他的渲染技术。
  • 在画面上使用了PBR的材质,使用了真实的物理单位的lighting,获得更好的HDR的画面效果。

在开发过程中,经历了多线程的优化,发现了在做手机平台上的一个优化甜区。即手机的多核要比我们在端游时代开发的时候更早的进入了多核时代。现在很多安卓手机都是4+4的多核架构(像更早时候在主机平台上看到的,如xbox360,ps3),在这些架构下,都是以能让开发者更多的使用这些辅助的计算单元,来提升计算效率。因此有两个大方向:

  1. 尽可能剥离主线程上的计算,通过dispatch到小核上,dispatch到其他线程上,来提升它的计算效率。
  2. 把计算转入GPU Compute。

做优化时,团队要有一个非常好的基础,这个基础来源于我们在于从多线程开始,意识到整个计算体系,应该不同的去往compute方向,或者往其他线程方向去使用。通过减少主线程的开销成本,来去提升整个游戏的性能效率

 

多线程的框架改动

对Unity进行了多线程的框架改动,把渲染线程和提交线程从主线程中剥离出来。因为在手游的开发环境里,一个主线程的持续工作会带来手机芯片的功率提升,这会带来更多的发热。

 

Vulkan API

官网:https://www.khronos.org/vulkan/

相关文献:

https://geek-docs.com/vulkan/vulkan-tutorial/vulkan-tutorial-index.html

https://vkguide.dev/

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值