Thunderbolt 3 eGPU vs Laptop or Workstation With Internal GPU?

Thunderbolt 3 eGPU vs Internal GPU?

I know thunderbolt 3 eGPU (e.g. Razer Core enclosure) would be slower than a workstation PCI whatever version slot (2.0 or 3.0? 16x?). Either workstation or super-gamer laptop with internal GPU.

But would it be noticeably slower?

I.e. Can you answer this in plain English? Don’t worry if it’s a subjective opinion. A knowledge-based opinion is better than my rookie self randomly guessing.


P.S. the reason I want a laptop + eGPU is:

  • so I can take the laptop to school / work while leaving the GPU safe at home
  • maybe a laptop without GPU consumes less energy than a super-gamer laptop with its own dedicated internal GPU
  • I figure this takes up less of the world’s resources than a separate laptop and workstation.
    • Though using one laptop with everything will probably depreciate / wear down faster…
      I hope I can buy a laptop with POWERFUL SPECS THAT WILL LAST FOR DECADES!!! But that’s another topic.

In my opinion this would only have influence on the time for the initial data transfer from the machine to the card, but not on the render time itself. As soon as all necessary data is safely in the card’s VRAM, the card does its render thing internally regardless of the PCI connection.

So, unless we’re dealing with very heavy scenes, I’d guess the time difference we’re talking about for data transfer is - what? - milliseconds? This might add up during animation renderings, though.

Thanks IkariShinji. I appreciate how I could understand most of your post, and how it got to the part I asked for.

I wanna use animation + freestyle, maybe with cloth physics, but very simple toon colours, which I can get in Blender Render, but dunno about cycles, cuz cycles is grainy and has… how do I explain this… “3D looking shadow lines”.

But I haven’t learned how to use cycles material nodes.

So I dunno if I even need a gpu since blender render uses cpu, right?

The answer is: It depends on how much the slower data transfer becomes a bottleneck.

As IkariShinji mentions, Cycles doesn’t (currently) transfer a lot of data during rendering, so the impact is negligible. In general, if you want good performance out of a GPU, these transfers need to be minimized anyway, so the impact can be low even on otherwise very demanding games.

I’m not sure if there’s an area in Blender where slower GPU transfer becomes noticable, but all of the things you mention are done almost exclusively on the CPU.

Thanks. I don’t understand your 2nd paragraph. When is a GPU useful? I heard cycles render.
But I do understand the last one.
Though I should add: I also wanna make a video game using what I mentioned i.e. freestyle, cloth physics, maybe hair physics, simple simple toon colours. Would CPU still be the main thing here?

The GPU does all the 3d-accelerated viewport rendering, but it’s still driven by the CPU and there can be bottlenecks on either side. It simply depends on what you need it to do. I doubt the lower PCIe bandwidth (through Thunderbolt) makes a big impact anywhere, but I don’t know.

Though I should add: I also wanna make a video game using what I mentioned i.e. freestyle, cloth physics, maybe hair physics, simple simple toon colours.

I’m not sure I understand… you want to use the freestyle renderer and cloth physics (or even hair physics) in a realtime video game, running on Blender? That’s really not what these things are designed for. Freestyle is not a realtime renderer at all, it doesn’t render that fast. If you want to make a videogame, use a game engine.

Thanks for the replies, BeerBaron.

Yeah, I just learned BGE has simpler physics. Still more to learn (e.g. why can’t I start a new game project for UPBGE??)

Sorry if this is too long. I made lots of white space.

What do I wanna do?
For animation:

  • about 3 characters at a time, max ~5-10.

    • one (bald) character with t-shirt and long pants is 33,000 verts. It’s a wip.
  • For scenery, whatever’s in slice-of-life anime / comedy sitcoms.

  • cloth physics (but if rigging and weight painting clothes is easier, I’m open-minded)

  • polygon hair

  • simple toon shading / shadow-lines
    (if you don’t know what this means, I can post a screenshot)

  • probably blender render
    (but if cycles render + gpu is faster and can still give the toony style I want, I can learn that)

For gaming:

  • something that looks similar than above
  • probably more characters and scenery / obstacles at a time, though. They might be simpler, though.

If any of this is impractical, then… uh… let me know.

Though I might want super 3D animation / games in the future.

P.S. So wait… does that mean BGE can’t have flowing capes and hair? What about wind?

For animation, the GPU only matters for the viewport, while you’re editing, and for rendering if you GPU rendering with Cycles. For those use-cases, the lower bandwidth of an external GPU likely won’t make any impact.

In games, those things aren’t necessarily simulated with physics, that can be fairly expensive and unpredictable to use. Game programmers will generally use whatever trick they can get away with and this is usually done ad-hoc for specific circumstances, not part of the engine proper. You’ll have to know how to program it.

Having said that, it does seem to be possible to create cloth-like effects using the BGE.

My advice would be to focus on gameplay first, not cosmetic gimmicks like flowing capes. If the cloth isn’t relevant for gameplay, and you can’t get it to look right, don’t have flowing capes. Those little details can be huge time sinks, and you (I assume you’re alone) will run out of energy and never finish.

Thanks, BeerBaron.

By viewport editing do you mean… TAB-key edit vertices? Or animation and baking in general?

Also, will 16 GB RAM be enough for me? When is it not enough?

Yeah, flowing capes and hair isn’t in my short-term plans. Was curious, though.

Thanks for the vid. I’ll experiment with soft body BGE physics when the time comes.

Probably said this b4, but:
One reason I want cloth physics is cuz it seems easiest (even if the computer has to work harder).
But an amateur blenderer like me could be completely wrong.

Anything that (re)draws graphics on-screen involves the GPU in some way.

Also, will 16 GB RAM be enough for me? When is it not enough?

It depends on what you work on. More objects, denser meshes, higher-resolution textures, larger render resolutions, all these things take up memory. If you keep it simple, 16GB should be enough.

So I guess that means I could use a GPU.

Hmm… I might buy a laptop that can use 32GB RAM max.
I might use lots of objects (e.g. furniture, characters, walls, etc., trees and buildings and sidewalk if it’s outside)

And maybe large resolution renders; I don’t want it pixelated.

  • one (bald) character with t-shirt and long pants is 33,000 verts
    Would this be a dense mesh?

I don’t need dense meshes, so, if they are, I’ll just dissolve vertices. Or use more RAM if I’m too lazy / busy to.

Thanks for this info, BeerBaron!