Commit Graph

61 Commits

Author SHA1 Message Date
aditya ravichandran
f8b7ee5555 Replace any instances of "Source Control" with "Revision Control" in text in the Editor
#rb JeanMichel.Dignard, Robb.Surridge
#preflight 637d180efa348e8480e8837e

[CL 23250808 by aditya ravichandran in ue5-main branch]
2022-11-23 11:57:50 -05:00
patrick laflamme
878d1ae127 Instrumented source control upcate callbacks with with cpu scopes for monitoring performances.
Optimized Collection code invoked at each source control update to avoid comparing large set to detect if the in-memory collection is different from the collection on disk.

#rb Julien.StJean
#preflight 6346e2cf663dafe4162e8c9e

[CL 22505265 by patrick laflamme in ue5-main branch]
2022-10-13 11:24:42 -04:00
robert millar
e6857190f2 Updating collection manager interface to use FSoftObjectPath for the paths of assets and objects rather than FName.
#jira UE-161932
#rb julien.stjean
#preflight https://horde.devtools.epicgames.com/job/6324e773f258fccf98de78cf

[CL 22064625 by robert millar in ue5-main branch]
2022-09-16 20:57:34 -04:00
bryan sefcik
a3dddc6630 Pass 1 on Developer include fixes:
Removed redundant private include paths from build.cs files.
Fixed include paths to be relative to the private or public folders.
Hid or removed includes that reached into other private module folders.
Updated PublicInclude paths when necessary.

#jira
#preflight 631e281694758d0bf2ea1399

[CL 21960082 by bryan sefcik in ue5-main branch]
2022-09-11 18:32:18 -04:00
charles bloom
38b1d2e51f Mark up more ParallelFor scopes for Insights
#rb none
#preflight 6216cd82647bb7debf703367

[CL 19105606 by charles bloom in ue5-main branch]
2022-02-23 19:25:03 -05:00
michael noland
feafa92f44 Editor: Added a project setting to allow specifying additional changelist tags for use when the editor auto-commits edits to collections
#jira UE-142041
#rb marc.audy
#preflight 62044d39a65a8a28462ff528
#lockdown julien.marchand

#ROBOMERGE-AUTHOR: michael.noland
#ROBOMERGE-SOURCE: CL 18935369 in //UE5/Release-5.0/... via CL 18935468 via CL 18935638
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v917-18934589)

[CL 18935681 by michael noland in ue5-main branch]
2022-02-10 10:05:44 -05:00
Matt Peters
f76045bb7e LowLevelMemTracker - add scopes for some large allocations during cooking.
#rb Devin.Doucette
#rnx
#preflight 62047a600a1c4eb68f555ba5

[CL 18930861 by Matt Peters in ue5-main branch]
2022-02-09 21:53:31 -05:00
devin doucette
a4c3b2cf75 Replaced use of TStringView::SizeType with int32 or equivalent casts
SizeType will be deprecated in a subsequent change.

#rb Zousar.Shaker
#rnx
#preflight 61b8dde95d1b7767a13a5a70

#ROBOMERGE-AUTHOR: devin.doucette
#ROBOMERGE-SOURCE: CL 18456907 in //UE5/Release-5.0/... via CL 18456915
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v898-18417669)

[CL 18456926 by devin doucette in ue5-release-engine-test branch]
2021-12-14 14:07:35 -05:00
bob tellez
3c018f315a #UE Add commandline option to avoid following redirectors in collections during startup. You sometimes want to make collections of redirectors when audting content
#ROBOMERGE-AUTHOR: bob.tellez
#ROBOMERGE-SOURCE: CL 18327503 via CL 18327514 via CL 18327529 via CL 18328464 via CL 18328574
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18328663 by bob tellez in ue5-release-engine-test branch]
2021-11-30 14:20:47 -05:00
dan phillips
c4168d9c60 Added missing includes and forward declarations
Supplied by David.Bollo of The Coalition.
Fixes some non unity compile errors

[FYI] David.Bollo
#jira none

#ROBOMERGE-SOURCE: CL 17206575 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v855-17104924)

[CL 17206608 by dan phillips in ue5-release-engine-test branch]
2021-08-17 17:47:10 -04:00
andriy tylychko
6bf3101dcd deprecated FTicker and family and replaced by thread-safe FTSTicker
#jira UE-120090
#rb francis.hurteau


#ROBOMERGE-SOURCE: CL 17176325 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v855-17104924)

[CL 17176374 by andriy tylychko in ue5-release-engine-test branch]
2021-08-16 11:09:22 -04:00
Marc Audy
01b7c9f4f5 Merge UE5/RES @ 15958325 to UE5/Main
This represents UE4/Main @ 15913390 and Dev-PerfTest @ 15913304

[CL 15958515 by Marc Audy in ue5-main branch]
2021-04-08 14:32:07 -04:00
Marc Audy
bc88b73a29 Merge Release-Engine-Staging to Main @ CL# 15151250
Represents UE4/Main @ 15133763

[CL 15158774 by Marc Audy in ue5-main branch]
2021-01-21 16:22:06 -04:00
Marc Audy
a7c9001a94 Merging //UE5/Release-Engine-Staging to Main (//UE5/Main) @ 14075166
#rb
#rnx

[CL 14075271 by Marc Audy in ue5-main branch]
2020-08-11 01:36:57 -04:00
danny couture
36cd2ee1da Optimize collection files reading
- Parallelize collection loading in FCollectionManager::LoadCollections
  - Parallelize FName registration to cut on hashing cost in Collection::Load
  - Leverage FStringView where possible in Collection::Load

  - 987ms -> 238ms for collection loading during editor startup
  - 987ms -> 696ms with -onethread

#rnx
#tests generated md5 of all loaded collections content before and after the change
#rb Bob.Tellez

#ROBOMERGE-SOURCE: CL 13054205 via CL 13054206 via CL 13054211
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v686-13045012)

[CL 13054213 by danny couture in Main branch]
2020-04-28 06:20:33 -04:00
JeanMichel Dignard
70d074639f Merging //UE4/Dev-Main @ 10886849 to Dev-Tools-Staging (//UE4/Dev-Tools-Staging)
#rb none
#rnx

[CL 10906274 by JeanMichel Dignard in Dev-Tools-Staging branch]
2020-01-08 13:26:18 -05:00
ryan durand
471d972e62 Updating copyright for Engine Developer.
#rnx
#rb none


#ROBOMERGE-SOURCE: CL 10869240 via CL 10869516 via CL 10869902
#ROBOMERGE-BOT: (v613-10869866)

[CL 10870584 by ryan durand in Main branch]
2019-12-26 15:32:37 -05:00
Gines Hidalgo
7e5c105006 #jira none
Some displayed error messages about paths being too long are more informatives and include full path and current/maximum length allowed.

#rb none

[CL 10119068 by Gines Hidalgo in Dev-Editor branch]
2019-11-12 18:03:37 -05:00
Chris Gagnon
8ab0638182 Copying //UE4/Dev-Editor to Dev-Main (//UE4/Dev-Main) for 4.24
#rb none

[CL 9325047 by Chris Gagnon in Main branch]
2019-10-01 20:41:42 -04:00
Richard TalbotWatkin
e28cbc7ead Fixed implicit conversion warning in VS2019.
#rb none

[CL 8930754 by Richard TalbotWatkin in Dev-Editor branch]
2019-09-20 13:19:09 -04:00
Jamie Dale
3f2ecf7b57 Collection UX improvements
Revamped collection UI:
 - Uses a more modern design.
 - Adds the asset count to the collection view.
 - Adds the collections more prominently in asset tooltips.

Revamped sources panel UI:
 - Added a unified search for all aspects of the sources panel (paths, favorites, and collections).
 - Added a switcher for the paths and collections views, which auto-switches as you browse to paths or collections.
 - Collections are now visible by default, rather than hidden behind a View Option.

Improved Content Browser auto-complete:
 - Now lists collection and meta-data tag names, as well as the old class names.
 - Tokenizes the search terms to allow auto-complete on partial statements.
 - Note: Involves some breaking API changes to SAssetSearchBox to allow more complex filtering and auto-complete rules.

Added scripting API support:
 - Collections can now be created, destroyed, and manipulated via Python or Editor Utilities (editor-only, see the AssetTagsSubsystem API).
 - Collections can be queried both in-editor and at runtime (if cooked).

Added support for optionally "cooking" collections for use at runtime:
 - This only works for static collections, and adds their information to the asset registry meta-data.
 - See the AssetRegistry settings in BaseEngine.ini (bTagAllCollections, CollectionsToIncludeAsTags, and CollectionsToExcludeAsTags).
 - No collections are cooked by default.

#rb Chris.Gagnon

[CL 8847950 by Jamie Dale in Dev-Editor branch]
2019-09-18 16:53:27 -04:00
Chris Gagnon
0a9f86357f Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
#rb none

[CL 6837840 by Chris Gagnon in Dev-Editor branch]
2019-06-04 15:16:30 -04:00
Johan Torp
b6207ed8ee Deprecated default FName operator < and >
We've had several cases where the previously default alphabetical sorting caused performance issues when it wasn't needed. We now require you to explicitly choose either slow alphabetical sorting or fast non-alphabetical order.

The fast order does not decode, access or compare actual string data, but the order is not stable between process runs.

#rb steve.robb

[CL 5915265 by Johan Torp in Dev-Core branch]
2019-04-16 07:16:12 -04:00
Johan Torp
ccd9c2597d FName optimizations and improvements
Encoding improvements
* New hash table implementation
--- Move away from 16-bit hashes since we need more than 64k buckets to hold 2M entries efficiently
--- Change to CityHash64, which is faster and stronger
--- Remove hardcoded max limit
* NAME_INDEX changed from contigouos int to monotonically increasing int
--- Opens up for future deduplication schemes that are better than number suffix dedup.
--- Saves some memory since we don't need to maintain a contiguous array
--- Typed up to cause compile errors when used as integer directly
* Avoid touching data repeatedly, normal path only does single hash of data
* New constructor that allows supplying string length up front
* Avoid dynamic allocations in string conversions >= 128 characters
* Avoid extra copying when splitting numbers
* More efficient IsPureAnsi check
* Only do one global lazy initialization call instead of multiple
* Switch to faster RW locks
* Switch from single lock to sharded hash map with separate locks
* Memory optimizations that reduces per entry overhead: 4 bytes slots, 2 byte headers and don't store null terminator

Improved API & documentation
* Document that IsValid() rarely makes sense
* Hide global state such as GetNames()
* Reduce amount of implementation details visible in header
* NameTypes.h size down by ~1/3 while adding documentation, stronger type safety and new APIs

Future possibilities
* Memory savings: Removing public NAME_INDEX and global FName array allows using the 32-bit FNameEntryId for arbitrary deduplication schemes. This can save both actual stored strings memory by deduplication and half the size of FName instances from 8B to 4B in shipping / test configs by removing the number part.
* Implementation can be tweaked further, for instance could persist 32-bit slot index hash inside slot to increase encoding performance in development / debug at the cost of memory.

Perf & mem results for internal project:
* Editor startup wall time: 12% speedup, 22.0s -> 19.5s
--- Warm disk and asset registry cache
--- Some gains from nametable serialization improvements
--- Some of these gains might be from orthogonal asset discovery optimizations
* Win64 Test Client memory usage with ~400k names: 30.3Mb -> 22.2Mb

#rb steve.robb, pj.kack
#jira UE-59973

[CL 5774657 by Johan Torp in Dev-Core branch]
2019-04-08 11:29:35 -04:00
Chris Gagnon
8fc25ea18e Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
#rb none

[CL 4676797 by Chris Gagnon in Dev-Editor branch]
2019-01-02 14:54:39 -05:00