I’ve been encountering an unexplained performance issue with Windows 2012R2 Server. It happens on two machines with Win2012 and none of the machines running different version of the OS (Win2008, Win10).
Debugging this problem gives very scarce results - there is no definite point of bottleneck anywhere. The performance problem seems to be uniformly spread over everything - possibly memory allocations, event waits etc. It seems that having a large number of operations (for example blueprint that is child of another blueprint, that’s child of a C++ class, located in different modules and making calls to eachother) influences performance the most, possibly something to do with calls between DLL’s.
A simple trick of “F12” or break all at random points during the low performance yields absolutely nothing - the code breaks in random points (if there was a definite bottleneck, there would be higher probability of breaking there).
I’ve also tried to use the VS2015 profiler - CPU usage is very high and spread over everything. Especially Slate, strangely enough, seems to take up weird amounts of time (but it’s only characteristic of a lot of operations being done in Slate - every other area exhibits same behavior):
LogStats: 50.219ms ( 1) - Total Slate Tick Time - STAT_SlateTickTime - STATGROUP_Slate - STATCAT_Advanced
LogStats: 44.760ms ( 1) - Draw Window And Children Time - STAT_SlateDrawWindowTime - STATGROUP_Slate - STATCAT_Advanced
LogStats: 44.577ms ( 1) - Self
It doesn’t matter which VS was used to build the project (2015 or 2013), nor the build configuration (debug, release all produce same slowdown). It doesn’t matter whether Win2012 has priority set to background services or to applications, whether DEP is on or off, etc.
DxDiag for one of the machines is included.