Hello ! its a hot discussion on c++ vs bluepring in the internet
some say you can feel fry with just blueprints some say c++ with optimize a lot
Is latest release 4.15 optimized as good to be able to hit same performance as if I were coding all stuff ?
what is recommended workfrlow for big projects ? like streets with lots of houses (low poly of course)
You will never achieve the same level of performance with Blueprints as with C++. That is true with 4.15, and I believe it will hold true forever. C++ is significantly faster for computation, and I have seen number crunching speeds increase up to 300x as quickly with C++.
This is no one size fits all answer, just do what works best for your project. If you are not doing any heavy lifting, Blueprints should work out fine, but just optimize as needed.
With nativizing of Blueprint code, which is now no longer an experimental feature, Blueprints should definitely get closer to C++ in terms of performance. However, you’re always going to keep some additional overhead and extra layers of indirection, plus possibly some missed opportunities for optimizations, which means it will never match or exceed C++ in raw performance. What it does mean is that using Blueprint should be less of a sticking point when performance is a serious issue on a project.
IMHO the discussion about whether to use Blueprint or C++ for a specific piece of functionality should not be about performance. Each language has its strengths and weaknesses and each serves its own purpose. C++ is good for complex maths and logic, or when dealing with low level resources, but it’s not all that accessible to everyone. Blueprint is easy to use, but quickly becomes a huge tangled mess of boxes and wires when dealing with any kind of complexity. The best practice is to use C++ to create loosely coupled components, implement the most complex parts of their logic, and then expose that functionality to Blueprint. Blueprint is then used to tie all those components together, couple them with art assets, and compile everything into what makes up your game.
To be honest… I find Blueprints harder to use; but faster to work with.
I mean, you can prototype stuff on Blueprints real super quick, but when you have to go back and “read” the code there is where Blueprints feels terrible to me.
The readability is really weak.
Now with 4.15 BP to C++ converter, Blueprint’s performance doesn’t matter all that much anymore.
That’s pretty much my approach as well. Code it in C++ and expose/use it to Blueprints. As for speed, blueprints convert to C++ code now so the performance should be fine - even when it doesn’t generate the most performing code.
Really just when you are doing a lot of computation (As vague as that may sound). In my own projects, I convert mainly mathematical functions to C++. If I didn’t have those complex formulas, I wouldn’t need to use C++ at all.