//depot/UE4-Orion/...
to //depot/UE4/...
UE4 - rollup of many performance changes
* increased max threads for task graph and added a way to reduce task threads at runtime for testing the optimal number
* added a way to track excessive allocation at runtime without using the memory profiler: LogGameThreadMallocChurn.Enable
* ps4: fixed a few problems with the platform properties, IsRunningGame was returning false
* added inline storage for one delegate in multicast delegates
* fixed excessive allocation on the script stack traceback
* fixed excessive malloc calls throughout the animation system
* added stats throughout the animation system
* reworked parallel queue ticks
* fixed excessive malloc calls in cloth and physics animation systems
* fixed GHitchThresholdCVar
* minor improvements to abtest
* added ability to change thread affinities on the fly so they can be tuned
* cvars to control animrate optimization and spew the results: EnableAnimRateOptimization, SpewAnimRateOptimization, DrawAnimRateOptimization, ForceAnimRate
* optimized malloc calls in cascade and gpu particles
* optimized malloc calls in input system
* removed visual logging and ability log from consoles and fixed a few compile errors related to doing that
* optimized gameplaytags
* added a few cvars to cause stalls in various parts of the pipeline to identify critical paths and bottlenecks: CriticalPathStall.*
* added console command to toggle all known outstanding perf tweaks: Orion.SetupPerfCVars
[CL 2642061 by Gil Gribb in Main branch]
Added GetPreviousIndex to TCircularBuffer
--------
Integrated using branch UE4-To-UE4-Orion (reversed) of change#2636245 by Sammy.James on 2015/07/28 18:26:26.
[CL 2636246 by Sammy James in Main branch]
UnrealHeaderTool now supports casts and brackets when recognizing UENUMs as array bounds.
#codereview robert.manuszewski,leigh.swift,lee.clark
[CL 2635565 by Steve Robb in Main branch]
The change is mostly backward-compatible, but any code using the tags map in a non-const fashion will break.
#codereview Bob.Tellez,Jamie.Dale
[CL 2604067 by James Hopkin in Main branch]
Fixed: Stencil test does not work on mobile UE-16664 (still doesn't work on metal)
#codereview Jack.Porter, Martin.Mittring
[CL 2600130 by Dmitriy Dyomin in Main branch]
New FindSortedStringCaseInsensitive algorithm, which binary searches strings in an array.
Many UHT string tests replaced with FindSortedStringCaseInsensitive.
FPropertySpecifier moved to UHT.
#codereview robert.manuszewski
[CL 2587588 by Steve Robb in Main branch]
- Marked some overrides properly, then gave up and added -Wno-inconsistent-missing-override)
- Improved Xcode selection process for Mac and iOS (no more hardcoding Xcode path - it uses the currently running Xcode, or xcode-select when using commandline)
- Added AppleToolchain.cs, to start sharing code between Mac and IOS Toolchains (Compile functionality and params to clang could be shared pretty easily)
-
- Some Utility functions:
- Added UBT utility to run a commandline and get its output, self-contained (Utils.RunLocalProcessAndReturnStdOut)
- Added Log.TraceInformationOnce (and Error, Warning, etc) to print out a message only one time, without a bunch of static bools everywhere
#codereview michael.trepka,peter.sauerbrei,mark.satterthwaite
[CL 2586000 by Josh Adams in Main branch]
This will empty the set without performing a reallocation. TMap::Reset now calls this function on its internal set (rather than calling Empty(Num()) which could potentially reallocate if Num() != Max()).
ReviewedBy Steve.Robb
[CL 2584194 by Jamie Dale in Main branch]