在今年5月份的雷蛇中国发布会上,雷蛇CEO陈明亮十分激动的给玩家带来了雷蛇的外置显卡扩展坞支持macOS的消息,并强调苹果电脑不能玩游戏的时代已经过去。但是,仔细观察发布会上的PPT(如下图)不难发现,图中13英寸的MacBook Pro运行的堡垒之夜游戏是直接在笔记本电脑内置的屏幕上显示的,并没有使用外置显示器直接连接显卡扩展坞内的显卡来直接显示画面。
经过笔者的实际测试,将Razer Core X显卡扩展坞直接连接到MacBook Pro上,同时显卡扩展坞也不连接外置显示器的情况下,macOS High Sierra系统是可以识别到外置显示卡的。
只不过在“关于本机”的“概览”中并不会显示外置图形卡的名字,但是在系统报告中是可以清楚的看到RX470的外置显卡以及Razer Core X扩展坞的详细信息的。也就是说,在内屏显示模式下,虽然能够完美的识别到外置图形卡,但是优先级并不高。
Razer Core X直接MacBook Pro的内置屏幕显示
内屏显示模式下能够识别外接显卡(注意RX470参数下方没有显示器)
经过我们的实际测试,在内屏显示的模式下,几乎所有的程序都不能调用外部图形卡来处理,这样外接显卡在MacBook Pro内屏直接显示的模式下就没有了意义。
还好一位来自gitHub网站名叫mayankk2308的软件工程师,开发了一款名叫Set-eGPU.sh的开源脚本,它可以在不修改任何系统核心文件的情况下,强制让应用程序调用外置图形卡进行处理,同时你还可以轻松的还原所有修改。
安装的步骤也十分简单,只需要在“终端”应用程序中输入如下代码(点击查看)
然后输入账户密码,就会自动的完成脚本的下载和安装。
安装完成后一共有五个选项,它们的意思分别是:
强制电脑上所有的应用程序使用外部图形卡;
强制指定名称的应用程序使用外部图形卡;
检查指定名称的应用程序默认将使用内部还是外部的显卡;
将电脑上所有的应用程序解除强制使用外部图形卡的限制;
将指定名称的应用程序解除强制使用外部图形卡的限制。
根据笔者的经验来看,如果你的Mac电脑安装的应用程序太多,那么如果选择选项”1“的话就要等待很长的一段时间,建议使用”2“选项将主要常用的大型软件设置成强制使用外部图形卡。(7月31日,在苹果发布的macOS 10.14 Mojave beta 5系统中各个应用程序简介面板上,已经加入了让该app优先选择外置图形卡的选项框,不必再使用该终端脚本执行)
在设定完成后,还可以通过“活动监视器”程序中的“GPU 历史记录”(活动监视器程序下按Command+4即可激活)随时查看内置和外部GPU的使用率记录。
也正是通过这个“GPU历史记录”窗口,笔者在测试Final Cut Pro程序的外置显卡支持上意外的发现,即使在外接显示器直接连接外部图形卡的模式下,虽然Final Cut Pro在编辑时间线和实时渲染时可以调用外置图形卡,但是在导出视频时,却使用的内部图形卡。还好这个异常现象可以通过Set-eGPU.sh脚本进行更正,上面的测试才得以顺利进行。
下面,笔者使用了Cinebench R15,Unigine Heaven、Unigine Valley、古墓丽影10,这四款软件,测试了在15英寸MacBook Pro上外接显卡内屏显示和外屏显示的性能对比:
从测试结果可以看到,内屏显示的确会出现平均帧数的下降,但是这个性能损耗是如何出现的呢?
首先我们需要了解到的是,在大多数情况下电脑中的独立显卡是通过16个或者8个内置的PCIe通道与电脑中的内存相连接的,而外置显卡则是通过外置的雷电3线缆与电脑中的内存相连接。根据苹果官方网站的数据,雷电3带宽仅有PCIe x 16的四分之一,也就是说雷电3的带宽相当于PCIe x 4。
在外屏直接连接外置显卡显示的情况下,外置显卡处理完成的画面数据可以直接传输到连接在外置显卡上的显示器进行画面输出。
而如果是内屏显示模式,外置显卡处理完成的画面数据需要通过雷电3线缆传回到电脑的内存中,再传输到核心显卡或者内置的独立显卡中,再由这些显卡显示到电脑的内置屏幕上。而这个在外置显卡和内置显卡之间传输数据的多余步骤,就是造成性能损失的主要原因。所以,如果想要外置显卡的性能得到充分释放,还是需要一个外置显示器直接连接外置显卡,并关闭电脑的内置显示器。
另外,当外置显卡的性能足够强劲时,在某些复杂运算场景下,实时传输的数据吞吐量可能会大于雷电3的带宽。此时,外置显卡的最终性能表现会受限于雷电3的传输带宽,即使换用更好的外置显卡,最终的性能表现也不会提升。
本文属于原创文章,如若转载,请注明来源:Razer Core X雷电3外置显卡坞多平台体验//nb.zol.com.cn/693/6938584.html