2018 Mac Mini [8th,4C,B] + GTX 1060 @ 32Gbps-TB3 (VisionTek Mini eGFX) + Win10 1809 [itsage]
One test I wanted to run was the performance difference between display loopback mode through the same Thunderbolt 3 controller as the eGPU vs separate TB3 controller. The 2018 Mac mini with its two TB3 controllers and four ports was the perfect candidate for this experiment. I used a Mini eGFX prototype bought on eBay that came with a TUL GTX 1060 3GB. The monitor was an ASUS MB16AC, connected to the Mac mini directly through a USB-C cable.
Late 2018 Mac mini – i5-8500B/UHD Graphics 630 iGPU/8GB RAM/256GB SSD
Mini eGFX Prototype + GTX 1060 + .5m Thunderbolt 3 cable
ASUS MB16AC portable USB-C monitor drew power directly from the Mac mini's USB-C port. Intel UHD Graphics 630 iGPU ran the USB-C monitor while GTX 1060 eGPU's ports were vacant except for one DisplayPort during the external monitor mode testing.
In macOS I could see the enclosure under System Information > Thunderbolt tree and all devices through the TB3 enclosure in PCI tree. Due to no Nvidia web drivers in Mojave I only tested this GTX 1060 eGPU in Windows 10.
To keep the Intel UHD Graphics 630 iGPU activated in Boot Camp I relied on @goalque's eGPU EFI Boot Manager. These are the basic steps I took to get this setup going:
- Install Windows 10 ISO through Bootcamp Assistant [in macOS]
- Download and copy automate-eGPU EFI to a 24MB FAT partition [in macOS]
- Shutdown Mac mini then connected GTX 1060 eGPU [system OFF]
- Hold OPTION at boot to select EFI boot volume then hit Q to access automate-eGPU EFI [boot selection]
- Download and install the latest Nvidia drivers [in Windows]
- Restart Mac mini then boot into Windows using automate-eGPU EFI [boot selection]
This setup and boot-up procedure allows me to run internal display mode through Nvidia Optimus. Intel iGPU can power any monitor connected directly to the Mac mini (HDMI, USB-C, and Thunderbolt 3) and get loopback acceleration from the eGPU.
Right off the bat AIDA64 showed a clear bandwidth difference with USB-C monitor and eGPU sharing the same TB3 controller vs using separate controller. Loopback same controller is far left. Loopback separate controller is in the middle. External monitor mode is far right.
|Mac mini + GTX 1060 eGPU||Loopback Same TB3 Controller||Loopback Separate TB3 Controller||External Monitor Mode|
|3DMark Time Spy||3,561||3,553||3,586|
|3DMark Fire Strike||9,898||9,936||10,481|
|Tomb Raider 2013||80.3 FPS||81.1 FPS||87.3 FPS|
|Dirt Rally||66.5 FPS||60.5 FPS||80.5 FPS|
|Shadow of Mordor||59.4 FPS||60.8 FPS||65.8 FPS|
|Hitman||67.0 FPS||68.8 FPS||76.8 FPS|
|Strange Brigade||58.0 FPS||60.0 FPS||60.0 FPS|
|Grand Theft Auto V||42.3 FPS||42.9 FPS||45.3 FPS|
These benchmark results indicate there's an advantage in connecting the monitor and eGPU to separate controllers. I will run this same test on a more powerful eGPU.
Would be interesting to see test results for GPU in normal PCIe set up... looks like loop back performance degradation is nowhere near as bad as I thought, but defo be interesting to see if the gap widens on more powerful GPUs.