Blueprint performance high-graphics game

I see people choose c++ because of its speed, but in a good graphics game which most ue4 games are, gpu will be the bottleneck in almost every scene, so is it really useful to use c++, since cpu won’t be bottlenecking the framerate anyway? Or am I wrong?
Edit: I know blueprints are approximately 10x slower in most cases compared to c++, and my question is, in a high end graphics game which most ue4 games are, even if blueprints were 100x more expensive cpu won’t be the bottleneck, so bp or c++ wouldn’t matter, or am I wrong?
I’ve been experimenting a bit and I think I’m wrong, anyone knows about this?

Your are not the first to ask, just use the search function here on AnswerHub. Also search on the forums.

It was my understanding that the blueprints get compiled back to C++ anyway, so not sure why there would be a difference.

Someone correct me if i’m wrong.

You are wrong. Blueprints are compiled internally to UnrealScript and executed as such through a virtual machine. They are several orders of magnitude slower than C++.

Thank you for the links, by the way I already searched and looked at your links, still no answer to my question, no one said anything about gpu in these posts, I think my question isn’t clear, I know blueprints are 10x slower, I’m editing the question

Ah, i was confused, it doesn’t compile to C++, it calls the nodes which execute the C++ functions, and there is overhead, this is potentially up to 10x slower in blueprints as each node you call has overhead when calling back to the C++ based functions, but this is for complex functions, simple graphs with fewer nodes have less overheard and may only be a tiny bit slower.

However they did mention that depending on your use - Blueprints have a place, and are being used in Fortnight and other major titles - just not for crazy complex functions.

After some experiments, using event tick(in blueprints) on a reused character bumped the game thread(stats game) a lot, doubling render thread in miliseconds, I’ll try doing the operations in event tick in c++ and comparing the results some time, for now I’ll just find a workaround