4解除性能上的拖累
2015-09-10
Fraps
传统录制方式
说到录制游戏视频,最广为人知的就是Fraps这款经典软件了。它被许多游戏爱好者作为显示帧数用的小软件,但其实录制无损的AVI视频才是它的主要功能。具体录制十分方便,只要安装软件并运行,在游戏当中使用快捷键录制就可以将游戏视频以无损AVI形式录制到指定硬盘位置,十分方便。
如果只是这样,那么拥有Fraps就足够了,显卡厂商也不会费力去研制录制软件来增加产品的卖点,Fraps这种传统录制方式必然存在问题。抛开无损AVI超大的体积以及录制时对硬盘的压力不谈,Fraps使用的是一种软件解码方式的录制方法,这就是说在录制时GPU几乎无法提供任何额外的帮助,所有解码转码的过程由CPU完全负责。
CPU虽然在很多游戏当中并不起主要作用,但在解码转码时会瞬间满载,这和2560×1440以上分辨率视频的软解码是完全一样的情况。原本富裕的CPU资源被压榨至极限,最直接的后果就是游戏帧数骤降。原本我们需要一颗3.0GHz频率的i3就能够流畅的配置,在录制Fraps时4.0GHz频率的i7也会“卡”,这再正常不过了。
ShadowPlay
NVIDIA GTX显卡专用
NVIDIA的GeForce Experience一经推出就备受好评,它不仅可以自动更新显卡驱动、调节游戏设置并优化,在1.7版本之后的GeForce Experience所增加的ShadowPlay游戏视频录制功能绝对是软件内最大的亮点。
ShadowPlay实现了游戏视频捕捉功能,旨在让玩家能够捕捉到游戏中的精彩瞬间。具体的方法同样是游戏视频录制,但与传统Fraps最大的不同就是使用NVIDIA GPU硬件解码,CPU方面几乎没有任何负担,最终效果对游戏帧数几乎不产生影响。
我们只要有一颗Core i3-2100或Athlon II X4 630或更高型号的CPU,4GB或以上的系统内存,Windows Vista/7/8系统,安装GeForce Experience 1.7及更新版本就具备了录制视频的基本条件。当然一块GTX 650及以上型号的显卡必不可少,这是一项NVIDIA的封闭性技术。GPU会使用H.264编码器进行视频压缩,最大可以支持4K分辨率下的60fps录像,输出格式是MP4。
Gaming evolved
AMD显卡最强配套软件
之前AMD经常被批“软件方面不给力”,终于在NVIDIA祭出杀手锏ShadowPlay之后,也推出了类似竞争对手的Gaming evolved,其中就包括游戏视频的录制功能。安装最新版本驱动程序的时候Gaming evolved会根据用户进行选择安装,安装完成后的Gaming evolved拥有近似于GeForce Experience,同时在社交方面做得更好。
我们现在只聚焦其视频录制功能,打开AMD Gaming evolved界面直接就看到了录制和直播,非常直观。只需要在菜单中设置好录制的快捷键,然后添加游戏就可以在游戏中进行录制了。不过需要注意的是,运行STEAM以外的游戏,从AMD Gaming evolved客户端打开游戏才能进行录制,游戏被AMD认证后才可以顺利进行录制,这可能在一些翻版游戏中会存在问题。
游戏视频录制时会在右下显示一个提示图标,以告知用户视频正在被录制。我们可以自己设定一个热键进行录制与关闭的开关,这和ShadowPlay是一样的道理。具体的录制效果也很不错,跟ShadowPlay一样几乎不占用资源,游戏体验非常好。
硬件解码
的优势测试
ShadowPlay和Gaming evolved能比Fraps流畅多少,还需要进行具体游戏的测试。另外Fraps所录制的视频是无损AVI格式,而ShadowPlay和Gaming evolved都是经过压缩的MP4等视频格式,是否会降低画质也是需要我们关心的。
以GeForce Experience当中的ShadowPlay为例,我们来看看这种硬件解码能否完美胜任性能要求。ShadowPlay默认被GeForce Experience关闭,如果要开启需要打开GeForce Experience的第三个选项卡。点击右上角的ShadowPlay按键,在弹出的小窗口内点击左边的开关启动ShadowPlay,不过这个状态只支持全屏游戏录制。如果是窗口模式(包括最近流行的窗口最大化模式)一定要点击ShadowPlay主页面的录制显示器桌面的选项,这样才能对窗口类游戏提供支持。在录制之前别忘了选择临时文件和录制文件的存储目录,不然ShadowPlay会默认将视频录制至C盘。录像质量有高、中、低三档可供选择,输出分辨率也可以自由设置或者使用“InGame”选项与游戏分辨率同步。开启ShadowPlay后屏幕的四个角之一(根据用户需要自行选择)会有ShadowPlay的图标提示用户正在录制,输出视频的目标和预测大小都可以在软件当中体现。
值得一提的是阴影录制功能,这项与ShadowPlay同名的录制方法旨在不让用户漏掉每一次精彩的游戏内容。开启后程序会自动录像每一次游戏的内容并保存于临时文件夹内,我们如果需要保存进入软件设置即可,不过对应有一定限制时间。另外的手动模式则和其他录制方法类似,需要我们手动开启,不过好处则是没有录制时长的限制。
根据上面的测试可以看出,使用ShadowPlay或者Gaming evolved这类利用硬件解码的录制工具几乎不会影响游戏或者3D程序内的帧数,因为GPU几乎完成了所有解码转码功能,CPU基本不参与重负载工作。而反观Fraps这种传统方式,帧数几乎降低了一半还多,严重影响游戏流畅程度。
另外最大的不同就是录制完毕后的视频格式和体积,由于Fraps录制的AVI文件是完全无损的,质量自然是最高的,但占用硬盘空间非常夸张,接近十分钟的视频文件可以达到数十GB。而以ShadowPlay为例,其9分钟文件大小是前者的十分之一,而且视频质量几乎达到完美,没有比无损AVI格式有明显降低。其实我们在共享这些视频时一样需要压缩和转码,并不可能将数十GB的文件直接上传,这种“有损”的视频最终是完全可以接受的。
直播流畅与否的关键
硬件解码对游戏直播的意义
游戏直播于近期兴起并大红大紫,成为游戏圈内最热的话题,甚至因此诞生了游戏圈内全新的行业——游戏主播。与视频录制类似,主播自己正在玩的游戏同样也是一个视频解码转码的过程,只不过一个目标是硬盘文件夹,而另一个是网络直播间。
除了相似的部分,游戏直播还有其特殊性就是网络环境。在用户直播时专业一些的直播平台都会测试直播的网络环境,进行游戏直播的主播必须要拥有10Mbps以上的网络条件才能够满足高品质视频文件的实时上传。如果使用传统解码转码方式,最终形成的视频流容量会比较大,这就对网络提出了更高的要求;而如果能在直播时使用GPU进行类似录制视频那样的硬件解码,不仅有望提高直播时自身游戏的流畅性,对于直播的画面质量与速度也都是一种提高。
斗鱼TV
完全的CPU软件解码
目前最火的斗鱼TV直播平台使用的是基于OBS或者Xsplit的方案,OBS比较万能支持Windows Vista\7\8以及Mac OS系统,如果用户使用Windows XP系统就需要Xsplit。这两款软件均是使用CPU进行软件解码的工具,实际开启后对游戏的压力与Fraps近似。
如斗鱼对于《英雄联盟》直播台式机的推荐配置见下表,熟悉LOL的用户都知道这款游戏所需电脑配置比斗鱼的推荐配置要低得多,之所以这样推荐就是因为CPU软件解码时候的压力。而且就算是用推荐配置,原本可以流畅60fps的游戏在直播时依然会降低到40fps左右,很影响游戏流畅性。
最关键的是网络速度问题,所有家用网络就算下行速度可达30Mbps的高速,但上行速度只有4Mbps左右。对应到直播相关,最多只能支持1500kbps这样的基本码率在1920×1080分辨率下的勉强直播。国内绝大多数家庭用户上行速度只有1Mbps~2Mbps,远远达不到高清上传要求。如果主播家中网络上传速度只有2Mbps左右,分辨率会降为1280×720,直播画面很难保证清晰;但如果提高分辨率就会卡顿,陷入进退两难的境地。
虎牙直播
逐渐发展的硬件
解码直播方案
有问题就会有新的解决方案出来,虽然斗鱼TV是直播行业内的翘楚,但依然有全新的直播平台登场。YY是我们熟悉的最著名的网络游戏语音平台,虎牙直播是YY旗下的全新直播平台,虽然人气依然比不上斗鱼TV,但在硬件领域它拥有最大的特点,就是支持基于ShadowPlay的硬件解码功能。
前面的斗鱼TV所使用的是开放的OBS或者Xsplit的方案,虽然所有的平台都可以使用,但是无法硬件解码,对主播电脑和网络都提出了苛刻的要求。但是通过YY与NVIDIA合作,虎牙直播平台支持基于ShadowPlay核心功能的视频硬编码技术。
这项技术可以造福于想要进行电竞直播的玩家,H.265格式与Maxwell架构的GPU组合一起使用,用户在有限的网络带宽下可以带来更好的画质,所有基于Maxwell架构以及Kepler架构的显卡都可以使用。其实通俗来讲就好比是Fraps与ShadowPlay录制视频那样的区别——传统直播时帧数低、容量大,同时对网络上行带宽要求高,而虎牙直播与NVIDIA显卡组合就会变得流畅、容量小,同时对网络要求低。
做直播玩家最重要的就是游戏性能和网络流畅,如果游戏时出现卡顿肯定要影响主播的发挥。职业主播的主机大多为8000元以上的高端主机,同时使用10Mbps以上上行带宽的网络,就是为了解决视频硬编码压力与大容量视频流的上传压力。而通过硬件解码这项技术会大幅度地降低直播时的CPU占用率,提升游戏帧数,同时降低上传压力,普通玩家更轻松实现游戏直播。