Budget / Performance Discussion

This may be an entirely BS subjective and opinionated discussion because it may not entirely be apples to apples I get it, but I am curious what other people think and if anyone with expertise beyond mine has maybe facts to present.

Ultimately this is my question, Take a level any decently artistically finished level in EU3. If you could just translate it over apple for apple and run it on UE4, would it run smoother on UE3 or UE4? Right now I am leaning towards UE4 which is defiantly different for a new engine release.

My worry is this, yes the new engine is out and yes it can do all these new shinny things. Typically though in the past that also means needing a much beefier machine. The status quo was don’t worry about it because by the time the product releases hardware will catch up and eventually surpass it. Coupled with a very early on lifecycle of an engine that still required fine tuning.

However I would like to say just looking at the editor it doesn’t entirely feel like there are these new shinny ways of doing things. More so its a refinement however yes there are some new shinny things don’t get me wrong. I am just saying it actually feels like a refinement of what was already being done. Almost every wall I hit and wonder well perhaps they didn’t do this yet is answered with I just don’t know how to do it yet. Minus Speedtree’s

Even further more I want to argue that the EU4 editor and game runs far cleaner on my box than UE3. Importing and saving is almost instant, loading times are nice + the added features. It is if they added more and made it run better, just my opinion and I know I am simplifying it. But UE3 would chug my box all the time make me limit what I have running etc. Last night I had so many windows running and it wasn’t skipping a beat.

But again this leads me back to budget and I know its very speculative to the machine and the amount and type of what your doing in a rendered space. So *** for tat the ultimate question, do the new features bog down the engine? If you could just translate a map would it run smoother on UE3 or UE4? I have been impressed so far it runs great, still much to test though.

Well my experience is this.

Our team has been looking at an engine switch for a long time and have tried a few different ones on for size and the conclusion that I’ve come to is none are ideal as to preferences and the decision making comes down to what you get and what you are willing to give up. More so in an already active group where you have 30 other guys who needs a cut of the pie for themselves as to key features out of the box.

Of all the engines we tried UDK was the one that had the most tech bang for the buck and it’s not the engine or edit environment that determines performance of the game or even development performance but rather how you manage the development environment as the project grows, more so with map development, and it’s usually the fat added that starts to bog things down which is usually the software telling you you need to start paying a bit more attention to optimization of your work flow habits.

Streaming (progressive loading) for example you can break a huge map down into smaller parts and only visualize the areas of the map that you are working on.

Personally what I’ve found that is better in UE4 is scene management control and the ability to make groups and turn things on and off visually and has a layering system, not identical but similar, to 3ds Max as well as a continuity to the workflow that I’m already familiar with.

Sounds like a sales job hu? :wink:

Overall though I have a so so box but I still run 3ds Max, Photoshop and UE4 at the same time and except for the occasional stutter on Netflix from time to time I’ve yet come across anything I would consider bogging as I generally set things up to “only” focus on what I’m working on.

/Yoda mode off.

Not much of a discussion but I would like to add that we compiled shooter example and networked it.
In UDK3 we each could have roughly 8 clients open and connected without chugging.
UE4 we each could only have 1 client open a second would chug horribly.

Nice Question

This is an interesting question, running the engine and playing a game you created are two completely different things. At our studio we have found that if you are an artist you really should go lower than a 660 GTX and a nice i5 chip. You can go lower than that but your performance start taking a major hit. Many of the tools are still not multi-threaded, but you will still need a multi-core processor for light baking. As a programmer you can use what ever you want many of programers at MekTek are using machines with no GPUs to help build our code. Also remember when running the engine your game will run about 20% slower. When you launch your game outside of the engine there is a major performance boost, so just keep that in mind. At MekTek we have found the biggest performance hit when creating a game in UE4 isn’t polygons or even really textures the thing you must worry about first and foremost is your draw call count. Draw calls can kill performance instantly. Hopefully this helps if anyone wants specifics please PM me, we have been working with UE4 for over a year and would love to help.

The CPU side of UE4 should be much more efficient than UE3. Here are some reasons:

  • Greatly simplified attachment system, reduces overhead for moving objects around.
  • Much improved control of what is ticking. In UE3 if it could move, it would tick. In UE4 those are distinct concepts and thus far less ticks.
  • We have fixed many places that would iterate over all of something (e.g. movable actors) and keep ‘dirty’ lists instead.
  • Replication logic is dramatically faster.
  • Moving gameplay code to C++ from UnrealScript is a huge speedup.
  • Using PhysX for all scene queries and removing our own spatial structures reduces overhead for moving entities.
  • Less UObjects created for things such as an objects physics representation.

There is probably a lot more I’m forgetting right now!

Outstanding, is there a way to pull up how many draw calls there are occurring and perhaps a way to highlight what is being called? Just so you can see it and manipulate it.