Commit Graph

10 Commits

Author SHA1 Message Date
Ben Marsh
20bf0eb6a1 Updating copyright notices to 2017 (copying from //Tasks/UE4/Dev-Copyright-2017).
#rb none
#lockdown Nick.Penwarden

[CL 3226823 by Ben Marsh in Main branch]
2016-12-08 08:52:44 -05:00
Ben Marsh
4ba423868f Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340)
#lockdown Nick.Penwarden
#rb none

==========================
MAJOR FEATURES + CHANGES
==========================

Change 3209340 on 2016/11/23 by Ben.Marsh

	Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h.

	Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms.

	  * Every header now includes everything it needs to compile.
	        * There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first.
	        * There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h.
	  * Every .cpp file includes its matching .h file first.
	        * This helps validate that each header is including everything it needs to compile.
	  * No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more.
	        * You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there.
	        * There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible.
	  * No engine code explicitly includes a precompiled header any more.
	        * We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies.
	        * PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files.

	Tool used to generate this transform is at Engine\Source\Programs\IncludeTool.

[CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
Matthew Griffin
bb70b349ce Merging CL 2804086 from //UE4/Release-4.11 to Dev-Main (//UE4/Dev-Main) to isolate copyright update
#lockdown Nick.Penwarden

[CL 2819020 by Matthew Griffin in Main branch]
2016-01-07 08:17:16 -05:00
Mark Satterthwaite
e9f8520a48 Distcc compilation fixes for OS X.
[CL 2695509 by Mark Satterthwaite in Main branch]
2015-09-17 13:09:10 -04:00
Nick Darnell
c58a84008a Engine - Build fix defining WITH_SLATE_STATS if undefined.
[CL 2663717 by Nick Darnell in Main branch]
2015-08-20 19:47:35 -04:00
Nick Darnell
0933d8f561 UMG/Slate - Continuing to itterate on performance and improving the invalidation panel. Enhanced the rendering pipeline to allow cached buffers to be passed along with an offset so that we could do a final matrix transform on it if need be. Fixing a rather large memory leak on the invalidation panels never being able to re-use old element lists because they were always being used by the render thread. Adding more stats. The PS4 BeginNamedEvent calls now properly respect the color being passed as an argument and will display it in Razor when in arguement coloring mode. Widgets now know what class created them, in all but shipping. Very useful for logging stat/debugging information in a non-editor build.
[CL 2663649 by Nick Darnell in Main branch]
2015-08-20 19:00:36 -04:00
Marc Audy
a523efb225 Fix shadowed variables
[CL 2510461 by Marc Audy in Main branch]
2015-04-13 12:42:09 -04:00
Wes Hunt
81822f7e1f Fixed Slate Hierarchical stats no longer assuming the first stat is the global root (which is is not when events are being processed).
[CL 2473317 by Wes Hunt in Main branch]
2015-03-09 23:05:13 -04:00
Peter Sauerbrei
392b4a54c8 CIS fix for Mac and Slate Stats
#mac

[CL 2417522 by Peter Sauerbrei in Main branch]
2015-01-23 19:08:15 -05:00
Wes Hunt
5e497c92d4 Added custom slate stats, removed all but top level UE4 slate stats. #BUN
* See SlateStats.h for details on the new system, which allows for full hierarchical profiling with limited overhead.
* Moved SWidget::GetVisibility() out of line so we can instrument it without a full recompile.
* Widget debug info now uses FName to store the line number of the file. Keeps it in one place and the new stats system can utilize it as an FName.
* Exposed SWidget CreatedInFile debug info as an FName so new stats system can use it.
* FSlateVertex no longer uses FVector4, which is an aligned struct. Switched to float[4] instead. Goes from 48 to 36 bytes.
#codereview:nick.atamas,matt.kuhlenschmidt

[CL 2417281 by Wes Hunt in Main branch]
2015-01-23 16:49:16 -05:00