x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

UE4 Task/CPU scheduler.

Question about UE4's CPU Scheduler. It's my understanding that another engine competing in this space is optimized for 8 concurrent CPU cores max. I was wondering how well UE4 scales up. Say I had a 48 core Opteron sytem runing the UE4 dedicated server, lets say 2000 people connected to it and the game world had about 60k pawns floating around. Now, whether or not 48 cores is enough for that workload isn't the sole issue, would UE4 even scale up to use them all on it's own or would I need to do some serious refactoring to get all of those CPUs saturated with work?

If UE4 can handle this out of the box that's a major sale, I don't suppose I'd look back at the competition.

Product Version: Not Selected
Tags:
more ▼

asked Oct 05 '14 at 05:25 AM in C++ Programming

avatar image

User-658380556
184 22 36 158

avatar image User-658380556 Oct 05 '14 at 04:19 PM

To clarify, I'm talking about game logic and physics, not rendering. Looking further in this issue I'm under the impression that saturating 48 cores would require some clever use of C, but I could be wrong.

I realize this is an advanced subject but ideally I'm not spending 3-6 months in R&D just to form some basic understanding of the situation, especially when I'm sure there are straight answers to something this central to design.

avatar image User-658380556 Oct 05 '14 at 04:39 PM

For example, is this level of saturation only achievable using USTRUCTS and manual threading?

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

1 answer: sort voted first

As you may notice engine processing is all based on ticks of objects and they are executed in asynchronously in few stages called TickGroups. Little dive in to tick source code lead me to MAX_THREADS constant (means this value is hard coded and can't be changed dynamically in runtime) which is set to 8

https://github.com/EpicGames/UnrealEngine/blob/69b5693c869697b828e1f2c24004ff1481b5fb98/Engine/Source/Runtime/Core/Private/Async/TaskGraph.cpp#L981

You might try to change it if you want, but not sure it is only thing that need to change there might be other requirements, either way it good starting point ;]

Also you might be interested in TickTaskMenager

https://github.com/EpicGames/UnrealEngine/blob/69b5693c869697b828e1f2c24004ff1481b5fb98/Engine/Source/Runtime/Engine/Private/TickTaskManager.cpp

more ▼

answered Oct 05 '14 at 08:18 PM

avatar image

Shadowriver
37.2k 936 172 1116

(comments are locked)
10|2000 characters needed characters left
Viewable by all users
Your answer
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question