cancel
Showing results for 
Search instead for 
Did you mean: 

[Gear VR] C++ vs Blueprints "dilemma"

motorsep
Rising Star
Why is there a notion that BP would bog down performance in Gear VR and that C++ is the only way UE4 could exist on Gear VR ?

Like I mentioned in my other posts, running a project without a single BP in it vs running same project with BP in it makes no different in performance (fps and ms are identical).

I understand that computation heavy tasks would indeed bog down performance, but having most of lightweight task in BP shouldn't even affect performance. And with BP>C++ compiler in 4.11 even tasks requiring math shouldn't even be a problem.

At least Epic never said anything about that C++ is the only way UE4 will perform well on Gear VR.
4 REPLIES 4

artyom17
Expert Protege
Any VM is slower than native code by definition. Having said that we all understand that this highly depends on content. GPU bound games may have enough CPU to run BP, while CPU bound ones could struggle. Stereo rendering requires more CPU and GPU.

Sure, if blueprint is used very carefully and occasionally then it might be ok. A good discussion of BP vs C++ could be found here: https://forums.unrealengine.com/showthread.php?3035-New-Twitch-livestream-with-Fortnite-developers-T...

I also would like to hear official Epic's recommendation about using BP on Android (and GearVR specifically, since stereo rendering is also CPU intensive, at least until stereo instancing is implemented).

Anonymous
Not applicable
I've gotten quite sophisticated blueprints running on Gear VR without any problems, and that was almost a year ago now. Despite a lot of blueprinting I didn't get far enough into the project to find a point where it had a noticeable impact, and they've improved things since then as you mentioned. Obviously, doing too much on a tick may become an issue, but the same is true in any scripting solution. Anyway if you run into problems with being CPU-bound you have the solution in your back pocket of rewriting the problem code as C++ and it will be easier since you already prototyped the code so worrying about it  before you even get started seems premature. Looking back at my latest Gear VR project, which is CPU bound (built in Unity), scripts are using up less than 1% of my CPU time. Everything else is being spent on drawing --- so I got much more return on optimization investment by streamlining the graphics than trying to speed up the code.

Fredrum
Expert Protege
Look out for the new option to "Nativize Blueprint Assets".
This converts them to (non readable) c++ code, to, in theory, make them faster after cooking.
Haven't tried it myself.  4.11 only I think maybe?

motorsep
Rising Star
Yeah, that's why I am not sure how BP would bog down performance 😕