在mini PC上使用eGPU

原文链接:Using an eGPU with a mini PC 由Ian W. Morrison撰写。

使用eGPU的mini PC
使用eGPU的mini PC

Mini PC之所以变得越来越流行,有一部分原因是因为它的的外形小巧,可以提供低功耗的基本计算功能,而且具有足够多的连接端口。因此,它们既适用于商业环境,比如:数字标牌,也适用于小内存需求或低成本安装vesa计算机的消费者。但是,Mini PC有一个缺点,由于使用带有集成图形的CPU使得它的图形性能有限,所以玩游戏的选项也受到一些限制。而且“AAA”级游戏通常都是无法播放的。

价格较低的笔记本电脑通常也存在相同的缺点,而用户想要满足自己图形需求的方法之一就是利用eGPU(即:外部GPU)。然而,商业上可用的eCPU都是十分昂贵的,而且还需要通过Thunderbolt 3端口进行连接。

更不幸地是,目前中国制造的mini PC包含有Thunderbolt 3端口的十分少。不过,现在中国国内的一些mini PC已经开始包含M.2 NVMe端口了,这让使用“PCIe x16到M.2 NVMe适配器”添加GPU成为可能。

下面我将会讨论可将GPU与mini PC配合使用的各种示例,包括对配置和性能影响的选择,尤其是对游戏的影响。建议你们阅读全文,但如果时间不多,可以直接看最后部分的结论。

配置选项

这一项的主要要求是要使用具有标准图形卡的PCIe x16接口。我们都知道商用eGPU本质上是美化的“PCIe x16转Thunderbolt 3适配器”。所以,可以通过使用PCIe x16到M.2 NVMe适配器Thunderbolt 3到M.2 NVMe适配器来有效地复制它,而且这也适用于所有具有Thunderbolt 3端口的PC。

但是,如果 Mini PC没有所需的Thunderbolt 3端口,但是具有M.2 NVMe插槽,那么就可以使用PCIe适配器代替占用M.2 NVMe插槽的NVMe SSD。另外,如果没有其他可用的内部存储,就必须要使用外部存储,例如“USB到M.2 NVMe适配器”,从而重复使用被PCIe适配器取代的NVMe SSD。

因此,Mini PC只要有M.2 NVMe插槽,就会有许多连接GPU的选项:

  1. 如果MiniPC具有Thunderbolt 3端口
    • 通过Thunderbolt 3端口连接,从而在“eGPU”中的使用GPU
    • 在“PCIe x16 to M.2 NVMe适配器”中使用GPU,并通过Thunderbolt 3端口 将“Thunderbolt 3 to M.2 NVMe适配器”连接起来
    • 使用安装在 M.2 NVMe插槽中的“PCIe x16至M.2 NVMe适配器”中的GPU,并通过雷电3端口连接的“雷电3至M.2 NVMe适配器”重新使用NVMe SSD,或通过USB端口连接的“USB至M.2 NVMe适配器”重新使用NVMe SSD,或使用通过USB端口连接的外部存储。
  2. 如果没有Thunderbolt 3端口:
    • 使用安装在2 NVMe插槽中的“PCIe x16至M.2 NVMe适配器”中的GPU,并在USB端口连接的“USB至M.2 NVMe适配器”中重新使用NVMe SSD,或者使用通过USB端口连接的外部存储

技术了解

在不了解太多细节的情况下,对基础技术的简要说明有助于理解性能受到影响的原因。

在台式机中,独立显卡通常使用主板上的PCIe x16 Gen 3插槽。尽管现在Gen 4插槽也可以用了,但对游戏来说现阶段并不一定需要它们。PCIe Gen 3接口的每个通道数据传输速率是每秒8千兆字节,但由于使用了编码方案,带宽就减少了2/130%。因此,PCIe x16接口的能力为(8 GT / s * 16)– 2/130%或15.7538 GB / s,而PCIe x4接口的能力仅为3.938 GB / s。根据PCIe插槽与CPU的连接方式,与使用x16插槽相比,连接x4插槽时显卡性能可能会稍微下降,这取决于插槽是直接连接到CPU还是通过芯片组。TechPowerUp每半年就会测试一次PCIe扩展对当代高端图形卡的影响,在1920×1080分辨率下损失的一些例子,包括:通过CPU将GTX 1080从x16转换为x4 PCIe导致的GTX 1080,损失4%、PCIe通过芯片组的损耗是8%、RTX 2080 Ti从x16变为x4损耗为9%RTX 3080从x16变为x4(以x16 Gen 1.1代表)损耗为13%。因此,对于微型PC用户来说,比较不幸的是:通过PCIe x4连接的图形卡与通过PCIe x16连接的图形卡相比将失去一些性能。

如此看来,提供40 Gbps外部I / O带宽的Thunderbolt 3是可以提供足够的带宽来连接GPU的。但是,这是最大带宽,而且是通过“显示输出”来计算的。英特尔表示,Thunderbolt 3的最大单向数据速度为22 Gbps(PDF),这是通过使用四个以4 * 8 Gbps或32 Gbps运行的PCIe Gen 3通道实现的,该通道可保留10 Gbps从而保证Type-C USB 3.2 Gen 2×1的传输。因此,通过Thunderbolt 3进行的数据传输仅能够达到((8 GT / s * 4)– 10 Gbps)– 2/130%或2.708 GB / s。由此产生的较低吞吐量为(PCIe x4为3.938 GB / s。Thunderbolt 3为2.708 GB / s则意味着通过Thunderbolt 3连接GPU时,图形性能将会进一步下降。

此外,并非所有制造商都在其Thunderbolt 3端口上实现了完整的x4 PCIe速度,大部分使用的还是x2的最小速度。另外,我们也不能保证,通过Thunderbolt 3连接的eGPU可以识别出设备的BIOS(Minisforum X35G就是这种情况)。与笔记本电脑一样,这是微型PC“谨慎选择”的案例。

此外,Thunderbolt 3是通过芯片组运行,而不是直接连接到CPU上。另外,电缆的两端都有一个Thunderbolt 3控制器,这就导致延迟。这个延迟主要是因芯片组、Thunderbolt 3控制器和电缆长度造成的。Thunderbolt 3电缆有两种类型:无源电缆和有源电缆。长度约0.5至0.8米的电缆支持40 Gbps的最大数据传输,并且一般都是“无源的”。而长达2米的电缆支持的最大数据传输为20 Gbps。除非它们是“有源”电缆,这就意味着它们的连接器中需要包含额外的电路,才能达到最大40gbps速度。

还有一点十分值得注意,USB端口可以具有不同的数据速率和传输速度。因此,一个USB 3.2 Gen 2×1端口可以具有10 Gbit / s的数据速率和1.21 GB / s的传输速度

最后,GPU的性能还取决于许多变量,例如GPU、CPU的架构、功率、图形内存的数量、内存总线的宽度、时钟频率以及正在运行的应用程序/游戏设计等。简单地说就是,CPU必须先处理数据,然后才能将数据传递到GPU,接着GPU会执行渲染帧的工作。如果CPU无法足够快地处理数据,那么无论功率如何,GPU总是在等待CPU,这就是所谓的“CPU瓶颈”也叫“CPU约束”。当使用更强大的显卡时,游戏的性能下降也会成比例地恶化。因为要实现更高的FPS,就需要更多的带宽,因为需要传输更多的数据,就会使其更有可能受到带宽限制的影响。

本文进行的所有测试,主要集中于“通过M.2 NVMe插槽连接的eGPU”与“通过Thunderbolt 3端口连接的eGPU”之间的性能损失,并且不包括将eGPU与dGPU进行比较时的任何损失。

硬件总览

用于测试的mini PC,大多数都是i3 Intel NUC 8 Bean CanyonNUC8i3BEK

Mini PC—NUC8i3BEK
Mini PC—NUC8i3BEK

最初我之所以选择产品,主要是因为它配备了低功耗的英特酷睿 i3-8109U处理器。带有iGPU、Thunderbolt 3端口、M.2 NVMe插槽和一些USB 3.2 Gen 2×1端口。另外,它目前的价格非常低廉,只需299澳元(约合210美元另需加税费。该设备配置了16GB(2 x 8GB)的G.SKILL Ripjaws DDR4 2400MHz内存和Kingston A2000 1TB NVMe SSD。

作为“eGPU”示例,我使用了ASUS XG Station Pro,它是Thunderbolt 3的eGPU扩展,附带了一条1.5m的“有源”Thunderbolt 3电缆:

ASUS XG Station Pro
ASUS XG Station Pro

对于“PCIe x16到M.2 NVMe适配器”,我使用了ADT-Link的R43SG

ADT-Link的R43SG
ADT-Link的R43SG

这比基本的“PCIe x16到M.2 NVMe适配器”具有更好的价值,因为它包括GPU支架以及所有必需的电源连接。它还需要一个额外的电源,可以是标准PSU电源,也可以是DELL DA-2 8PIN 12V / 18A / 220W PSU(又名Dell D220P-01),这可以通过二手市场低价购买。

Dell D220P-01电源适配器
Dell D220P-01电源适配器

为了通过Thunderbolt 3连接R43SG,我使用了JEYI Thunderbolt 3 M.2 NVMe机箱(即:Thunderbolt 3到M.2 NVMe适配器”),因为它支持双面SSD,这与某些竞争对手的适配器不同。

JEYI Thunderbolt 3 M.2 NVMe机箱
JEYI Thunderbolt 3 M.2 NVMe机箱

我还使用了ORICO M2PAC3-G20 M.2 NVMe SSD机箱,用来作为“USB到M.2 NVMe适配器”。

ORICO M2PAC3-G20 M.2 NVMe SSD机箱
ORICO M2PAC3-G20 M.2 NVMe SSD机箱

这款产品最高支持USB 3.2 Gen 2×2,也就是20 Gbps,也包括USB-C型到C型电缆和USB A型到C型电缆。从技术上讲,我本来可以使用10 Gbps M2PV-C3型号或类似型号的,但因为目前还没有多少mini PC支持USB 3.2 Gen 2×2。

所以,最后在测试期间,我使用了两个“M.2 NVMe至PCIe x4适配器”,以及一个带有散热器的EZDIY-FAB NVMe PCIe适配器

EZDIY-FAB NVMe PCIe适配器
EZDIY-FAB NVMe PCIe适配器

以及带散热器的RIITOP PCIe 3.0 x4 / x8 / x16到M.2 PCIe NVMe适配器

NVMe适配器
NVMe适配器

软件总览

为了测试NVMe SSD的性能,我使用了CrystalDiskMark:

CrystalDiskMark测试记录
CrystalDiskMark测试记录

为了测试GPU性能,我同时使用了3DMark的Fire Strike:

Fire Strike界面
Fire Strike界面

和Unigine’s Heaven:

Unigine’s Heaven的界面

图片描述:Unigine’s Heaven的界面

为了测试游戏性能,我使用了《古墓丽影》(Shadow of the Tumble Raider,SOTTR),因为它是一款CPU要求相当高的密集型游戏,包含带有图形预设的可重复基准。

古墓丽影游戏界面

为了确认Thunderbolt 3电缆正在全速运行(也就是40 Gbps运行),我使用了CUDA-Z。

CUDA-Z界面

我还使用MSI Afterburner / Rivatuner捕获了CPU、GPU使用率和帧速率的数据,然后在电子表格中对其进行处理。

行测试

首先,在没有eGPU的情况下对NUC8i3BEK微型PC进行了测试,以获得一组基准结果:

配置CDM Seq读取CDM Seq写罢工得分罢工图形天堂索特低索特中号索特高
通过M.2的NVMe与基线NUC和iGPU
1846.11
2095.82
1767
1932年
19.6
10
8
8

然后,我在XG Station Pro中安装了GTX 1650 Super,并通过Thunderbolt 3电缆将其连接到NUC8i3BEK mini PC上,并重复测试以获取1650 Super的基准:

XG Station Pro机箱
XG Station Pro机箱
配置CDM Seq读取CDM Seq写罢工得分罢工图形天堂索特低索特中号索特高
1650 Super in eGPU通过TB与NVMe通过M.2
1818.91
2091.74
7742
10148
98.9
65岁
58
47

第一步研究是查看由R43SG适配器与JEYI适配器组成的“DIY eGPU”是否可以复制商用eGPU,而且不会造成任何性能损失。

r43sg-jeyi

配置 CDMSeq读取CDM Seq写罢工得分罢工图形天堂索特低索特中号索特高
1650 Super in R43SG通过TB(JEYI)和NVMe通过M.2
1846.82
2085.34
7693
10092
98.1 65
65
58
47

结果非常相似,并且在测试方差的范围内。所以,这表明这是可行的eGPU替代方案。

接下来,在研究使用Thunderbolt 3连接eGPU时的损失量之前,我还执行了一些进一步的验证测试。首先,将NVMe SSD安装在EZDIY-FAB适配器中以及将R43SG安装在M.2 NVMe插槽中,并将其移至R43SG。这表明与初始基准相比,R43SG不会造成任何性能损失:

配置 CDM Seq读取CDM Seq写罢工得分罢工图形天堂 索特低索特中号索特高
通过M.2的R43SG + EZDIY-FAB + NVMe的iGPU
1826.78
2091.47
1764
1934
19.7
10
8
8
 

但是,一旦将带有EZDIY-FAB和NVMe SSD的R43SG安装在JEYI中并通过Thunderbolt 3进行连接,结果就会表明,尽管iGPU图形性能保持不变,但对SSD性能的直接影响可以看到,“连续读取”下降29%,“连续写入”下降41%。

配置 CDM Seq读取CDM Seq写罢工得分罢工图形天堂索特低索特中号索特高
通过TB通过R43SG + EZDIY-FAB + NVMe的iGPU(JEYI)
1289.05
1230.79
1769
1942
19.7
10
8
8

然后我可以通过在JEYI中简单地安装NVMe SSD,从而来确认:

配置 CDM Seq读取CDM Seq写罢工得分罢工图形天堂索特低索特中号索特高
带TB的NVMe的iGPU(JEYI)
1293.92
1229.93
1763
1932
19.4
10
8
8

根据上面的技术解释,预计读/写速度会下降。但是,看到的幅度实际上并不代表仅使用Thunderbolt 3所造成的损失,这我将在下面进行讨论。

最后,将 NVMe SSD保留在 JEYI中并将 R43SG 安装在带有GTX 1650 Super 的 M.2 NVMe插槽中。当直接连接到 R32SG中的GPU上时,图形性能提高了大约10%(这是基于 Firestrike Graphics 和 Heaven 结果)而通过 PCIe 或通过 Thunderbolt 3连接时大约有9% 的图形损失。

配置CDM Seq读取CDM Seq写罢工得分罢工图形天堂索特低索特中号索特高
R43SG中的1650 Super通过M.2通过NVMe通过TB(JEYI)
1297.92
1230.51
8287
11306
107.4
73
65
57

通过在USB连接的ORICO中安装NVMe SSD来完全移除Thunderbolt 3,也可以确认这种图形性能的增/减,这就是典型的配置。这同时也可用于不具有Thunderbolt 3端口的mini PC。

r43sg-orico

配置CDM Seq读取CDM Seq写罢工得分罢工图形 天堂 索特低索特中号索特高
1650 Super in R43SG通过M.2通过NVMe通过USB(ORICO)
1042.74
902.10
8263
11326
108.4
73
65
58

显然,由于使用了USB接口的带宽限制,读/写性能进一步下降。

我更详细地查看了运行《古墓丽影》基准测试时的GPU性能,它同时显示了CPU和GPU的瓶颈。

《古墓丽影》基准测试

图片描述:《古墓丽影》基准测试

因此,通过将GPU升级到RTX 2060,从而潜在地增加传输到GPU的数据量,使用Thunderbolt 3会有什么影响?

首先,可以为安装在M.2 NVMe插槽中的R43SG和RTX 2060以及通过Thunderbolt 3连接在JEYI中安装的NVMe SSD得出新的基准:

配置CDM Seq读取CDM Seq写罢工得分罢工图形 天堂索特低索特中号索特高
R43SG中的2060通过M.2通过NVMe通过TB(JEYI)
1301.64
1231.80
10677
18407
197
74
71
70

现在,与安装在XG Station Pro中并通过Thunderbolt 3连接的RTX 2060进行比较:

egpu-2060

配置CDM Seq读取CDM Seq写罢工得分罢工图形天堂索特低索特中号索特高
通过TB通过eGPU通过M.2在NVMe中使用2060
1806.22
2096.69
9921
15856
174.0
66
63
62

或安装在JEYI适配器中,并通过Thunderbolt 3连接的R43SG和RTX 2060。

配置 CDM Seq读取 CDM Seq写罢工得分罢工图形天堂索特低索特中号索特高
通过TB(JEYI)在R43SG中通过M.2在NVMe中使用2060
1861.91
2089.03
9890
15708
173.8
66
64
63

上表显示了,在通过Thunderbolt 3连接eGPU或R32SG时,由于额外的数据导致了图形损失的预测轻微增加。而且,在通过PCIe直接连接到R32SG的GPU上时,图形改进了约14%。

在《古墓丽影》基准测试期间,我可以清楚地看到CPU瓶颈。

古墓丽影基准测试

因此,当R43SG和RTX 2060安装在功能更强大的NUC7i7DNHE mini PC的M.2 NVMe插槽中时,由于缺少Thunderbolt 3端口,其NVMe SSD移至了ORICO:

配置 CDM Seq读取CDM Seq写罢工得分罢工图形天堂索特低索特中号索特高
通过M.2通过N.Me通过USB通过USB(ORICO)在R43SG中实现更快的NUC和2060
462.47
449.89
14284
18566
204.7
97
91
90

该结果表明,GPU再次成为瓶颈。

古墓丽影的基准测试
古墓丽影的基准测试

如前面所述,使用JEYI适配器时,出现的读/写速度下降不仅仅是由于Thunderbolt 3引起的。而且,还有各种报告称,“Thunderbolt 3到M.2 NVMe适配器”的性能会因所使用的控制器类型而异。 NVMe SSD的影响,导致某些品牌的SSD表现优于其他品牌。

为了检查这一点,我测试了一个新的addlink 2TB NVMe SSD,其公告的“顺序读取”为3500 MB / s,“顺序写入”为3,000 MB / s。首先进行一些基准测试。

r43sg-ezdiy-fab

配置CDM Seq读取CDM Seq写
通过M.2的addlink与通过TB的NVMe(JEYI)
3280.13
2993.68
R43SG + EZDIY-FAB +通过M.2的添加链接与通过TB的NVMe(JEYI)
3266.57
3004.37
通过M.2的addlink和通过USB的NVMe(ORICO)
3271.44
3000.39

显示的平均“顺序读取”为3,276 MB / s,“顺序写入”为2,997 MB / s。

我又进行了一次测试,但这次我使用了Thunderbolt 3进行各种组合的连接:

egpu-riitop

配置CDM Seq读取CDM Seq写
通过M.2通过NVMe通过TB在eGPU中进行RIITOP + addlink
2661.17
1914.25
R43SG + EZDIY-FAB +通过TB(JEYI)的添加链接与通过M.2的NVMe
2663.30
1932.78
通过M.2通过TB(JEYI)与NVMe进行addlink
2663.17
1965.04
通过USB(ORICO)通过TB(JEYI)与NVMe进行addlink
2663.88
1981.75

显示性能仅下降19%,平均“顺序读取”为2663 MB / s,“顺序写入”下降35%至1,948 MB / s。这表明读取使Thunderbolt 3链接达到了其理论的最大值。

相比之下,前面提到的金士顿1TB NVMe SSD的性能下降则是在SSD用于多次基准测试后才出现的。而且损耗均衡降低了广告发布的“顺序读取”速度(即2,200 MB / s)和“顺序写入”的速度(即2,000 MB / s)。更好的比较是查看新SSD时进行测试的结果:

配置
CDM Seq读取
CDM Seq写
通过M.2的NVMe
2205.01
2166.21
NVMe通过TB(JEYI)
1299.97
1250.21

这表明“顺序读取”的速度下降了41%,而“顺序写入”速度则下降了42%。这表明使用JEYI适配器的addlink SSD的性能下降比例小于Kingston SSD的。

在整个测试过程中,排除了因Thunderbolt 3电缆引起的任何变化,我使用了JEYI电缆,这是一种“无源”电缆。但是,我还单独使用“有源”Thunderbolt 3电缆进行了一些比较测试,但发现没有显着差异。

附加分析

下表提供了结果摘要:

Thunderbolt 3电缆测试的24个结果
Thunderbolt 3电缆测试的24个结果

具体来说,仅看图形性能(基于Firestrike Graphics and Heaven的结果)就可以清楚地看到通过Thunderbolt 3连接的影响。

Firestrike Graphics and Heaven的图形性能
Firestrike Graphics and Heaven的图形性能

仅查看《古墓丽影》基准时,就可以看出CPU对图形性能的影响。使用“低”图形预设进行升级时,GPU不会影响平均FPS,因为如前所示,此低功耗CPU是瓶颈。有趣的是,当通过PCIe连接1650 Super时,它几乎比通过Thunderbolt 3 2020更好:

sottr性能
sottr性能

固态硬盘的读/写速度受到固态硬盘连接方式的极大影响,尽管如上所述,这不一定会影响图形性能,但它会影响游戏体验,因为加载时间会因接口的不同而不同。

cdm性能
cdm性能

结论

鉴于目前显卡的稀缺性,任何eGPU解决方案的一个重要优势都是允许系统(和/或用户)之间共享一个GPU。

最有可能的是,迷你PC上的端口将决定电子GPU的具体配置方式,但从外观上看,通过Thunderbolt 3端口连接的电子GPU比通过PCIe连接时更整洁,但其图形性能却损失了约10%。此外,电子GPU的外壳可能会被认为是比较合适的,因为GPU的风扇叶片不用暴露在外。然而,商用电子的GPU价格十分昂贵,而且可能相当大,而“DIY电子GPU”却可以以更低的成本提供到同样的性能。

如果要在M.2 NVMe插槽中使用R43SG之类的适配器以获得最佳图形的性能,一定要记得考虑“Thunderbolt 3到M.2 NVMe适配器”对SSD速度的影响。所以,综合考虑的话,使用“USB到M.2 NVMe适配器”是更便宜的选择。

由于迷你PC的CPU功率较低,因此重要的是不要对使用的GPU进行过高的配置,因为它的全部潜力很有可能会因为被“CPU绑定”而无法完全发挥出来。

最后,请注意,当直接从eGPU启动时,你可能会遇到一个空白的屏幕,因为,最初的iGPU可能只处于活动状态,而eGPU直到桌面启动后才开始活动,因为它被主显示器使用。你可能需要按下空格键,然后在不可见的情况下输入你的Windows密码以使桌面启动,或者如果愿意的话,在启动后简单地将HDMI线从Mini PC“热交换”到eGPU上。禁用iGPU不是一个首选的解决方案,因为如果eGPU出现故障或被完全删除,可能会导致无显示。

分享这篇文章
订阅评论
提醒
0 评论
内联反馈
查看所有评论