Commit Graph

140 Commits

Author SHA1 Message Date
Gil Gribb
b7d8b9603f Merging 2640056 (plus a few minor fixes)
//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]
2015-08-03 11:44:45 -04:00
Robert Manuszewski
cd55f4a847 GC will now spawn sub-tasks as soon as there's enough work without waiting for the parent task to finish processing all objects
[CL 2639298 by Robert Manuszewski in Main branch]
2015-07-30 16:01:18 -04:00
Sammy James
92b4a12181 [AUTOMERGE]
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]
2015-07-28 18:26:46 -04:00
Steve Robb
d1605aa96b FindMatchingClosingParenthesis moved to UnrealString.h, return value fixed (was off-by-one) and checked upper bound of StartSearch.
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]
2015-07-28 13:08:12 -04:00
Steve Robb
64cecfb36c Fix for FBitReference assignment.
#codereview robert.manuszewski

[CL 2635237 by Steve Robb in Main branch]
2015-07-28 07:07:13 -04:00
John Barrett
6a340e3df1 Added 'intrusive' linked lists, which non-UObject structs/classes can inherit, to provide a linked list interface.
Also refactored TLinkedList methods - both this and TIntrusiveLinkedList inherit the same interface.

[CL 2629054 by John Barrett in Main branch]
2015-07-22 12:11:48 -04:00
Robert Manuszewski
bdf6143ae0 Fixing FString::operator/= adding '/' even if the string to be concatenated starts with it.
[CL 2625842 by Robert Manuszewski in Main branch]
2015-07-20 10:17:15 -04:00
Dan Oconnor
c6e0e575dc This move assignment operator has never been used and was incorrectly implemented
[CL 2617705 by Dan Oconnor in Main branch]
2015-07-13 00:09:24 -04:00
Steve Robb
cbac34aabd Deprecated delegate code removed.
Some fixes for deprecated code.

#codereview robert.manuszewski

[CL 2617562 by Steve Robb in Main branch]
2015-07-11 05:10:03 -04:00
Max Preussner
f1317f1bb0 Fixed code comment
[CL 2612410 by Max Preussner in Main branch]
2015-07-07 11:37:28 -04:00
Steve Robb
5db2bff2fa Fixes to string operator commutativity.
Fix for incorrect comments.

#codereview robert.manuszewski

[CL 2610319 by Steve Robb in Main branch]
2015-07-03 06:59:41 -04:00
Steve Robb
1aa0b54a7c TSet fixes when ElementType != KeyType.
#codereview robert.manuszewski

[CL 2607282 by Steve Robb in Main branch]
2015-07-01 06:26:53 -04:00
James Hopkin
f3e25e28cf Moved SharedMapView out of Core and next to asset registry where it's used - it really only provides a different syntax for a TSharedPtr<const TMap<...>>.
[CL 2605636 by James Hopkin in Main branch]
2015-06-30 09:57:25 -04:00
James Hopkin
3065c866ac Compile fix for Clang
[CL 2604140 by James Hopkin in Main branch]
2015-06-29 12:21:30 -04:00
James Hopkin
d275c26d6e Asset registry tags and values are now passed around in a 'map view', which wraps a shared pointer to a map. Speeds up quite a few operations, e.g. blueprint variable type selection, and knocks more than half a second off content browser filtering in Fortnite.
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]
2015-06-29 11:38:11 -04:00
Steve Robb
f37e06fae2 Fix for FString::FindLastCharByPredicate when it's empty.
Some checks added.
Some tidy-ups.
FORCEINLINE added to wrapper function.

#codereview robert.manuszewski

[CL 2601134 by Steve Robb in Main branch]
2015-06-25 15:56:32 -04:00
Dmitriy Dyomin
f3b06e2b85 Add limited decal support on mobile UE-11981
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]
2015-06-25 02:07:29 -04:00
Steve Robb
ea0ffefbd9 Cleared bits after a Reset.
#codereview robert.manuszewski

[CL 2598730 by Steve Robb in Main branch]
2015-06-24 08:23:21 -04:00
Marc Audy
779e567a5d Allow TDoubleLinkedList to have nodes reordered (or moved to another list) without deleting and reallocating the node memory
Add a Contains helper method to TDoubleLinkedList

[CL 2597548 by Marc Audy in Main branch]
2015-06-23 14:24:55 -04:00
Steve Robb
0709480948 New IsSorted algorithm.
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]
2015-06-15 13:40:28 -04:00
Josh Adams
7ff0070a83 - Basic support for compiling Xcode 7 (iOS9, MacOS 10.11)
- 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]
2015-06-12 13:45:19 -04:00
Jamie Dale
7ec19e8a07 Added TSet::Reset
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]
2015-06-11 10:30:34 -04:00
Eric Newman
f3569dae41 Fortnite dev to main merge up to cl # 2564489
Merging using UE4-Fortnite-To-UE4

[CL 2573959 by Eric Newman in Main branch]
2015-06-02 11:44:27 -04:00
Richard Hinckley
b563480ad4 Fixing a comment for documentation.
[CL 2568437 by Richard Hinckley in Main branch]
2015-05-28 09:39:10 -04:00
Steve Robb
043fa041bc Fix to TBitArray::GetAllocatedSize and TBitArray::CountBytes.
All such calculations changed to be consistent.

#codereview robert.manuszewski

[CL 2561443 by Steve Robb in Main branch]
2015-05-21 16:39:43 -04:00