Big performance drop from external monitor to internal (Mac2018, Vega20, Win1909, 1080TI, XG-Station-Pro)
Here is my setup:
- Macbook Pro, late 2018, Vega-20 internal GPU, 32GB
- Asus XG-Station Pro with Nvidia 1080 TI installed
- Windows 10 (via bootcamp), running version 1909 (not freshly installed)
- internal display only
My setup procedure:
Note: I was contemplating to follow detailed steps posted here and start with an older Windows but decided to just try it out using the existing Windows 10, 1909 that was installed a while ago.
Surprisingly, the setup was quiet straightforward:
Step 1: Connect e-GPU to the left TB port (closest to Shift key) after Windows is fully loaded. It took a couple minutes to install everything. Nvidia 1080 TI shows up in Device Manager with error 43.
Step 2. Disable and enable Nvidia 1080 TI. The error remained. I rebooted the laptop. The error remained. I did again disable/enable in Device Manager. The error disappeared.
Step 3. I tried rebooting the laptop again: works fine. I tried a few more tests: cold-plugging or hot-plugging e-GPU works each time: Nvidia is discovered and no more errors. I could not be happier at this moment.
Step 4. I tried Unigine Heaven benchmark and 1080 TI shows a solid ~ 2.5x improvement over previous tests with Vega 20. Everything works OK so far.
Then I tried running Steam and testing one of the FPS games (I did not select high-performance GPU for this game or steam in Windows Display Settings). To my surprise, the game shows that it is running on the 1080 TI card but it is giving me only 20-30 frames on maximum resolution (Vega was giving me 40-50 for same settings). I exited steam, selected both steam and the game executables to use high-performance GPU (1080 TI) in Windows->Display settings but I am getting the same results. Unplugging e-GPU results in steam using Vega 20 and giving me expected 40-50 frames.
@denny_ca, If you're not running the games through an external monitor that connects the eGPU, you'd need to set each and every game to use the High Performance GPU in Graphics settings. Setting Steam to use High Performance GPU does not work because the games don't understand that.
@itsage, Thanks. That's what I did. I think, the Steam game (Doom 2016) is using the external GPU (I could hear the fan starting when I use the game). I put both Steam and Doom executables to use the external GPU. The GPU metrics inside the game show the correct GPU card (1080 TI) but the performance is much worse than when the internal Vega is used.
Some more information. I connected external monitor to e-GPU box. When I switch the game to external monitor (using in-game settings), I am getting 200 fps (on 1920x1200 - highest for the monitor). When I go back to internal monitor, I am getting 80 fps (same resolution). In both cases, the GPU metrics in the game shows 1080 TI next to the FPS numbers. Not sure what is going on here...
@florin_samareanu, That's true. However, I expect 10-15 % change between external (connected to e-GPU box) and internal screen screen, not 2.5x slower.
Anyway, it seems similar situation is described here https://egpu.io/forums/builds/macbook-pro-15-2018-i7-asus-xg-station-pro-evga-gtx-1080-ti/ by @OliverB. I will check if his solution works for me.
Thunderbolt PCIe bandwidth = 22 Gbps
Rate required to transfer 80 or 200 Hz over Thunderbolt:
1920 x 1200 x 80Hz x 24bpp = 4.4 Gbps
1920 x 1200 x 200Hz x 24bpp = 11 Gbps
1920 x 1200 x 80Hz x 32bpp = 5.9 Gbps
1920 x 1200 x 200Hz x 32bpp = 14.7 Gbps
Time to transfer a single frame over Thunderbolt:
1920 x 1200 x 24 bpp / 22 Gbps = 2.51 ms per frame
1920 x 1200 x 32 bpp / 22 Gbps = 3.35 ms per frame
Time to render a frame on eGPU:
200 Hz = 5 ms per frame
Time to transfer a single frame over PCIe to internal display:
1920 x 1200 x 24 bpp / (8 GT/s x 128b/130b x 16 lanes) = 0.44 ms
1920 x 1200 x 32 bpp / (8 GT/s x 128b/130b x 8 lanes) = 1.17 ms
Add it up:
5 ms + 2.51 ms + 0.44 ms = 7.95 ms per frame = 126 Hz.
5 ms + 3.35 ms + 1.17 ms = 9.52 ms per frame = 105 Hz.
Maybe 80 Hz is not too unreasonable.
Just a short update. I have reinstalled Windows to go to 1803 version and followed the instructions that were posted for almost identical system. The instructions worked with a small adjustment. The benchmarks make sense now (with around 10-15% drop between internal and external screen).
It seems that with 1803 whenever I reboot the computer with egpu connected, I am losing the internal screen (black). I have to hot-plug during the spinning circles. Hot-plugging works quite reliable. With the newer version of Windows (1909), this was not a problem.
Anyway, I am going to do a fresh install with 1909 and try the same procedure and will check if it works.