Notifications
Clear all

TB3 PCI-e 4x overhead and performance  

  RSS

Leovinus
(@leovinus)
Eminent Member
Joined: 3 months ago
 

I've been wondering what the best way to find the "sweet spot" when it comes to eGPU restrictions. Being that eGPU's are limited by the bandwidth available across the PCI-e 4x lanes + TB3 overhead, is it as "simple" as looking up reviews where GPU's have been tested on 4x lanes and subtracting the roughly 20% overhead?

Any card that maxes out the 4x lanes + overhead at the target FPS (data saturation being primarily a function of frame rate and each frames associated data required to render) ought simplistically speaking be the "highest end" graphics card compatible with the frame rate target and TB3.

Paying for a GPU beyond the capabilities of the eGPU setup would be pointless. Finding what's optimal is proving a challenge to me. Thoughts?

Rocking a Mac mini 2018/2020 i7-8700B 6C/12T with 32Gb RAM, and a PowerColor 5700 XT humming along in its Razer Core X.

 
2018 Mac Mini [8th,6C,B] + RX 5700 XT @ 32Gbps-TB3 (Razer Core X) + macOS 10.15.5 [build link]  


ReplyQuote
itsage
(@itsage)
Illustrious Member Admin
Joined: 4 years ago
 

@leovinus, Unfortunately there are many variables to consider when you determine which GPU is the sweet spot. You have to start with the host computer and its Thunderbolt 3 implementation. A x4 PCIe connection to the TB3 is only half the story. There are other factors such as whether it's a direct CPU connection or through the PCH. There's also cooling system and BIOS/firmware optimization regarding the Thunderbolt 3 port/s. Next is the eGPU enclosure and its firmware as well as Thunderbolt 3 controller/s. Last but not least is the software/games you plan on using. Through an external monitor directly corrected to the eGPU would be best but there are certain software that may not work well with the Thunderbolt encoding/decoding.

 

external graphics card builds
best laptops for external GPU
eGPU enclosure buyer's guide

 
2019 13" MacBook Pro [8th,4C,U] + RX 5600 XT @ 32Gbps-TB3 (VisionTek mini eGFX) + macOS 11 & Win10 2004 [build link]  


ReplyQuote
Leovinus
(@leovinus)
Eminent Member
Joined: 3 months ago
 

@itsage, it's certainly true that a myriad of factors impact the bigger picture. "Small streams make a river" as the weirdly translated saying of my country goes. And naturally there are edge-cases and outliers with all things tech.

But there must be some way of getting a rough idea? I was looking through a performance thread (This forum is impressively large, and I can't recall which thread or I'd link to it) where it became evident that performance scales decently so long as the frame rate is kept reasonably mid-range (i.e ~60-80 FPS). I just lack the technical skill to suss out what the upper bound would theoretically be. At some point you simply can't keep the card fed with game data at a decent frame rate (say a locked 60 or 75 FPS) before it becomes bandwidth starved.

My mind is vaguely grasping at some sort of averaging of one or more popular games rough bandwidth requirement per frame, set against the known average overhead and bandwidth limitations of Thunderbolt 3, and extrapolating from there. Sort of...

For scientific use-cases the ball game is completely different, as compute workloads reside more independently on the GPU. A use case that would see less communication between GPU and host in-between loading and off-loading data. I realise now that I should have specified that I was talking strictly about gaming.

 

Rocking a Mac mini 2018/2020 i7-8700B 6C/12T with 32Gb RAM, and a PowerColor 5700 XT humming along in its Razer Core X.

 
2018 Mac Mini [8th,6C,B] + RX 5700 XT @ 32Gbps-TB3 (Razer Core X) + macOS 10.15.5 [build link]  


ReplyQuote
joevt
(@joevt)
Noble Member
Joined: 3 years ago
 

If you can't keep a card fed with game data, then make it paint more pixels (use larger screen resolution like 4K, and higher settings).

Mac mini (2018), Mac Pro (Early 2008), MacBook Pro (Retina, 15-inch, Mid 2015), GA-Z170X-Gaming 7, Sapphire Pulse Radeon RX 580 8GB GDDR5, Sonnet Echo Express III-D, Trebleet Thunderbolt 3 to NVMe M.2 case


ReplyQuote
Leovinus
(@leovinus)
Eminent Member
Joined: 3 months ago
 

@joevt, certainly. I think I might have underestimated the complexity, because at some point you'd have to know how much each frame saturates the Thunderbolt bandwidth (which would differ per game, and might also depend on texture streaming and its resolution) to make even a rudimentary calculation possible... But damnit, I'm curious.

 

Rocking a Mac mini 2018/2020 i7-8700B 6C/12T with 32Gb RAM, and a PowerColor 5700 XT humming along in its Razer Core X.

 
2018 Mac Mini [8th,6C,B] + RX 5700 XT @ 32Gbps-TB3 (Razer Core X) + macOS 10.15.5 [build link]  


ReplyQuote