Files

995 lines
32 KiB
C++
Raw Permalink Normal View History

// Copyright Epic Games, Inc. All Rights Reserved.
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3178529) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3149443 on 2016/10/03 by Max.Preussner MediaAssets: Better parameter names for MediaPlayer BP functions Change 3149756 on 2016/10/03 by Max.Chen Sequence Recorder: Set some settings to be clamped at 0 (sequence length, recording delay, audio gain, audio input buffer size, nearby actor recording proximity) #jira UE-35233 Change 3149795 on 2016/10/03 by Max.Chen Curve Editor: Set tangent to user when flattening or straightening tangents only when the tangent mode is auto and the interp mode is cubic. #jira UE-36734 Change 3150378 on 2016/10/04 by Max.Preussner PS4Media: Made video buffer sizes for file and HLS sources configurable (UE-36807) #jira UE-36807 Change 3151414 on 2016/10/05 by Max.Chen Sequencer: Fix case where restoring the last view target was getting skipped. It should always restore if the camera object and the unlock if camera actor object is null. #jira UE-35285 Change 3152038 on 2016/10/05 by Max.Preussner UdpMessaging: Code & documentation modernization pass Change 3152471 on 2016/10/05 by Max.Chen Cine Camera: Don't enable/disable actor ticking based soley on actor tracking since actor ticking is needed for other purposes. Instead, always enable actor ticking and only update actor tracking on tick if necessary. This fixes a bug where the cine camera actor won't tick if you hook in event tick. #jira UE-36625 Change 3152692 on 2016/10/05 by Max.Preussner Messaging: API code & documentation modernization pass Mostly removed shared pointer/ref typedefs as they prevent forward declarations and increase include complexity. Change 3153824 on 2016/10/06 by Max.Preussner Messaging: Renamed IConnectionBasedMessagingModule to ITcpMessagingModule and moved it into TcpMessaging I recommend that we refactor this API. The dependency should be reversed, i.e. instead of AndroidDeviceDiscovery depending on the TcpMessaging plug-in module, the Engine should provide a central registry that device discovery modules can notify, and that message transport plug-ins can register with and listen to OnConnectionAdded/Removed events etc. That way it supports an arbitrary number of transport plug-ins, and the Engine is not coupled to any of them. This functionality is not necessarily related to messaging, and the Messaging API is transport agnostic anyway. I'll think about this some more. Change 3153826 on 2016/10/06 by Max.Preussner Messaging: Removed remaining typedefs in IMessageTracer to enable forward declaration and reduce include dependencies Change 3153857 on 2016/10/06 by Max.Chen Sequencer: Set snap time to dragged key on by default. Change 3153980 on 2016/10/06 by Max.Preussner SessionServices: Removed typedefs; code and documentation modernization pass Change 3154313 on 2016/10/06 by Max.Chen Sequencer: Set the paste keys time to the current time, rather than the mouse time. Change 3154332 on 2016/10/06 by Max.Chen Sequencer: Remove click to rename shot functionality in the shot thumbnail. Added rename shot to the shot context menu. Change 3154377 on 2016/10/07 by Max.Chen Sequencer: Add ability to step to beginning and ends of sections/shots using the hotkeys: , and . Change 3154788 on 2016/10/07 by Max.Chen Sequencer: Fix offsets that created when moving multiple sections. The offsets were being created because section bounds were being generated for all sections except for the current section. Instead, they should be computed for all sections except for any that aren't being moved. #jira UE-29152 Change 3159274 on 2016/10/11 by Max.Preussner Core: Documentation fixes Change 3159275 on 2016/10/11 by Max.Preussner UdpMessaging: Added missing header Change 3160746 on 2016/10/12 by Max.Preussner MediaAssets: Added BP functions to query width, height, and aspect ratio of UMediaTexture instances #jira UE-37241 Change 3160975 on 2016/10/12 by Max.Preussner PS4Media: Better logging for SetRate failures Change 3160995 on 2016/10/12 by Max.Preussner MediaPlayerEditor: Fixed Media player selection is ignored if media specifies player overrides (UE-37248) #jira UE-37248 Change 3161066 on 2016/10/12 by Max.Preussner PS4Media: Enforcing minimum 8 byte alignment for media allocations Change 3161069 on 2016/10/12 by Max.Preussner PS4Media: Fixed log spam when setting play rate to current rate Change 3162567 on 2016/10/13 by Max.Preussner PS4Media: Made track switching code more readable Change 3163447 on 2016/10/14 by Max.Preussner PS4Media: Fixed array out of bounds assertions Change 3163772 on 2016/10/14 by Max.Preussner MfMedia: Fixed a number of timing related issues Change 3163980 on 2016/10/15 by Max.Chen Sequencer: Remove folder name numeric padding so that the naming convention is similar to creating objects in the level. Change 3164581 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure global pre-animated state is restored in reverse order Change 3164582 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure pre animated state is restored for all actor components before saving default state Change 3164583 on 2016/10/17 by Andrew.Rodham Sequencer: Re-enabled support for pre and post roll Change 3165464 on 2016/10/17 by Max.Chen Sequencer: Default number frame handles to 0 so that there's no change in behavior when rendering out a master sequence of shots. Handle frames need to enabled explicitly by the user. Copy from Release-4.14 #jira UE-37416 Change 3165483 on 2016/10/17 by Max.Chen Sequencer: Enable restore state for attach section completion Change 3165771 on 2016/10/18 by Andrew.Rodham Sequencer: Force evaluate when rendering thumbnails #jira UE-37321 Change 3166057 on 2016/10/18 by Andrew.Rodham Sequencer: Only set defaults for tracks that have no keys, and where the requested default has changed #jira UE-37285 Change 3166218 on 2016/10/18 by Max.Preussner MediaPlayerEditor: Failure opening media, even though it opened successfully (UE-37470) #jira UE-37470 Change 3166247 on 2016/10/18 by Max.Preussner WmfMedia: Showing progress bar while media is being resolved Change 3166289 on 2016/10/18 by Max.Preussner MfMedia: Showing progress bar while media is being resolved Change 3166993 on 2016/10/18 by Max.Preussner MfMedia: Fixed info string not reset on media close. Change 3166999 on 2016/10/19 by Max.Preussner Media: Fixed NV12 and NV21 support Change 3167008 on 2016/10/19 by Max.Preussner Media: Removed vertical NV12 alignment Change 3167029 on 2016/10/19 by Max.Preussner WmfMedia: Temp fix for RGB32 encoded AVIs rendering upside-down and too bright (UE-37505) #jira UE-37505 Change 3168593 on 2016/10/19 by Max.Chen Sequencer: Change paste at time to local time, so that the paste happens in the local time of the sequence rather than the global time if pasting in a shot level sequence. Change 3168626 on 2016/10/19 by Max.Chen Sequencer: Clamp to view bounds should snap to frame if frame snapping is on. Change 3168627 on 2016/10/19 by Max.Chen Sequencer: Initialize working and view range to be 10% larger than playback range. Change 3168760 on 2016/10/20 by Max.Preussner Media: Revamped media texture buffer management to support padded frames Added support for Windows bitmap buffers. Fixed a number of format, conversion and/or looping issues in WmfMedia and MfMedia. Not all shaders have been updated yet. Change 3169640 on 2016/10/20 by Max.Chen Sequencer: Add current camera to FLevelSequencePlayerSnapshot. Adjust DefaultBurnIn to include a few more parameters like focal length and focus distance. #jira UE-37407 Change 3170677 on 2016/10/21 by Max.Chen Movie Scene Capture: Add toggle to override engine scalability settings to cinematic scalability. #jira UE-36560 Change 3170710 on 2016/10/21 by Max.Preussner Media: Optimized handling of RGB input Change 3170712 on 2016/10/21 by Max.Preussner Media: Fixed NV21 conversion shader scaling Change 3170923 on 2016/10/21 by Max.Preussner UBT: Copied XboxOne project generator fix from Fortnite CL# 3170868 Change 3171494 on 2016/10/23 by Max.Chen Sequencer: Fix fbx export from master sequence not finding bound objects. #jira UE-35752 Change 3171506 on 2016/10/23 by Max.Chen Sequencer: Draw where in and out points of the shot section are, just like subsequences do. Change to only draw the green starting line if StartOffset is negative. #jira UE-35473 Change 3171743 on 2016/10/24 by Andrew.Rodham Editor: Added support for detail customizations on root structs - Also added the ability to add external struct data onto a detail category builder, and property type customization. Change 3171752 on 2016/10/24 by Andrew.Rodham Sequencer: Fixed spawnable ownership - Spawnables are no longer destroyed when the cursor leaves the master playback range. - Spawnable ownership now operates as it previously did before the evaluation rework. - bIgnoreOwnershipInEditor has been removed since its existence was a work around for when we didn't evaluate sub sequences from the master sequence. - FMovieSceneSequenceID is now a struct so that it can be used in array properties - Meta data now exists for each segment of an evaluation field. Currently this only includes the sub sequence IDs that exist at that time, but it may be expanded to include all evaluation entities (tracks + sections) in future so we don't have to calculate that at runtime. Change 3171756 on 2016/10/24 by Andrew.Rodham Sequencer: Added ability to trigger events with parameters - It's now possible to supply an event payload on event track keys which are to be passed to a given event. The structure must match the signature of the event, or a warning will be emitted. - Added a templated TGenericKeyArea, TKeyFrameManipulator and TCurveInterface that allow to generic manipulation of keyframe section data. In time we will port the other key areas over to this representation. - This new architecture affords the common manipulation of time-based keyframes in a value-agnostic manner. Change 3172935 on 2016/10/24 by Max.Preussner MediaPlayerEditor: Fixed MediaPlayer asset not being dirtied when creating media sound wave or texture for it Change 3173947 on 2016/10/25 by Max.Preussner SlateRemote: Disabled plug-in, but enabled server by default Change 3174510 on 2016/10/26 by Max.Chen Sequencer: Fix slomo track crash #jira UE-37802 Change 3174698 on 2016/10/26 by Andrew.Rodham UMG: Fixed objects bound to a panel slot animating their slot's content instead of the slot itself #jira UE-37775 Change 3174780 on 2016/10/26 by Max.Preussner MediaAssets: Accepting decoder defined buffer dimensions for RGB buffers Change 3174789 on 2016/10/26 by Max.Preussner MediaPlayerEditor: Showing desired player name instead of current player name if no media loaded Change 3174817 on 2016/10/26 by Max.Preussner WmfMedia: Added support for Motion JPEG (MJPG) Change 3174825 on 2016/10/26 by Max.Preussner WmfMedia: Added support for non-RGB32 uncompressed formats Change 3174834 on 2016/10/26 by Max.Preussner MediaPlayerAssets: Allow pausing while buffering media Change 3174886 on 2016/10/26 by Andrew.Rodham Core: Fixed range test that was testing incorrect behavior Change 3174889 on 2016/10/26 by Andrew.Rodham Sequencer: Fixed AssignActor behavior - Also ensure that cached object state is invalidated when playback context changes #jira UE-37798 Change 3174905 on 2016/10/26 by Andrew.Rodham Sequencer: Changed assert when failing to create an audio component to a log message - Audio no longer plays when GEngine->UseSound() is false #jira UE-37772 Change 3174980 on 2016/10/26 by Andrew.Rodham Sequencer: Remove warning when event endpoint could not be found for a given context #jira UE-37824 Change 3175001 on 2016/10/26 by Andrew.Rodham Sequencer: Evaluate sequence with EMovieScenePlaybackStatus::Jumping on Pause. - Also protect Pause() against reentrancy when being called from an event Change 3175012 on 2016/10/26 by Max.Chen Sequence Recorder: Fixes an empty working and view range after recording. On StopRecording() update playback range after nullifying the current sequence so that the playback range isn't empty. Added SetViewRange and SetWorkingRange. #jira UE-34191 Change 3177760 on 2016/10/28 by Max.Chen Sequence Recorder: Don't update the current sequence name if it's already set. This fixes a bug where if you pass in a sequence name to record to, it gets reset to the name in the sequence recorder settings. #jira UE-37808 Change 3178529 on 2016/10/28 by Max.Chen Matinee to Level Sequence: Added interface to extend the matinee to level sequence converter #jira UE-37328 #2864 [CL 3178562 by Max Chen in Main branch]
2016-10-28 15:04:38 -04:00
#include "ProfilerSession.h"
#if STATS
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
#include "ProfilerFPSAnalyzer.h"
#include "ProfilerDataProvider.h"
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3178529) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3149443 on 2016/10/03 by Max.Preussner MediaAssets: Better parameter names for MediaPlayer BP functions Change 3149756 on 2016/10/03 by Max.Chen Sequence Recorder: Set some settings to be clamped at 0 (sequence length, recording delay, audio gain, audio input buffer size, nearby actor recording proximity) #jira UE-35233 Change 3149795 on 2016/10/03 by Max.Chen Curve Editor: Set tangent to user when flattening or straightening tangents only when the tangent mode is auto and the interp mode is cubic. #jira UE-36734 Change 3150378 on 2016/10/04 by Max.Preussner PS4Media: Made video buffer sizes for file and HLS sources configurable (UE-36807) #jira UE-36807 Change 3151414 on 2016/10/05 by Max.Chen Sequencer: Fix case where restoring the last view target was getting skipped. It should always restore if the camera object and the unlock if camera actor object is null. #jira UE-35285 Change 3152038 on 2016/10/05 by Max.Preussner UdpMessaging: Code & documentation modernization pass Change 3152471 on 2016/10/05 by Max.Chen Cine Camera: Don't enable/disable actor ticking based soley on actor tracking since actor ticking is needed for other purposes. Instead, always enable actor ticking and only update actor tracking on tick if necessary. This fixes a bug where the cine camera actor won't tick if you hook in event tick. #jira UE-36625 Change 3152692 on 2016/10/05 by Max.Preussner Messaging: API code & documentation modernization pass Mostly removed shared pointer/ref typedefs as they prevent forward declarations and increase include complexity. Change 3153824 on 2016/10/06 by Max.Preussner Messaging: Renamed IConnectionBasedMessagingModule to ITcpMessagingModule and moved it into TcpMessaging I recommend that we refactor this API. The dependency should be reversed, i.e. instead of AndroidDeviceDiscovery depending on the TcpMessaging plug-in module, the Engine should provide a central registry that device discovery modules can notify, and that message transport plug-ins can register with and listen to OnConnectionAdded/Removed events etc. That way it supports an arbitrary number of transport plug-ins, and the Engine is not coupled to any of them. This functionality is not necessarily related to messaging, and the Messaging API is transport agnostic anyway. I'll think about this some more. Change 3153826 on 2016/10/06 by Max.Preussner Messaging: Removed remaining typedefs in IMessageTracer to enable forward declaration and reduce include dependencies Change 3153857 on 2016/10/06 by Max.Chen Sequencer: Set snap time to dragged key on by default. Change 3153980 on 2016/10/06 by Max.Preussner SessionServices: Removed typedefs; code and documentation modernization pass Change 3154313 on 2016/10/06 by Max.Chen Sequencer: Set the paste keys time to the current time, rather than the mouse time. Change 3154332 on 2016/10/06 by Max.Chen Sequencer: Remove click to rename shot functionality in the shot thumbnail. Added rename shot to the shot context menu. Change 3154377 on 2016/10/07 by Max.Chen Sequencer: Add ability to step to beginning and ends of sections/shots using the hotkeys: , and . Change 3154788 on 2016/10/07 by Max.Chen Sequencer: Fix offsets that created when moving multiple sections. The offsets were being created because section bounds were being generated for all sections except for the current section. Instead, they should be computed for all sections except for any that aren't being moved. #jira UE-29152 Change 3159274 on 2016/10/11 by Max.Preussner Core: Documentation fixes Change 3159275 on 2016/10/11 by Max.Preussner UdpMessaging: Added missing header Change 3160746 on 2016/10/12 by Max.Preussner MediaAssets: Added BP functions to query width, height, and aspect ratio of UMediaTexture instances #jira UE-37241 Change 3160975 on 2016/10/12 by Max.Preussner PS4Media: Better logging for SetRate failures Change 3160995 on 2016/10/12 by Max.Preussner MediaPlayerEditor: Fixed Media player selection is ignored if media specifies player overrides (UE-37248) #jira UE-37248 Change 3161066 on 2016/10/12 by Max.Preussner PS4Media: Enforcing minimum 8 byte alignment for media allocations Change 3161069 on 2016/10/12 by Max.Preussner PS4Media: Fixed log spam when setting play rate to current rate Change 3162567 on 2016/10/13 by Max.Preussner PS4Media: Made track switching code more readable Change 3163447 on 2016/10/14 by Max.Preussner PS4Media: Fixed array out of bounds assertions Change 3163772 on 2016/10/14 by Max.Preussner MfMedia: Fixed a number of timing related issues Change 3163980 on 2016/10/15 by Max.Chen Sequencer: Remove folder name numeric padding so that the naming convention is similar to creating objects in the level. Change 3164581 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure global pre-animated state is restored in reverse order Change 3164582 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure pre animated state is restored for all actor components before saving default state Change 3164583 on 2016/10/17 by Andrew.Rodham Sequencer: Re-enabled support for pre and post roll Change 3165464 on 2016/10/17 by Max.Chen Sequencer: Default number frame handles to 0 so that there's no change in behavior when rendering out a master sequence of shots. Handle frames need to enabled explicitly by the user. Copy from Release-4.14 #jira UE-37416 Change 3165483 on 2016/10/17 by Max.Chen Sequencer: Enable restore state for attach section completion Change 3165771 on 2016/10/18 by Andrew.Rodham Sequencer: Force evaluate when rendering thumbnails #jira UE-37321 Change 3166057 on 2016/10/18 by Andrew.Rodham Sequencer: Only set defaults for tracks that have no keys, and where the requested default has changed #jira UE-37285 Change 3166218 on 2016/10/18 by Max.Preussner MediaPlayerEditor: Failure opening media, even though it opened successfully (UE-37470) #jira UE-37470 Change 3166247 on 2016/10/18 by Max.Preussner WmfMedia: Showing progress bar while media is being resolved Change 3166289 on 2016/10/18 by Max.Preussner MfMedia: Showing progress bar while media is being resolved Change 3166993 on 2016/10/18 by Max.Preussner MfMedia: Fixed info string not reset on media close. Change 3166999 on 2016/10/19 by Max.Preussner Media: Fixed NV12 and NV21 support Change 3167008 on 2016/10/19 by Max.Preussner Media: Removed vertical NV12 alignment Change 3167029 on 2016/10/19 by Max.Preussner WmfMedia: Temp fix for RGB32 encoded AVIs rendering upside-down and too bright (UE-37505) #jira UE-37505 Change 3168593 on 2016/10/19 by Max.Chen Sequencer: Change paste at time to local time, so that the paste happens in the local time of the sequence rather than the global time if pasting in a shot level sequence. Change 3168626 on 2016/10/19 by Max.Chen Sequencer: Clamp to view bounds should snap to frame if frame snapping is on. Change 3168627 on 2016/10/19 by Max.Chen Sequencer: Initialize working and view range to be 10% larger than playback range. Change 3168760 on 2016/10/20 by Max.Preussner Media: Revamped media texture buffer management to support padded frames Added support for Windows bitmap buffers. Fixed a number of format, conversion and/or looping issues in WmfMedia and MfMedia. Not all shaders have been updated yet. Change 3169640 on 2016/10/20 by Max.Chen Sequencer: Add current camera to FLevelSequencePlayerSnapshot. Adjust DefaultBurnIn to include a few more parameters like focal length and focus distance. #jira UE-37407 Change 3170677 on 2016/10/21 by Max.Chen Movie Scene Capture: Add toggle to override engine scalability settings to cinematic scalability. #jira UE-36560 Change 3170710 on 2016/10/21 by Max.Preussner Media: Optimized handling of RGB input Change 3170712 on 2016/10/21 by Max.Preussner Media: Fixed NV21 conversion shader scaling Change 3170923 on 2016/10/21 by Max.Preussner UBT: Copied XboxOne project generator fix from Fortnite CL# 3170868 Change 3171494 on 2016/10/23 by Max.Chen Sequencer: Fix fbx export from master sequence not finding bound objects. #jira UE-35752 Change 3171506 on 2016/10/23 by Max.Chen Sequencer: Draw where in and out points of the shot section are, just like subsequences do. Change to only draw the green starting line if StartOffset is negative. #jira UE-35473 Change 3171743 on 2016/10/24 by Andrew.Rodham Editor: Added support for detail customizations on root structs - Also added the ability to add external struct data onto a detail category builder, and property type customization. Change 3171752 on 2016/10/24 by Andrew.Rodham Sequencer: Fixed spawnable ownership - Spawnables are no longer destroyed when the cursor leaves the master playback range. - Spawnable ownership now operates as it previously did before the evaluation rework. - bIgnoreOwnershipInEditor has been removed since its existence was a work around for when we didn't evaluate sub sequences from the master sequence. - FMovieSceneSequenceID is now a struct so that it can be used in array properties - Meta data now exists for each segment of an evaluation field. Currently this only includes the sub sequence IDs that exist at that time, but it may be expanded to include all evaluation entities (tracks + sections) in future so we don't have to calculate that at runtime. Change 3171756 on 2016/10/24 by Andrew.Rodham Sequencer: Added ability to trigger events with parameters - It's now possible to supply an event payload on event track keys which are to be passed to a given event. The structure must match the signature of the event, or a warning will be emitted. - Added a templated TGenericKeyArea, TKeyFrameManipulator and TCurveInterface that allow to generic manipulation of keyframe section data. In time we will port the other key areas over to this representation. - This new architecture affords the common manipulation of time-based keyframes in a value-agnostic manner. Change 3172935 on 2016/10/24 by Max.Preussner MediaPlayerEditor: Fixed MediaPlayer asset not being dirtied when creating media sound wave or texture for it Change 3173947 on 2016/10/25 by Max.Preussner SlateRemote: Disabled plug-in, but enabled server by default Change 3174510 on 2016/10/26 by Max.Chen Sequencer: Fix slomo track crash #jira UE-37802 Change 3174698 on 2016/10/26 by Andrew.Rodham UMG: Fixed objects bound to a panel slot animating their slot's content instead of the slot itself #jira UE-37775 Change 3174780 on 2016/10/26 by Max.Preussner MediaAssets: Accepting decoder defined buffer dimensions for RGB buffers Change 3174789 on 2016/10/26 by Max.Preussner MediaPlayerEditor: Showing desired player name instead of current player name if no media loaded Change 3174817 on 2016/10/26 by Max.Preussner WmfMedia: Added support for Motion JPEG (MJPG) Change 3174825 on 2016/10/26 by Max.Preussner WmfMedia: Added support for non-RGB32 uncompressed formats Change 3174834 on 2016/10/26 by Max.Preussner MediaPlayerAssets: Allow pausing while buffering media Change 3174886 on 2016/10/26 by Andrew.Rodham Core: Fixed range test that was testing incorrect behavior Change 3174889 on 2016/10/26 by Andrew.Rodham Sequencer: Fixed AssignActor behavior - Also ensure that cached object state is invalidated when playback context changes #jira UE-37798 Change 3174905 on 2016/10/26 by Andrew.Rodham Sequencer: Changed assert when failing to create an audio component to a log message - Audio no longer plays when GEngine->UseSound() is false #jira UE-37772 Change 3174980 on 2016/10/26 by Andrew.Rodham Sequencer: Remove warning when event endpoint could not be found for a given context #jira UE-37824 Change 3175001 on 2016/10/26 by Andrew.Rodham Sequencer: Evaluate sequence with EMovieScenePlaybackStatus::Jumping on Pause. - Also protect Pause() against reentrancy when being called from an event Change 3175012 on 2016/10/26 by Max.Chen Sequence Recorder: Fixes an empty working and view range after recording. On StopRecording() update playback range after nullifying the current sequence so that the playback range isn't empty. Added SetViewRange and SetWorkingRange. #jira UE-34191 Change 3177760 on 2016/10/28 by Max.Chen Sequence Recorder: Don't update the current sequence name if it's already set. This fixes a bug where if you pass in a sequence name to record to, it gets reset to the name in the sequence recorder settings. #jira UE-37808 Change 3178529 on 2016/10/28 by Max.Chen Matinee to Level Sequence: Added interface to extend the matinee to level sequence converter #jira UE-37328 #2864 [CL 3178562 by Max Chen in Main branch]
2016-10-28 15:04:38 -04:00
/*-----------------------------------------------------------------------------
FProfilerStat, FProfilerGroup
-----------------------------------------------------------------------------*/
FProfilerStat FProfilerStat::Default;
FProfilerGroup FProfilerGroup::Default;
FProfilerStat::FProfilerStat( const uint32 InStatID /*= 0 */ )
: _Name( TEXT("(Stat-Default)") )
, _OwningGroupPtr( FProfilerGroup::GetDefaultPtr() )
, _ID( InStatID )
, _Type( EProfilerSampleTypes::InvalidOrMax )
{}
/*-----------------------------------------------------------------------------
FProfilerSession
-----------------------------------------------------------------------------*/
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3178529) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3149443 on 2016/10/03 by Max.Preussner MediaAssets: Better parameter names for MediaPlayer BP functions Change 3149756 on 2016/10/03 by Max.Chen Sequence Recorder: Set some settings to be clamped at 0 (sequence length, recording delay, audio gain, audio input buffer size, nearby actor recording proximity) #jira UE-35233 Change 3149795 on 2016/10/03 by Max.Chen Curve Editor: Set tangent to user when flattening or straightening tangents only when the tangent mode is auto and the interp mode is cubic. #jira UE-36734 Change 3150378 on 2016/10/04 by Max.Preussner PS4Media: Made video buffer sizes for file and HLS sources configurable (UE-36807) #jira UE-36807 Change 3151414 on 2016/10/05 by Max.Chen Sequencer: Fix case where restoring the last view target was getting skipped. It should always restore if the camera object and the unlock if camera actor object is null. #jira UE-35285 Change 3152038 on 2016/10/05 by Max.Preussner UdpMessaging: Code & documentation modernization pass Change 3152471 on 2016/10/05 by Max.Chen Cine Camera: Don't enable/disable actor ticking based soley on actor tracking since actor ticking is needed for other purposes. Instead, always enable actor ticking and only update actor tracking on tick if necessary. This fixes a bug where the cine camera actor won't tick if you hook in event tick. #jira UE-36625 Change 3152692 on 2016/10/05 by Max.Preussner Messaging: API code & documentation modernization pass Mostly removed shared pointer/ref typedefs as they prevent forward declarations and increase include complexity. Change 3153824 on 2016/10/06 by Max.Preussner Messaging: Renamed IConnectionBasedMessagingModule to ITcpMessagingModule and moved it into TcpMessaging I recommend that we refactor this API. The dependency should be reversed, i.e. instead of AndroidDeviceDiscovery depending on the TcpMessaging plug-in module, the Engine should provide a central registry that device discovery modules can notify, and that message transport plug-ins can register with and listen to OnConnectionAdded/Removed events etc. That way it supports an arbitrary number of transport plug-ins, and the Engine is not coupled to any of them. This functionality is not necessarily related to messaging, and the Messaging API is transport agnostic anyway. I'll think about this some more. Change 3153826 on 2016/10/06 by Max.Preussner Messaging: Removed remaining typedefs in IMessageTracer to enable forward declaration and reduce include dependencies Change 3153857 on 2016/10/06 by Max.Chen Sequencer: Set snap time to dragged key on by default. Change 3153980 on 2016/10/06 by Max.Preussner SessionServices: Removed typedefs; code and documentation modernization pass Change 3154313 on 2016/10/06 by Max.Chen Sequencer: Set the paste keys time to the current time, rather than the mouse time. Change 3154332 on 2016/10/06 by Max.Chen Sequencer: Remove click to rename shot functionality in the shot thumbnail. Added rename shot to the shot context menu. Change 3154377 on 2016/10/07 by Max.Chen Sequencer: Add ability to step to beginning and ends of sections/shots using the hotkeys: , and . Change 3154788 on 2016/10/07 by Max.Chen Sequencer: Fix offsets that created when moving multiple sections. The offsets were being created because section bounds were being generated for all sections except for the current section. Instead, they should be computed for all sections except for any that aren't being moved. #jira UE-29152 Change 3159274 on 2016/10/11 by Max.Preussner Core: Documentation fixes Change 3159275 on 2016/10/11 by Max.Preussner UdpMessaging: Added missing header Change 3160746 on 2016/10/12 by Max.Preussner MediaAssets: Added BP functions to query width, height, and aspect ratio of UMediaTexture instances #jira UE-37241 Change 3160975 on 2016/10/12 by Max.Preussner PS4Media: Better logging for SetRate failures Change 3160995 on 2016/10/12 by Max.Preussner MediaPlayerEditor: Fixed Media player selection is ignored if media specifies player overrides (UE-37248) #jira UE-37248 Change 3161066 on 2016/10/12 by Max.Preussner PS4Media: Enforcing minimum 8 byte alignment for media allocations Change 3161069 on 2016/10/12 by Max.Preussner PS4Media: Fixed log spam when setting play rate to current rate Change 3162567 on 2016/10/13 by Max.Preussner PS4Media: Made track switching code more readable Change 3163447 on 2016/10/14 by Max.Preussner PS4Media: Fixed array out of bounds assertions Change 3163772 on 2016/10/14 by Max.Preussner MfMedia: Fixed a number of timing related issues Change 3163980 on 2016/10/15 by Max.Chen Sequencer: Remove folder name numeric padding so that the naming convention is similar to creating objects in the level. Change 3164581 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure global pre-animated state is restored in reverse order Change 3164582 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure pre animated state is restored for all actor components before saving default state Change 3164583 on 2016/10/17 by Andrew.Rodham Sequencer: Re-enabled support for pre and post roll Change 3165464 on 2016/10/17 by Max.Chen Sequencer: Default number frame handles to 0 so that there's no change in behavior when rendering out a master sequence of shots. Handle frames need to enabled explicitly by the user. Copy from Release-4.14 #jira UE-37416 Change 3165483 on 2016/10/17 by Max.Chen Sequencer: Enable restore state for attach section completion Change 3165771 on 2016/10/18 by Andrew.Rodham Sequencer: Force evaluate when rendering thumbnails #jira UE-37321 Change 3166057 on 2016/10/18 by Andrew.Rodham Sequencer: Only set defaults for tracks that have no keys, and where the requested default has changed #jira UE-37285 Change 3166218 on 2016/10/18 by Max.Preussner MediaPlayerEditor: Failure opening media, even though it opened successfully (UE-37470) #jira UE-37470 Change 3166247 on 2016/10/18 by Max.Preussner WmfMedia: Showing progress bar while media is being resolved Change 3166289 on 2016/10/18 by Max.Preussner MfMedia: Showing progress bar while media is being resolved Change 3166993 on 2016/10/18 by Max.Preussner MfMedia: Fixed info string not reset on media close. Change 3166999 on 2016/10/19 by Max.Preussner Media: Fixed NV12 and NV21 support Change 3167008 on 2016/10/19 by Max.Preussner Media: Removed vertical NV12 alignment Change 3167029 on 2016/10/19 by Max.Preussner WmfMedia: Temp fix for RGB32 encoded AVIs rendering upside-down and too bright (UE-37505) #jira UE-37505 Change 3168593 on 2016/10/19 by Max.Chen Sequencer: Change paste at time to local time, so that the paste happens in the local time of the sequence rather than the global time if pasting in a shot level sequence. Change 3168626 on 2016/10/19 by Max.Chen Sequencer: Clamp to view bounds should snap to frame if frame snapping is on. Change 3168627 on 2016/10/19 by Max.Chen Sequencer: Initialize working and view range to be 10% larger than playback range. Change 3168760 on 2016/10/20 by Max.Preussner Media: Revamped media texture buffer management to support padded frames Added support for Windows bitmap buffers. Fixed a number of format, conversion and/or looping issues in WmfMedia and MfMedia. Not all shaders have been updated yet. Change 3169640 on 2016/10/20 by Max.Chen Sequencer: Add current camera to FLevelSequencePlayerSnapshot. Adjust DefaultBurnIn to include a few more parameters like focal length and focus distance. #jira UE-37407 Change 3170677 on 2016/10/21 by Max.Chen Movie Scene Capture: Add toggle to override engine scalability settings to cinematic scalability. #jira UE-36560 Change 3170710 on 2016/10/21 by Max.Preussner Media: Optimized handling of RGB input Change 3170712 on 2016/10/21 by Max.Preussner Media: Fixed NV21 conversion shader scaling Change 3170923 on 2016/10/21 by Max.Preussner UBT: Copied XboxOne project generator fix from Fortnite CL# 3170868 Change 3171494 on 2016/10/23 by Max.Chen Sequencer: Fix fbx export from master sequence not finding bound objects. #jira UE-35752 Change 3171506 on 2016/10/23 by Max.Chen Sequencer: Draw where in and out points of the shot section are, just like subsequences do. Change to only draw the green starting line if StartOffset is negative. #jira UE-35473 Change 3171743 on 2016/10/24 by Andrew.Rodham Editor: Added support for detail customizations on root structs - Also added the ability to add external struct data onto a detail category builder, and property type customization. Change 3171752 on 2016/10/24 by Andrew.Rodham Sequencer: Fixed spawnable ownership - Spawnables are no longer destroyed when the cursor leaves the master playback range. - Spawnable ownership now operates as it previously did before the evaluation rework. - bIgnoreOwnershipInEditor has been removed since its existence was a work around for when we didn't evaluate sub sequences from the master sequence. - FMovieSceneSequenceID is now a struct so that it can be used in array properties - Meta data now exists for each segment of an evaluation field. Currently this only includes the sub sequence IDs that exist at that time, but it may be expanded to include all evaluation entities (tracks + sections) in future so we don't have to calculate that at runtime. Change 3171756 on 2016/10/24 by Andrew.Rodham Sequencer: Added ability to trigger events with parameters - It's now possible to supply an event payload on event track keys which are to be passed to a given event. The structure must match the signature of the event, or a warning will be emitted. - Added a templated TGenericKeyArea, TKeyFrameManipulator and TCurveInterface that allow to generic manipulation of keyframe section data. In time we will port the other key areas over to this representation. - This new architecture affords the common manipulation of time-based keyframes in a value-agnostic manner. Change 3172935 on 2016/10/24 by Max.Preussner MediaPlayerEditor: Fixed MediaPlayer asset not being dirtied when creating media sound wave or texture for it Change 3173947 on 2016/10/25 by Max.Preussner SlateRemote: Disabled plug-in, but enabled server by default Change 3174510 on 2016/10/26 by Max.Chen Sequencer: Fix slomo track crash #jira UE-37802 Change 3174698 on 2016/10/26 by Andrew.Rodham UMG: Fixed objects bound to a panel slot animating their slot's content instead of the slot itself #jira UE-37775 Change 3174780 on 2016/10/26 by Max.Preussner MediaAssets: Accepting decoder defined buffer dimensions for RGB buffers Change 3174789 on 2016/10/26 by Max.Preussner MediaPlayerEditor: Showing desired player name instead of current player name if no media loaded Change 3174817 on 2016/10/26 by Max.Preussner WmfMedia: Added support for Motion JPEG (MJPG) Change 3174825 on 2016/10/26 by Max.Preussner WmfMedia: Added support for non-RGB32 uncompressed formats Change 3174834 on 2016/10/26 by Max.Preussner MediaPlayerAssets: Allow pausing while buffering media Change 3174886 on 2016/10/26 by Andrew.Rodham Core: Fixed range test that was testing incorrect behavior Change 3174889 on 2016/10/26 by Andrew.Rodham Sequencer: Fixed AssignActor behavior - Also ensure that cached object state is invalidated when playback context changes #jira UE-37798 Change 3174905 on 2016/10/26 by Andrew.Rodham Sequencer: Changed assert when failing to create an audio component to a log message - Audio no longer plays when GEngine->UseSound() is false #jira UE-37772 Change 3174980 on 2016/10/26 by Andrew.Rodham Sequencer: Remove warning when event endpoint could not be found for a given context #jira UE-37824 Change 3175001 on 2016/10/26 by Andrew.Rodham Sequencer: Evaluate sequence with EMovieScenePlaybackStatus::Jumping on Pause. - Also protect Pause() against reentrancy when being called from an event Change 3175012 on 2016/10/26 by Max.Chen Sequence Recorder: Fixes an empty working and view range after recording. On StopRecording() update playback range after nullifying the current sequence so that the playback range isn't empty. Added SetViewRange and SetWorkingRange. #jira UE-34191 Change 3177760 on 2016/10/28 by Max.Chen Sequence Recorder: Don't update the current sequence name if it's already set. This fixes a bug where if you pass in a sequence name to record to, it gets reset to the name in the sequence recorder settings. #jira UE-37808 Change 3178529 on 2016/10/28 by Max.Chen Matinee to Level Sequence: Added interface to extend the matinee to level sequence converter #jira UE-37328 #2864 [CL 3178562 by Max Chen in Main branch]
2016-10-28 15:04:38 -04:00
FProfilerSession::FProfilerSession( EProfilerSessionTypes InSessionType, const TSharedPtr<ISessionInstanceInfo>& InSessionInstanceInfo, FGuid InSessionInstanceID, FString InDataFilepath )
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2783106 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Introduced GC UObject clusters. GC clusters provide means to create disregard for GC subsets at load time (e.g. Materials with material expressions and their textures). - Saves about 25ms in reachability analysis (58ms -> 33ms) - UObject classes/instances can now be marked as cluster root objects with CanBeClusterRoot() function override. - Cluster creation is automatic. Clusters don't require any manual handling for GC to collect them when nothing is referencing them. - Moved token stream processing to a new class FFastReferenceFinder to make it more generic and re-usable by other code - Removed REFERENCE_INFO macro from GC code and replaced it with a local variable (saves about ~1.9ms: 33.2ms -> 31.3ms) Change 2773094 on 2015/11/19 by Steve.Robb@Dev-Core Multicast script delegate check for existing bindings replaced with ensure. Multicast native delegate no longer checks for existing bindings. Removal of old delegate code. Some FORCEINLINEing to improve debugging experience of stepping into delegate code. Change 2782180 on 2015/11/27 by Graeme.Thornton@GThornton_DesktopMaster Make scoped seconds timer class available outside of stats build. Normal usage macros still remain guarded Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE which only times during the outmost instance of a recursive function Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE_BASE and SCOPE_SECONDS_COUNTER_BASE which are defined in all build types, for easy temporary timing in Test/Shipping builds. Added a boolean parameter to the timer class which can be used to disable it without having to mess around with scoping the calling code Change 2782635 on 2015/11/30 by Graeme.Thornton@GThornton_DesktopMaster Added GetTimeStampPair() to the filemanager and platformfile interfaces. Requests timestamps for a pair of files where we assume that both files would always exist at the same wrapper level. Allows us to skip file system queries for localization package lookups where the native file is in a pak but the localized file doesn't exist. Change 2775153 on 2015/11/20 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec CrashReportServer moved out of the not for licencees, a few fixes, removed RegisterPII Change 2775560 on 2015/11/20 by Steve.Robb@Dev-Core FDelegateBase::GetDelegateInstance deprecated and replaced with FDelegateBase::GetDelegateInstanceProtected. Change 2781138 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Converted is using a new stats reader, a few more optimizations, should be 10x times faster Change 2772990 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Fixing potential dead lock when suspending and resuming async loading multiple times Change 2773023 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Support for references added through AddReferencedObjects in FArchiveReplaceObjectRef Change 2781055 on 2015/11/25 by Steve.Robb@Dev-Core Changes to IDelegateInstance reverted to allow licensees an easier time when upgrading their use of the now-deprecated GetDelegateInstance() code path. New TryGetBoundFunctionName() to aid the debugging of delegate bindings in non-shipping configs. Change 2773114 on 2015/11/19 by Steve.Robb@Dev-Core FMath::IsPowerOfTwo is now templated to take any type. Change 2773643 on 2015/11/19 by Steve.Robb@Dev-Core GetDelegateInstance() calls replaced - delegate instances never compare equal unless you are comparing two unbound delegates (both null) or comparing a delegate with itself. Change 2777686 on 2015/11/23 by Steve.Robb@Dev-Core GitHub #1793 - File write flags argument Change 2780590 on 2015/11/25 by Steve.Robb@Dev-Core Fix for FArchiveProxy::operator<< overloads. Change 2780845 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec #jira UE-23358 - MDD relies on hard-coded P4 depot paths (fixed source context for streams) Change 2780962 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Added FStatsWriteStream for basic saving stat messages into a stream, initial support for reading a regular stats file, minor performance optimization, coding standard fixes #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781887 on 2015/11/26 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler/ProfilerClient - Removed unneeded synchronization points, replaces with task graph SendTo jobs, removed PROFILER_THREADED_LOAD, replaced with new stats loading mechanism, should be around 2x times faster (4x since the optimization pass) #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781893 on 2015/11/26 by Steve.Robb@Dev-Core TCachedOSPageAllocator abstracted from MallocBinned2. Misc tidy-ups. Change 2782198 on 2015/11/27 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Better indication of the loading progress, should no longer freeze without a progress bar #jira UECORE-170 - Improve profiler loading performance (wip) Change 2782446 on 2015/11/29 by Steve.Robb@Dev-Core Warn when calling delegates' Create* functions when they're not assigned to anything. #codereview robert.manuszewski Change 2782538 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 #UE4 Removed DiskCachedAssetDataBuffer as it was not strictly necessary and was triggering a crash when loading the cached registry from disk. This data is now stored directly in DiskCachedAssetDataMap. It was already true that this map does not change outside of SerializeCache but now it is critical since NewCachedAssetDataMap keeps pointers directly to its values. Asset registry fixes by Bob Tellez. Possible fix for UE-23783. Change 2782564 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 FReferenceCollector::AddReferenceObjects performance improvements for TArrays. ARO will no longer call HandleObjectReference multiple times but instead will call HandleObjectReferences just once (currently only implemented for FGCCollector). Reduces the number of virtual function calls while GC'ing. Change 2782716 on 2015/11/30 by Steve.Robb@Dev-Core UObject serial number array initialized for debug visualization. Change 2782933 on 2015/11/30 by Steve.Robb@Dev-Core Critical sections are no longer copyable. Change 2783061 on 2015/11/30 by Steve.Robb@Dev-Core
2015-12-03 14:21:29 -05:00
: bRequestStatMetadataUpdate( false )
, bLastPacket( false )
, StatMetaDataSize( 0 )
, OnTick( FTickerDelegate::CreateRaw( this, &FProfilerSession::HandleTicker ) )
, DataProvider( MakeShareable( new FArrayDataProvider() ) )
, StatMetaData( MakeShareable( new FProfilerStatMetaData() ) )
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2783106 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Introduced GC UObject clusters. GC clusters provide means to create disregard for GC subsets at load time (e.g. Materials with material expressions and their textures). - Saves about 25ms in reachability analysis (58ms -> 33ms) - UObject classes/instances can now be marked as cluster root objects with CanBeClusterRoot() function override. - Cluster creation is automatic. Clusters don't require any manual handling for GC to collect them when nothing is referencing them. - Moved token stream processing to a new class FFastReferenceFinder to make it more generic and re-usable by other code - Removed REFERENCE_INFO macro from GC code and replaced it with a local variable (saves about ~1.9ms: 33.2ms -> 31.3ms) Change 2773094 on 2015/11/19 by Steve.Robb@Dev-Core Multicast script delegate check for existing bindings replaced with ensure. Multicast native delegate no longer checks for existing bindings. Removal of old delegate code. Some FORCEINLINEing to improve debugging experience of stepping into delegate code. Change 2782180 on 2015/11/27 by Graeme.Thornton@GThornton_DesktopMaster Make scoped seconds timer class available outside of stats build. Normal usage macros still remain guarded Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE which only times during the outmost instance of a recursive function Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE_BASE and SCOPE_SECONDS_COUNTER_BASE which are defined in all build types, for easy temporary timing in Test/Shipping builds. Added a boolean parameter to the timer class which can be used to disable it without having to mess around with scoping the calling code Change 2782635 on 2015/11/30 by Graeme.Thornton@GThornton_DesktopMaster Added GetTimeStampPair() to the filemanager and platformfile interfaces. Requests timestamps for a pair of files where we assume that both files would always exist at the same wrapper level. Allows us to skip file system queries for localization package lookups where the native file is in a pak but the localized file doesn't exist. Change 2775153 on 2015/11/20 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec CrashReportServer moved out of the not for licencees, a few fixes, removed RegisterPII Change 2775560 on 2015/11/20 by Steve.Robb@Dev-Core FDelegateBase::GetDelegateInstance deprecated and replaced with FDelegateBase::GetDelegateInstanceProtected. Change 2781138 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Converted is using a new stats reader, a few more optimizations, should be 10x times faster Change 2772990 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Fixing potential dead lock when suspending and resuming async loading multiple times Change 2773023 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Support for references added through AddReferencedObjects in FArchiveReplaceObjectRef Change 2781055 on 2015/11/25 by Steve.Robb@Dev-Core Changes to IDelegateInstance reverted to allow licensees an easier time when upgrading their use of the now-deprecated GetDelegateInstance() code path. New TryGetBoundFunctionName() to aid the debugging of delegate bindings in non-shipping configs. Change 2773114 on 2015/11/19 by Steve.Robb@Dev-Core FMath::IsPowerOfTwo is now templated to take any type. Change 2773643 on 2015/11/19 by Steve.Robb@Dev-Core GetDelegateInstance() calls replaced - delegate instances never compare equal unless you are comparing two unbound delegates (both null) or comparing a delegate with itself. Change 2777686 on 2015/11/23 by Steve.Robb@Dev-Core GitHub #1793 - File write flags argument Change 2780590 on 2015/11/25 by Steve.Robb@Dev-Core Fix for FArchiveProxy::operator<< overloads. Change 2780845 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec #jira UE-23358 - MDD relies on hard-coded P4 depot paths (fixed source context for streams) Change 2780962 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Added FStatsWriteStream for basic saving stat messages into a stream, initial support for reading a regular stats file, minor performance optimization, coding standard fixes #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781887 on 2015/11/26 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler/ProfilerClient - Removed unneeded synchronization points, replaces with task graph SendTo jobs, removed PROFILER_THREADED_LOAD, replaced with new stats loading mechanism, should be around 2x times faster (4x since the optimization pass) #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781893 on 2015/11/26 by Steve.Robb@Dev-Core TCachedOSPageAllocator abstracted from MallocBinned2. Misc tidy-ups. Change 2782198 on 2015/11/27 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Better indication of the loading progress, should no longer freeze without a progress bar #jira UECORE-170 - Improve profiler loading performance (wip) Change 2782446 on 2015/11/29 by Steve.Robb@Dev-Core Warn when calling delegates' Create* functions when they're not assigned to anything. #codereview robert.manuszewski Change 2782538 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 #UE4 Removed DiskCachedAssetDataBuffer as it was not strictly necessary and was triggering a crash when loading the cached registry from disk. This data is now stored directly in DiskCachedAssetDataMap. It was already true that this map does not change outside of SerializeCache but now it is critical since NewCachedAssetDataMap keeps pointers directly to its values. Asset registry fixes by Bob Tellez. Possible fix for UE-23783. Change 2782564 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 FReferenceCollector::AddReferenceObjects performance improvements for TArrays. ARO will no longer call HandleObjectReference multiple times but instead will call HandleObjectReferences just once (currently only implemented for FGCCollector). Reduces the number of virtual function calls while GC'ing. Change 2782716 on 2015/11/30 by Steve.Robb@Dev-Core UObject serial number array initialized for debug visualization. Change 2782933 on 2015/11/30 by Steve.Robb@Dev-Core Critical sections are no longer copyable. Change 2783061 on 2015/11/30 by Steve.Robb@Dev-Core
2015-12-03 14:21:29 -05:00
, EventGraphDataCurrent( nullptr )
, CreationTime( FDateTime::Now() )
, SessionType( InSessionType )
, SessionInstanceInfo( InSessionInstanceInfo )
, SessionInstanceID( InSessionInstanceID )
, DataFilepath( InDataFilepath )
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2783106 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Introduced GC UObject clusters. GC clusters provide means to create disregard for GC subsets at load time (e.g. Materials with material expressions and their textures). - Saves about 25ms in reachability analysis (58ms -> 33ms) - UObject classes/instances can now be marked as cluster root objects with CanBeClusterRoot() function override. - Cluster creation is automatic. Clusters don't require any manual handling for GC to collect them when nothing is referencing them. - Moved token stream processing to a new class FFastReferenceFinder to make it more generic and re-usable by other code - Removed REFERENCE_INFO macro from GC code and replaced it with a local variable (saves about ~1.9ms: 33.2ms -> 31.3ms) Change 2773094 on 2015/11/19 by Steve.Robb@Dev-Core Multicast script delegate check for existing bindings replaced with ensure. Multicast native delegate no longer checks for existing bindings. Removal of old delegate code. Some FORCEINLINEing to improve debugging experience of stepping into delegate code. Change 2782180 on 2015/11/27 by Graeme.Thornton@GThornton_DesktopMaster Make scoped seconds timer class available outside of stats build. Normal usage macros still remain guarded Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE which only times during the outmost instance of a recursive function Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE_BASE and SCOPE_SECONDS_COUNTER_BASE which are defined in all build types, for easy temporary timing in Test/Shipping builds. Added a boolean parameter to the timer class which can be used to disable it without having to mess around with scoping the calling code Change 2782635 on 2015/11/30 by Graeme.Thornton@GThornton_DesktopMaster Added GetTimeStampPair() to the filemanager and platformfile interfaces. Requests timestamps for a pair of files where we assume that both files would always exist at the same wrapper level. Allows us to skip file system queries for localization package lookups where the native file is in a pak but the localized file doesn't exist. Change 2775153 on 2015/11/20 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec CrashReportServer moved out of the not for licencees, a few fixes, removed RegisterPII Change 2775560 on 2015/11/20 by Steve.Robb@Dev-Core FDelegateBase::GetDelegateInstance deprecated and replaced with FDelegateBase::GetDelegateInstanceProtected. Change 2781138 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Converted is using a new stats reader, a few more optimizations, should be 10x times faster Change 2772990 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Fixing potential dead lock when suspending and resuming async loading multiple times Change 2773023 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Support for references added through AddReferencedObjects in FArchiveReplaceObjectRef Change 2781055 on 2015/11/25 by Steve.Robb@Dev-Core Changes to IDelegateInstance reverted to allow licensees an easier time when upgrading their use of the now-deprecated GetDelegateInstance() code path. New TryGetBoundFunctionName() to aid the debugging of delegate bindings in non-shipping configs. Change 2773114 on 2015/11/19 by Steve.Robb@Dev-Core FMath::IsPowerOfTwo is now templated to take any type. Change 2773643 on 2015/11/19 by Steve.Robb@Dev-Core GetDelegateInstance() calls replaced - delegate instances never compare equal unless you are comparing two unbound delegates (both null) or comparing a delegate with itself. Change 2777686 on 2015/11/23 by Steve.Robb@Dev-Core GitHub #1793 - File write flags argument Change 2780590 on 2015/11/25 by Steve.Robb@Dev-Core Fix for FArchiveProxy::operator<< overloads. Change 2780845 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec #jira UE-23358 - MDD relies on hard-coded P4 depot paths (fixed source context for streams) Change 2780962 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Added FStatsWriteStream for basic saving stat messages into a stream, initial support for reading a regular stats file, minor performance optimization, coding standard fixes #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781887 on 2015/11/26 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler/ProfilerClient - Removed unneeded synchronization points, replaces with task graph SendTo jobs, removed PROFILER_THREADED_LOAD, replaced with new stats loading mechanism, should be around 2x times faster (4x since the optimization pass) #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781893 on 2015/11/26 by Steve.Robb@Dev-Core TCachedOSPageAllocator abstracted from MallocBinned2. Misc tidy-ups. Change 2782198 on 2015/11/27 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Better indication of the loading progress, should no longer freeze without a progress bar #jira UECORE-170 - Improve profiler loading performance (wip) Change 2782446 on 2015/11/29 by Steve.Robb@Dev-Core Warn when calling delegates' Create* functions when they're not assigned to anything. #codereview robert.manuszewski Change 2782538 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 #UE4 Removed DiskCachedAssetDataBuffer as it was not strictly necessary and was triggering a crash when loading the cached registry from disk. This data is now stored directly in DiskCachedAssetDataMap. It was already true that this map does not change outside of SerializeCache but now it is critical since NewCachedAssetDataMap keeps pointers directly to its values. Asset registry fixes by Bob Tellez. Possible fix for UE-23783. Change 2782564 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 FReferenceCollector::AddReferenceObjects performance improvements for TArrays. ARO will no longer call HandleObjectReference multiple times but instead will call HandleObjectReferences just once (currently only implemented for FGCCollector). Reduces the number of virtual function calls while GC'ing. Change 2782716 on 2015/11/30 by Steve.Robb@Dev-Core UObject serial number array initialized for debug visualization. Change 2782933 on 2015/11/30 by Steve.Robb@Dev-Core Critical sections are no longer copyable. Change 2783061 on 2015/11/30 by Steve.Robb@Dev-Core
2015-12-03 14:21:29 -05:00
, NumFrames( 0 )
, NumFramesProcessed( 0 )
, bDataPreviewing( false )
, bDataCapturing( false )
, bHasAllProfilerData( false )
, FPSAnalyzer( MakeShareable( new FFPSAnalyzer( 5, 0, 90 ) ) )
{}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3178529) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3149443 on 2016/10/03 by Max.Preussner MediaAssets: Better parameter names for MediaPlayer BP functions Change 3149756 on 2016/10/03 by Max.Chen Sequence Recorder: Set some settings to be clamped at 0 (sequence length, recording delay, audio gain, audio input buffer size, nearby actor recording proximity) #jira UE-35233 Change 3149795 on 2016/10/03 by Max.Chen Curve Editor: Set tangent to user when flattening or straightening tangents only when the tangent mode is auto and the interp mode is cubic. #jira UE-36734 Change 3150378 on 2016/10/04 by Max.Preussner PS4Media: Made video buffer sizes for file and HLS sources configurable (UE-36807) #jira UE-36807 Change 3151414 on 2016/10/05 by Max.Chen Sequencer: Fix case where restoring the last view target was getting skipped. It should always restore if the camera object and the unlock if camera actor object is null. #jira UE-35285 Change 3152038 on 2016/10/05 by Max.Preussner UdpMessaging: Code & documentation modernization pass Change 3152471 on 2016/10/05 by Max.Chen Cine Camera: Don't enable/disable actor ticking based soley on actor tracking since actor ticking is needed for other purposes. Instead, always enable actor ticking and only update actor tracking on tick if necessary. This fixes a bug where the cine camera actor won't tick if you hook in event tick. #jira UE-36625 Change 3152692 on 2016/10/05 by Max.Preussner Messaging: API code & documentation modernization pass Mostly removed shared pointer/ref typedefs as they prevent forward declarations and increase include complexity. Change 3153824 on 2016/10/06 by Max.Preussner Messaging: Renamed IConnectionBasedMessagingModule to ITcpMessagingModule and moved it into TcpMessaging I recommend that we refactor this API. The dependency should be reversed, i.e. instead of AndroidDeviceDiscovery depending on the TcpMessaging plug-in module, the Engine should provide a central registry that device discovery modules can notify, and that message transport plug-ins can register with and listen to OnConnectionAdded/Removed events etc. That way it supports an arbitrary number of transport plug-ins, and the Engine is not coupled to any of them. This functionality is not necessarily related to messaging, and the Messaging API is transport agnostic anyway. I'll think about this some more. Change 3153826 on 2016/10/06 by Max.Preussner Messaging: Removed remaining typedefs in IMessageTracer to enable forward declaration and reduce include dependencies Change 3153857 on 2016/10/06 by Max.Chen Sequencer: Set snap time to dragged key on by default. Change 3153980 on 2016/10/06 by Max.Preussner SessionServices: Removed typedefs; code and documentation modernization pass Change 3154313 on 2016/10/06 by Max.Chen Sequencer: Set the paste keys time to the current time, rather than the mouse time. Change 3154332 on 2016/10/06 by Max.Chen Sequencer: Remove click to rename shot functionality in the shot thumbnail. Added rename shot to the shot context menu. Change 3154377 on 2016/10/07 by Max.Chen Sequencer: Add ability to step to beginning and ends of sections/shots using the hotkeys: , and . Change 3154788 on 2016/10/07 by Max.Chen Sequencer: Fix offsets that created when moving multiple sections. The offsets were being created because section bounds were being generated for all sections except for the current section. Instead, they should be computed for all sections except for any that aren't being moved. #jira UE-29152 Change 3159274 on 2016/10/11 by Max.Preussner Core: Documentation fixes Change 3159275 on 2016/10/11 by Max.Preussner UdpMessaging: Added missing header Change 3160746 on 2016/10/12 by Max.Preussner MediaAssets: Added BP functions to query width, height, and aspect ratio of UMediaTexture instances #jira UE-37241 Change 3160975 on 2016/10/12 by Max.Preussner PS4Media: Better logging for SetRate failures Change 3160995 on 2016/10/12 by Max.Preussner MediaPlayerEditor: Fixed Media player selection is ignored if media specifies player overrides (UE-37248) #jira UE-37248 Change 3161066 on 2016/10/12 by Max.Preussner PS4Media: Enforcing minimum 8 byte alignment for media allocations Change 3161069 on 2016/10/12 by Max.Preussner PS4Media: Fixed log spam when setting play rate to current rate Change 3162567 on 2016/10/13 by Max.Preussner PS4Media: Made track switching code more readable Change 3163447 on 2016/10/14 by Max.Preussner PS4Media: Fixed array out of bounds assertions Change 3163772 on 2016/10/14 by Max.Preussner MfMedia: Fixed a number of timing related issues Change 3163980 on 2016/10/15 by Max.Chen Sequencer: Remove folder name numeric padding so that the naming convention is similar to creating objects in the level. Change 3164581 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure global pre-animated state is restored in reverse order Change 3164582 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure pre animated state is restored for all actor components before saving default state Change 3164583 on 2016/10/17 by Andrew.Rodham Sequencer: Re-enabled support for pre and post roll Change 3165464 on 2016/10/17 by Max.Chen Sequencer: Default number frame handles to 0 so that there's no change in behavior when rendering out a master sequence of shots. Handle frames need to enabled explicitly by the user. Copy from Release-4.14 #jira UE-37416 Change 3165483 on 2016/10/17 by Max.Chen Sequencer: Enable restore state for attach section completion Change 3165771 on 2016/10/18 by Andrew.Rodham Sequencer: Force evaluate when rendering thumbnails #jira UE-37321 Change 3166057 on 2016/10/18 by Andrew.Rodham Sequencer: Only set defaults for tracks that have no keys, and where the requested default has changed #jira UE-37285 Change 3166218 on 2016/10/18 by Max.Preussner MediaPlayerEditor: Failure opening media, even though it opened successfully (UE-37470) #jira UE-37470 Change 3166247 on 2016/10/18 by Max.Preussner WmfMedia: Showing progress bar while media is being resolved Change 3166289 on 2016/10/18 by Max.Preussner MfMedia: Showing progress bar while media is being resolved Change 3166993 on 2016/10/18 by Max.Preussner MfMedia: Fixed info string not reset on media close. Change 3166999 on 2016/10/19 by Max.Preussner Media: Fixed NV12 and NV21 support Change 3167008 on 2016/10/19 by Max.Preussner Media: Removed vertical NV12 alignment Change 3167029 on 2016/10/19 by Max.Preussner WmfMedia: Temp fix for RGB32 encoded AVIs rendering upside-down and too bright (UE-37505) #jira UE-37505 Change 3168593 on 2016/10/19 by Max.Chen Sequencer: Change paste at time to local time, so that the paste happens in the local time of the sequence rather than the global time if pasting in a shot level sequence. Change 3168626 on 2016/10/19 by Max.Chen Sequencer: Clamp to view bounds should snap to frame if frame snapping is on. Change 3168627 on 2016/10/19 by Max.Chen Sequencer: Initialize working and view range to be 10% larger than playback range. Change 3168760 on 2016/10/20 by Max.Preussner Media: Revamped media texture buffer management to support padded frames Added support for Windows bitmap buffers. Fixed a number of format, conversion and/or looping issues in WmfMedia and MfMedia. Not all shaders have been updated yet. Change 3169640 on 2016/10/20 by Max.Chen Sequencer: Add current camera to FLevelSequencePlayerSnapshot. Adjust DefaultBurnIn to include a few more parameters like focal length and focus distance. #jira UE-37407 Change 3170677 on 2016/10/21 by Max.Chen Movie Scene Capture: Add toggle to override engine scalability settings to cinematic scalability. #jira UE-36560 Change 3170710 on 2016/10/21 by Max.Preussner Media: Optimized handling of RGB input Change 3170712 on 2016/10/21 by Max.Preussner Media: Fixed NV21 conversion shader scaling Change 3170923 on 2016/10/21 by Max.Preussner UBT: Copied XboxOne project generator fix from Fortnite CL# 3170868 Change 3171494 on 2016/10/23 by Max.Chen Sequencer: Fix fbx export from master sequence not finding bound objects. #jira UE-35752 Change 3171506 on 2016/10/23 by Max.Chen Sequencer: Draw where in and out points of the shot section are, just like subsequences do. Change to only draw the green starting line if StartOffset is negative. #jira UE-35473 Change 3171743 on 2016/10/24 by Andrew.Rodham Editor: Added support for detail customizations on root structs - Also added the ability to add external struct data onto a detail category builder, and property type customization. Change 3171752 on 2016/10/24 by Andrew.Rodham Sequencer: Fixed spawnable ownership - Spawnables are no longer destroyed when the cursor leaves the master playback range. - Spawnable ownership now operates as it previously did before the evaluation rework. - bIgnoreOwnershipInEditor has been removed since its existence was a work around for when we didn't evaluate sub sequences from the master sequence. - FMovieSceneSequenceID is now a struct so that it can be used in array properties - Meta data now exists for each segment of an evaluation field. Currently this only includes the sub sequence IDs that exist at that time, but it may be expanded to include all evaluation entities (tracks + sections) in future so we don't have to calculate that at runtime. Change 3171756 on 2016/10/24 by Andrew.Rodham Sequencer: Added ability to trigger events with parameters - It's now possible to supply an event payload on event track keys which are to be passed to a given event. The structure must match the signature of the event, or a warning will be emitted. - Added a templated TGenericKeyArea, TKeyFrameManipulator and TCurveInterface that allow to generic manipulation of keyframe section data. In time we will port the other key areas over to this representation. - This new architecture affords the common manipulation of time-based keyframes in a value-agnostic manner. Change 3172935 on 2016/10/24 by Max.Preussner MediaPlayerEditor: Fixed MediaPlayer asset not being dirtied when creating media sound wave or texture for it Change 3173947 on 2016/10/25 by Max.Preussner SlateRemote: Disabled plug-in, but enabled server by default Change 3174510 on 2016/10/26 by Max.Chen Sequencer: Fix slomo track crash #jira UE-37802 Change 3174698 on 2016/10/26 by Andrew.Rodham UMG: Fixed objects bound to a panel slot animating their slot's content instead of the slot itself #jira UE-37775 Change 3174780 on 2016/10/26 by Max.Preussner MediaAssets: Accepting decoder defined buffer dimensions for RGB buffers Change 3174789 on 2016/10/26 by Max.Preussner MediaPlayerEditor: Showing desired player name instead of current player name if no media loaded Change 3174817 on 2016/10/26 by Max.Preussner WmfMedia: Added support for Motion JPEG (MJPG) Change 3174825 on 2016/10/26 by Max.Preussner WmfMedia: Added support for non-RGB32 uncompressed formats Change 3174834 on 2016/10/26 by Max.Preussner MediaPlayerAssets: Allow pausing while buffering media Change 3174886 on 2016/10/26 by Andrew.Rodham Core: Fixed range test that was testing incorrect behavior Change 3174889 on 2016/10/26 by Andrew.Rodham Sequencer: Fixed AssignActor behavior - Also ensure that cached object state is invalidated when playback context changes #jira UE-37798 Change 3174905 on 2016/10/26 by Andrew.Rodham Sequencer: Changed assert when failing to create an audio component to a log message - Audio no longer plays when GEngine->UseSound() is false #jira UE-37772 Change 3174980 on 2016/10/26 by Andrew.Rodham Sequencer: Remove warning when event endpoint could not be found for a given context #jira UE-37824 Change 3175001 on 2016/10/26 by Andrew.Rodham Sequencer: Evaluate sequence with EMovieScenePlaybackStatus::Jumping on Pause. - Also protect Pause() against reentrancy when being called from an event Change 3175012 on 2016/10/26 by Max.Chen Sequence Recorder: Fixes an empty working and view range after recording. On StopRecording() update playback range after nullifying the current sequence so that the playback range isn't empty. Added SetViewRange and SetWorkingRange. #jira UE-34191 Change 3177760 on 2016/10/28 by Max.Chen Sequence Recorder: Don't update the current sequence name if it's already set. This fixes a bug where if you pass in a sequence name to record to, it gets reset to the name in the sequence recorder settings. #jira UE-37808 Change 3178529 on 2016/10/28 by Max.Chen Matinee to Level Sequence: Added interface to extend the matinee to level sequence converter #jira UE-37328 #2864 [CL 3178562 by Max Chen in Main branch]
2016-10-28 15:04:38 -04:00
FProfilerSession::FProfilerSession( const TSharedPtr<ISessionInstanceInfo>& InSessionInstanceInfo )
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2783106 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Introduced GC UObject clusters. GC clusters provide means to create disregard for GC subsets at load time (e.g. Materials with material expressions and their textures). - Saves about 25ms in reachability analysis (58ms -> 33ms) - UObject classes/instances can now be marked as cluster root objects with CanBeClusterRoot() function override. - Cluster creation is automatic. Clusters don't require any manual handling for GC to collect them when nothing is referencing them. - Moved token stream processing to a new class FFastReferenceFinder to make it more generic and re-usable by other code - Removed REFERENCE_INFO macro from GC code and replaced it with a local variable (saves about ~1.9ms: 33.2ms -> 31.3ms) Change 2773094 on 2015/11/19 by Steve.Robb@Dev-Core Multicast script delegate check for existing bindings replaced with ensure. Multicast native delegate no longer checks for existing bindings. Removal of old delegate code. Some FORCEINLINEing to improve debugging experience of stepping into delegate code. Change 2782180 on 2015/11/27 by Graeme.Thornton@GThornton_DesktopMaster Make scoped seconds timer class available outside of stats build. Normal usage macros still remain guarded Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE which only times during the outmost instance of a recursive function Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE_BASE and SCOPE_SECONDS_COUNTER_BASE which are defined in all build types, for easy temporary timing in Test/Shipping builds. Added a boolean parameter to the timer class which can be used to disable it without having to mess around with scoping the calling code Change 2782635 on 2015/11/30 by Graeme.Thornton@GThornton_DesktopMaster Added GetTimeStampPair() to the filemanager and platformfile interfaces. Requests timestamps for a pair of files where we assume that both files would always exist at the same wrapper level. Allows us to skip file system queries for localization package lookups where the native file is in a pak but the localized file doesn't exist. Change 2775153 on 2015/11/20 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec CrashReportServer moved out of the not for licencees, a few fixes, removed RegisterPII Change 2775560 on 2015/11/20 by Steve.Robb@Dev-Core FDelegateBase::GetDelegateInstance deprecated and replaced with FDelegateBase::GetDelegateInstanceProtected. Change 2781138 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Converted is using a new stats reader, a few more optimizations, should be 10x times faster Change 2772990 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Fixing potential dead lock when suspending and resuming async loading multiple times Change 2773023 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Support for references added through AddReferencedObjects in FArchiveReplaceObjectRef Change 2781055 on 2015/11/25 by Steve.Robb@Dev-Core Changes to IDelegateInstance reverted to allow licensees an easier time when upgrading their use of the now-deprecated GetDelegateInstance() code path. New TryGetBoundFunctionName() to aid the debugging of delegate bindings in non-shipping configs. Change 2773114 on 2015/11/19 by Steve.Robb@Dev-Core FMath::IsPowerOfTwo is now templated to take any type. Change 2773643 on 2015/11/19 by Steve.Robb@Dev-Core GetDelegateInstance() calls replaced - delegate instances never compare equal unless you are comparing two unbound delegates (both null) or comparing a delegate with itself. Change 2777686 on 2015/11/23 by Steve.Robb@Dev-Core GitHub #1793 - File write flags argument Change 2780590 on 2015/11/25 by Steve.Robb@Dev-Core Fix for FArchiveProxy::operator<< overloads. Change 2780845 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec #jira UE-23358 - MDD relies on hard-coded P4 depot paths (fixed source context for streams) Change 2780962 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Added FStatsWriteStream for basic saving stat messages into a stream, initial support for reading a regular stats file, minor performance optimization, coding standard fixes #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781887 on 2015/11/26 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler/ProfilerClient - Removed unneeded synchronization points, replaces with task graph SendTo jobs, removed PROFILER_THREADED_LOAD, replaced with new stats loading mechanism, should be around 2x times faster (4x since the optimization pass) #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781893 on 2015/11/26 by Steve.Robb@Dev-Core TCachedOSPageAllocator abstracted from MallocBinned2. Misc tidy-ups. Change 2782198 on 2015/11/27 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Better indication of the loading progress, should no longer freeze without a progress bar #jira UECORE-170 - Improve profiler loading performance (wip) Change 2782446 on 2015/11/29 by Steve.Robb@Dev-Core Warn when calling delegates' Create* functions when they're not assigned to anything. #codereview robert.manuszewski Change 2782538 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 #UE4 Removed DiskCachedAssetDataBuffer as it was not strictly necessary and was triggering a crash when loading the cached registry from disk. This data is now stored directly in DiskCachedAssetDataMap. It was already true that this map does not change outside of SerializeCache but now it is critical since NewCachedAssetDataMap keeps pointers directly to its values. Asset registry fixes by Bob Tellez. Possible fix for UE-23783. Change 2782564 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 FReferenceCollector::AddReferenceObjects performance improvements for TArrays. ARO will no longer call HandleObjectReference multiple times but instead will call HandleObjectReferences just once (currently only implemented for FGCCollector). Reduces the number of virtual function calls while GC'ing. Change 2782716 on 2015/11/30 by Steve.Robb@Dev-Core UObject serial number array initialized for debug visualization. Change 2782933 on 2015/11/30 by Steve.Robb@Dev-Core Critical sections are no longer copyable. Change 2783061 on 2015/11/30 by Steve.Robb@Dev-Core
2015-12-03 14:21:29 -05:00
: bRequestStatMetadataUpdate( false )
, bLastPacket( false )
, StatMetaDataSize( 0 )
, OnTick( FTickerDelegate::CreateRaw( this, &FProfilerSession::HandleTicker ) )
, DataProvider( MakeShareable( new FArrayDataProvider() ) )
, StatMetaData( MakeShareable( new FProfilerStatMetaData() ) )
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2783106 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Introduced GC UObject clusters. GC clusters provide means to create disregard for GC subsets at load time (e.g. Materials with material expressions and their textures). - Saves about 25ms in reachability analysis (58ms -> 33ms) - UObject classes/instances can now be marked as cluster root objects with CanBeClusterRoot() function override. - Cluster creation is automatic. Clusters don't require any manual handling for GC to collect them when nothing is referencing them. - Moved token stream processing to a new class FFastReferenceFinder to make it more generic and re-usable by other code - Removed REFERENCE_INFO macro from GC code and replaced it with a local variable (saves about ~1.9ms: 33.2ms -> 31.3ms) Change 2773094 on 2015/11/19 by Steve.Robb@Dev-Core Multicast script delegate check for existing bindings replaced with ensure. Multicast native delegate no longer checks for existing bindings. Removal of old delegate code. Some FORCEINLINEing to improve debugging experience of stepping into delegate code. Change 2782180 on 2015/11/27 by Graeme.Thornton@GThornton_DesktopMaster Make scoped seconds timer class available outside of stats build. Normal usage macros still remain guarded Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE which only times during the outmost instance of a recursive function Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE_BASE and SCOPE_SECONDS_COUNTER_BASE which are defined in all build types, for easy temporary timing in Test/Shipping builds. Added a boolean parameter to the timer class which can be used to disable it without having to mess around with scoping the calling code Change 2782635 on 2015/11/30 by Graeme.Thornton@GThornton_DesktopMaster Added GetTimeStampPair() to the filemanager and platformfile interfaces. Requests timestamps for a pair of files where we assume that both files would always exist at the same wrapper level. Allows us to skip file system queries for localization package lookups where the native file is in a pak but the localized file doesn't exist. Change 2775153 on 2015/11/20 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec CrashReportServer moved out of the not for licencees, a few fixes, removed RegisterPII Change 2775560 on 2015/11/20 by Steve.Robb@Dev-Core FDelegateBase::GetDelegateInstance deprecated and replaced with FDelegateBase::GetDelegateInstanceProtected. Change 2781138 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Converted is using a new stats reader, a few more optimizations, should be 10x times faster Change 2772990 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Fixing potential dead lock when suspending and resuming async loading multiple times Change 2773023 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Support for references added through AddReferencedObjects in FArchiveReplaceObjectRef Change 2781055 on 2015/11/25 by Steve.Robb@Dev-Core Changes to IDelegateInstance reverted to allow licensees an easier time when upgrading their use of the now-deprecated GetDelegateInstance() code path. New TryGetBoundFunctionName() to aid the debugging of delegate bindings in non-shipping configs. Change 2773114 on 2015/11/19 by Steve.Robb@Dev-Core FMath::IsPowerOfTwo is now templated to take any type. Change 2773643 on 2015/11/19 by Steve.Robb@Dev-Core GetDelegateInstance() calls replaced - delegate instances never compare equal unless you are comparing two unbound delegates (both null) or comparing a delegate with itself. Change 2777686 on 2015/11/23 by Steve.Robb@Dev-Core GitHub #1793 - File write flags argument Change 2780590 on 2015/11/25 by Steve.Robb@Dev-Core Fix for FArchiveProxy::operator<< overloads. Change 2780845 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec #jira UE-23358 - MDD relies on hard-coded P4 depot paths (fixed source context for streams) Change 2780962 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Added FStatsWriteStream for basic saving stat messages into a stream, initial support for reading a regular stats file, minor performance optimization, coding standard fixes #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781887 on 2015/11/26 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler/ProfilerClient - Removed unneeded synchronization points, replaces with task graph SendTo jobs, removed PROFILER_THREADED_LOAD, replaced with new stats loading mechanism, should be around 2x times faster (4x since the optimization pass) #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781893 on 2015/11/26 by Steve.Robb@Dev-Core TCachedOSPageAllocator abstracted from MallocBinned2. Misc tidy-ups. Change 2782198 on 2015/11/27 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Better indication of the loading progress, should no longer freeze without a progress bar #jira UECORE-170 - Improve profiler loading performance (wip) Change 2782446 on 2015/11/29 by Steve.Robb@Dev-Core Warn when calling delegates' Create* functions when they're not assigned to anything. #codereview robert.manuszewski Change 2782538 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 #UE4 Removed DiskCachedAssetDataBuffer as it was not strictly necessary and was triggering a crash when loading the cached registry from disk. This data is now stored directly in DiskCachedAssetDataMap. It was already true that this map does not change outside of SerializeCache but now it is critical since NewCachedAssetDataMap keeps pointers directly to its values. Asset registry fixes by Bob Tellez. Possible fix for UE-23783. Change 2782564 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 FReferenceCollector::AddReferenceObjects performance improvements for TArrays. ARO will no longer call HandleObjectReference multiple times but instead will call HandleObjectReferences just once (currently only implemented for FGCCollector). Reduces the number of virtual function calls while GC'ing. Change 2782716 on 2015/11/30 by Steve.Robb@Dev-Core UObject serial number array initialized for debug visualization. Change 2782933 on 2015/11/30 by Steve.Robb@Dev-Core Critical sections are no longer copyable. Change 2783061 on 2015/11/30 by Steve.Robb@Dev-Core
2015-12-03 14:21:29 -05:00
, EventGraphDataCurrent( nullptr )
, CreationTime( FDateTime::Now() )
, SessionType( EProfilerSessionTypes::Live )
, SessionInstanceInfo( InSessionInstanceInfo )
, SessionInstanceID( InSessionInstanceInfo->GetInstanceId() )
, DataFilepath( TEXT("") )
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2783106 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Introduced GC UObject clusters. GC clusters provide means to create disregard for GC subsets at load time (e.g. Materials with material expressions and their textures). - Saves about 25ms in reachability analysis (58ms -> 33ms) - UObject classes/instances can now be marked as cluster root objects with CanBeClusterRoot() function override. - Cluster creation is automatic. Clusters don't require any manual handling for GC to collect them when nothing is referencing them. - Moved token stream processing to a new class FFastReferenceFinder to make it more generic and re-usable by other code - Removed REFERENCE_INFO macro from GC code and replaced it with a local variable (saves about ~1.9ms: 33.2ms -> 31.3ms) Change 2773094 on 2015/11/19 by Steve.Robb@Dev-Core Multicast script delegate check for existing bindings replaced with ensure. Multicast native delegate no longer checks for existing bindings. Removal of old delegate code. Some FORCEINLINEing to improve debugging experience of stepping into delegate code. Change 2782180 on 2015/11/27 by Graeme.Thornton@GThornton_DesktopMaster Make scoped seconds timer class available outside of stats build. Normal usage macros still remain guarded Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE which only times during the outmost instance of a recursive function Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE_BASE and SCOPE_SECONDS_COUNTER_BASE which are defined in all build types, for easy temporary timing in Test/Shipping builds. Added a boolean parameter to the timer class which can be used to disable it without having to mess around with scoping the calling code Change 2782635 on 2015/11/30 by Graeme.Thornton@GThornton_DesktopMaster Added GetTimeStampPair() to the filemanager and platformfile interfaces. Requests timestamps for a pair of files where we assume that both files would always exist at the same wrapper level. Allows us to skip file system queries for localization package lookups where the native file is in a pak but the localized file doesn't exist. Change 2775153 on 2015/11/20 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec CrashReportServer moved out of the not for licencees, a few fixes, removed RegisterPII Change 2775560 on 2015/11/20 by Steve.Robb@Dev-Core FDelegateBase::GetDelegateInstance deprecated and replaced with FDelegateBase::GetDelegateInstanceProtected. Change 2781138 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Converted is using a new stats reader, a few more optimizations, should be 10x times faster Change 2772990 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Fixing potential dead lock when suspending and resuming async loading multiple times Change 2773023 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Support for references added through AddReferencedObjects in FArchiveReplaceObjectRef Change 2781055 on 2015/11/25 by Steve.Robb@Dev-Core Changes to IDelegateInstance reverted to allow licensees an easier time when upgrading their use of the now-deprecated GetDelegateInstance() code path. New TryGetBoundFunctionName() to aid the debugging of delegate bindings in non-shipping configs. Change 2773114 on 2015/11/19 by Steve.Robb@Dev-Core FMath::IsPowerOfTwo is now templated to take any type. Change 2773643 on 2015/11/19 by Steve.Robb@Dev-Core GetDelegateInstance() calls replaced - delegate instances never compare equal unless you are comparing two unbound delegates (both null) or comparing a delegate with itself. Change 2777686 on 2015/11/23 by Steve.Robb@Dev-Core GitHub #1793 - File write flags argument Change 2780590 on 2015/11/25 by Steve.Robb@Dev-Core Fix for FArchiveProxy::operator<< overloads. Change 2780845 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec #jira UE-23358 - MDD relies on hard-coded P4 depot paths (fixed source context for streams) Change 2780962 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Added FStatsWriteStream for basic saving stat messages into a stream, initial support for reading a regular stats file, minor performance optimization, coding standard fixes #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781887 on 2015/11/26 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler/ProfilerClient - Removed unneeded synchronization points, replaces with task graph SendTo jobs, removed PROFILER_THREADED_LOAD, replaced with new stats loading mechanism, should be around 2x times faster (4x since the optimization pass) #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781893 on 2015/11/26 by Steve.Robb@Dev-Core TCachedOSPageAllocator abstracted from MallocBinned2. Misc tidy-ups. Change 2782198 on 2015/11/27 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Better indication of the loading progress, should no longer freeze without a progress bar #jira UECORE-170 - Improve profiler loading performance (wip) Change 2782446 on 2015/11/29 by Steve.Robb@Dev-Core Warn when calling delegates' Create* functions when they're not assigned to anything. #codereview robert.manuszewski Change 2782538 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 #UE4 Removed DiskCachedAssetDataBuffer as it was not strictly necessary and was triggering a crash when loading the cached registry from disk. This data is now stored directly in DiskCachedAssetDataMap. It was already true that this map does not change outside of SerializeCache but now it is critical since NewCachedAssetDataMap keeps pointers directly to its values. Asset registry fixes by Bob Tellez. Possible fix for UE-23783. Change 2782564 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 FReferenceCollector::AddReferenceObjects performance improvements for TArrays. ARO will no longer call HandleObjectReference multiple times but instead will call HandleObjectReferences just once (currently only implemented for FGCCollector). Reduces the number of virtual function calls while GC'ing. Change 2782716 on 2015/11/30 by Steve.Robb@Dev-Core UObject serial number array initialized for debug visualization. Change 2782933 on 2015/11/30 by Steve.Robb@Dev-Core Critical sections are no longer copyable. Change 2783061 on 2015/11/30 by Steve.Robb@Dev-Core
2015-12-03 14:21:29 -05:00
, NumFrames( 0 )
, NumFramesProcessed( 0 )
, bDataPreviewing( false )
, bDataCapturing( false )
, bHasAllProfilerData( false )
, FPSAnalyzer( MakeShareable( new FFPSAnalyzer( 5, 0, 90 ) ) )
{
// Randomize creation time to test loading profiler captures with different creation time and different amount of data.
CreationTime = FDateTime::Now() += FTimespan( 0, 0, FMath::RandRange( 2, 8 ) );
OnTickHandle = FTSTicker::GetCoreTicker().AddTicker( OnTick );
}
FProfilerSession::FProfilerSession( const FString& InDataFilepath )
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2783106 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Introduced GC UObject clusters. GC clusters provide means to create disregard for GC subsets at load time (e.g. Materials with material expressions and their textures). - Saves about 25ms in reachability analysis (58ms -> 33ms) - UObject classes/instances can now be marked as cluster root objects with CanBeClusterRoot() function override. - Cluster creation is automatic. Clusters don't require any manual handling for GC to collect them when nothing is referencing them. - Moved token stream processing to a new class FFastReferenceFinder to make it more generic and re-usable by other code - Removed REFERENCE_INFO macro from GC code and replaced it with a local variable (saves about ~1.9ms: 33.2ms -> 31.3ms) Change 2773094 on 2015/11/19 by Steve.Robb@Dev-Core Multicast script delegate check for existing bindings replaced with ensure. Multicast native delegate no longer checks for existing bindings. Removal of old delegate code. Some FORCEINLINEing to improve debugging experience of stepping into delegate code. Change 2782180 on 2015/11/27 by Graeme.Thornton@GThornton_DesktopMaster Make scoped seconds timer class available outside of stats build. Normal usage macros still remain guarded Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE which only times during the outmost instance of a recursive function Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE_BASE and SCOPE_SECONDS_COUNTER_BASE which are defined in all build types, for easy temporary timing in Test/Shipping builds. Added a boolean parameter to the timer class which can be used to disable it without having to mess around with scoping the calling code Change 2782635 on 2015/11/30 by Graeme.Thornton@GThornton_DesktopMaster Added GetTimeStampPair() to the filemanager and platformfile interfaces. Requests timestamps for a pair of files where we assume that both files would always exist at the same wrapper level. Allows us to skip file system queries for localization package lookups where the native file is in a pak but the localized file doesn't exist. Change 2775153 on 2015/11/20 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec CrashReportServer moved out of the not for licencees, a few fixes, removed RegisterPII Change 2775560 on 2015/11/20 by Steve.Robb@Dev-Core FDelegateBase::GetDelegateInstance deprecated and replaced with FDelegateBase::GetDelegateInstanceProtected. Change 2781138 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Converted is using a new stats reader, a few more optimizations, should be 10x times faster Change 2772990 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Fixing potential dead lock when suspending and resuming async loading multiple times Change 2773023 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Support for references added through AddReferencedObjects in FArchiveReplaceObjectRef Change 2781055 on 2015/11/25 by Steve.Robb@Dev-Core Changes to IDelegateInstance reverted to allow licensees an easier time when upgrading their use of the now-deprecated GetDelegateInstance() code path. New TryGetBoundFunctionName() to aid the debugging of delegate bindings in non-shipping configs. Change 2773114 on 2015/11/19 by Steve.Robb@Dev-Core FMath::IsPowerOfTwo is now templated to take any type. Change 2773643 on 2015/11/19 by Steve.Robb@Dev-Core GetDelegateInstance() calls replaced - delegate instances never compare equal unless you are comparing two unbound delegates (both null) or comparing a delegate with itself. Change 2777686 on 2015/11/23 by Steve.Robb@Dev-Core GitHub #1793 - File write flags argument Change 2780590 on 2015/11/25 by Steve.Robb@Dev-Core Fix for FArchiveProxy::operator<< overloads. Change 2780845 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec #jira UE-23358 - MDD relies on hard-coded P4 depot paths (fixed source context for streams) Change 2780962 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Added FStatsWriteStream for basic saving stat messages into a stream, initial support for reading a regular stats file, minor performance optimization, coding standard fixes #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781887 on 2015/11/26 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler/ProfilerClient - Removed unneeded synchronization points, replaces with task graph SendTo jobs, removed PROFILER_THREADED_LOAD, replaced with new stats loading mechanism, should be around 2x times faster (4x since the optimization pass) #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781893 on 2015/11/26 by Steve.Robb@Dev-Core TCachedOSPageAllocator abstracted from MallocBinned2. Misc tidy-ups. Change 2782198 on 2015/11/27 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Better indication of the loading progress, should no longer freeze without a progress bar #jira UECORE-170 - Improve profiler loading performance (wip) Change 2782446 on 2015/11/29 by Steve.Robb@Dev-Core Warn when calling delegates' Create* functions when they're not assigned to anything. #codereview robert.manuszewski Change 2782538 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 #UE4 Removed DiskCachedAssetDataBuffer as it was not strictly necessary and was triggering a crash when loading the cached registry from disk. This data is now stored directly in DiskCachedAssetDataMap. It was already true that this map does not change outside of SerializeCache but now it is critical since NewCachedAssetDataMap keeps pointers directly to its values. Asset registry fixes by Bob Tellez. Possible fix for UE-23783. Change 2782564 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 FReferenceCollector::AddReferenceObjects performance improvements for TArrays. ARO will no longer call HandleObjectReference multiple times but instead will call HandleObjectReferences just once (currently only implemented for FGCCollector). Reduces the number of virtual function calls while GC'ing. Change 2782716 on 2015/11/30 by Steve.Robb@Dev-Core UObject serial number array initialized for debug visualization. Change 2782933 on 2015/11/30 by Steve.Robb@Dev-Core Critical sections are no longer copyable. Change 2783061 on 2015/11/30 by Steve.Robb@Dev-Core
2015-12-03 14:21:29 -05:00
: bRequestStatMetadataUpdate( false )
, bLastPacket( false )
, StatMetaDataSize( 0 )
, OnTick( FTickerDelegate::CreateRaw( this, &FProfilerSession::HandleTicker ) )
, DataProvider( MakeShareable( new FArrayDataProvider() ) )
, StatMetaData( MakeShareable( new FProfilerStatMetaData() ) )
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2783106 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Introduced GC UObject clusters. GC clusters provide means to create disregard for GC subsets at load time (e.g. Materials with material expressions and their textures). - Saves about 25ms in reachability analysis (58ms -> 33ms) - UObject classes/instances can now be marked as cluster root objects with CanBeClusterRoot() function override. - Cluster creation is automatic. Clusters don't require any manual handling for GC to collect them when nothing is referencing them. - Moved token stream processing to a new class FFastReferenceFinder to make it more generic and re-usable by other code - Removed REFERENCE_INFO macro from GC code and replaced it with a local variable (saves about ~1.9ms: 33.2ms -> 31.3ms) Change 2773094 on 2015/11/19 by Steve.Robb@Dev-Core Multicast script delegate check for existing bindings replaced with ensure. Multicast native delegate no longer checks for existing bindings. Removal of old delegate code. Some FORCEINLINEing to improve debugging experience of stepping into delegate code. Change 2782180 on 2015/11/27 by Graeme.Thornton@GThornton_DesktopMaster Make scoped seconds timer class available outside of stats build. Normal usage macros still remain guarded Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE which only times during the outmost instance of a recursive function Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE_BASE and SCOPE_SECONDS_COUNTER_BASE which are defined in all build types, for easy temporary timing in Test/Shipping builds. Added a boolean parameter to the timer class which can be used to disable it without having to mess around with scoping the calling code Change 2782635 on 2015/11/30 by Graeme.Thornton@GThornton_DesktopMaster Added GetTimeStampPair() to the filemanager and platformfile interfaces. Requests timestamps for a pair of files where we assume that both files would always exist at the same wrapper level. Allows us to skip file system queries for localization package lookups where the native file is in a pak but the localized file doesn't exist. Change 2775153 on 2015/11/20 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec CrashReportServer moved out of the not for licencees, a few fixes, removed RegisterPII Change 2775560 on 2015/11/20 by Steve.Robb@Dev-Core FDelegateBase::GetDelegateInstance deprecated and replaced with FDelegateBase::GetDelegateInstanceProtected. Change 2781138 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Converted is using a new stats reader, a few more optimizations, should be 10x times faster Change 2772990 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Fixing potential dead lock when suspending and resuming async loading multiple times Change 2773023 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Support for references added through AddReferencedObjects in FArchiveReplaceObjectRef Change 2781055 on 2015/11/25 by Steve.Robb@Dev-Core Changes to IDelegateInstance reverted to allow licensees an easier time when upgrading their use of the now-deprecated GetDelegateInstance() code path. New TryGetBoundFunctionName() to aid the debugging of delegate bindings in non-shipping configs. Change 2773114 on 2015/11/19 by Steve.Robb@Dev-Core FMath::IsPowerOfTwo is now templated to take any type. Change 2773643 on 2015/11/19 by Steve.Robb@Dev-Core GetDelegateInstance() calls replaced - delegate instances never compare equal unless you are comparing two unbound delegates (both null) or comparing a delegate with itself. Change 2777686 on 2015/11/23 by Steve.Robb@Dev-Core GitHub #1793 - File write flags argument Change 2780590 on 2015/11/25 by Steve.Robb@Dev-Core Fix for FArchiveProxy::operator<< overloads. Change 2780845 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec #jira UE-23358 - MDD relies on hard-coded P4 depot paths (fixed source context for streams) Change 2780962 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Added FStatsWriteStream for basic saving stat messages into a stream, initial support for reading a regular stats file, minor performance optimization, coding standard fixes #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781887 on 2015/11/26 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler/ProfilerClient - Removed unneeded synchronization points, replaces with task graph SendTo jobs, removed PROFILER_THREADED_LOAD, replaced with new stats loading mechanism, should be around 2x times faster (4x since the optimization pass) #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781893 on 2015/11/26 by Steve.Robb@Dev-Core TCachedOSPageAllocator abstracted from MallocBinned2. Misc tidy-ups. Change 2782198 on 2015/11/27 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Better indication of the loading progress, should no longer freeze without a progress bar #jira UECORE-170 - Improve profiler loading performance (wip) Change 2782446 on 2015/11/29 by Steve.Robb@Dev-Core Warn when calling delegates' Create* functions when they're not assigned to anything. #codereview robert.manuszewski Change 2782538 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 #UE4 Removed DiskCachedAssetDataBuffer as it was not strictly necessary and was triggering a crash when loading the cached registry from disk. This data is now stored directly in DiskCachedAssetDataMap. It was already true that this map does not change outside of SerializeCache but now it is critical since NewCachedAssetDataMap keeps pointers directly to its values. Asset registry fixes by Bob Tellez. Possible fix for UE-23783. Change 2782564 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 FReferenceCollector::AddReferenceObjects performance improvements for TArrays. ARO will no longer call HandleObjectReference multiple times but instead will call HandleObjectReferences just once (currently only implemented for FGCCollector). Reduces the number of virtual function calls while GC'ing. Change 2782716 on 2015/11/30 by Steve.Robb@Dev-Core UObject serial number array initialized for debug visualization. Change 2782933 on 2015/11/30 by Steve.Robb@Dev-Core Critical sections are no longer copyable. Change 2783061 on 2015/11/30 by Steve.Robb@Dev-Core
2015-12-03 14:21:29 -05:00
, EventGraphDataCurrent( nullptr )
, CreationTime( FDateTime::Now() )
, SessionType( EProfilerSessionTypes::StatsFile )
, SessionInstanceInfo( nullptr )
, SessionInstanceID( FGuid::NewGuid() )
, DataFilepath( InDataFilepath.Replace( *FStatConstants::StatsFileExtension, TEXT( "" ) ) )
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2783106 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Introduced GC UObject clusters. GC clusters provide means to create disregard for GC subsets at load time (e.g. Materials with material expressions and their textures). - Saves about 25ms in reachability analysis (58ms -> 33ms) - UObject classes/instances can now be marked as cluster root objects with CanBeClusterRoot() function override. - Cluster creation is automatic. Clusters don't require any manual handling for GC to collect them when nothing is referencing them. - Moved token stream processing to a new class FFastReferenceFinder to make it more generic and re-usable by other code - Removed REFERENCE_INFO macro from GC code and replaced it with a local variable (saves about ~1.9ms: 33.2ms -> 31.3ms) Change 2773094 on 2015/11/19 by Steve.Robb@Dev-Core Multicast script delegate check for existing bindings replaced with ensure. Multicast native delegate no longer checks for existing bindings. Removal of old delegate code. Some FORCEINLINEing to improve debugging experience of stepping into delegate code. Change 2782180 on 2015/11/27 by Graeme.Thornton@GThornton_DesktopMaster Make scoped seconds timer class available outside of stats build. Normal usage macros still remain guarded Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE which only times during the outmost instance of a recursive function Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE_BASE and SCOPE_SECONDS_COUNTER_BASE which are defined in all build types, for easy temporary timing in Test/Shipping builds. Added a boolean parameter to the timer class which can be used to disable it without having to mess around with scoping the calling code Change 2782635 on 2015/11/30 by Graeme.Thornton@GThornton_DesktopMaster Added GetTimeStampPair() to the filemanager and platformfile interfaces. Requests timestamps for a pair of files where we assume that both files would always exist at the same wrapper level. Allows us to skip file system queries for localization package lookups where the native file is in a pak but the localized file doesn't exist. Change 2775153 on 2015/11/20 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec CrashReportServer moved out of the not for licencees, a few fixes, removed RegisterPII Change 2775560 on 2015/11/20 by Steve.Robb@Dev-Core FDelegateBase::GetDelegateInstance deprecated and replaced with FDelegateBase::GetDelegateInstanceProtected. Change 2781138 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Converted is using a new stats reader, a few more optimizations, should be 10x times faster Change 2772990 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Fixing potential dead lock when suspending and resuming async loading multiple times Change 2773023 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Support for references added through AddReferencedObjects in FArchiveReplaceObjectRef Change 2781055 on 2015/11/25 by Steve.Robb@Dev-Core Changes to IDelegateInstance reverted to allow licensees an easier time when upgrading their use of the now-deprecated GetDelegateInstance() code path. New TryGetBoundFunctionName() to aid the debugging of delegate bindings in non-shipping configs. Change 2773114 on 2015/11/19 by Steve.Robb@Dev-Core FMath::IsPowerOfTwo is now templated to take any type. Change 2773643 on 2015/11/19 by Steve.Robb@Dev-Core GetDelegateInstance() calls replaced - delegate instances never compare equal unless you are comparing two unbound delegates (both null) or comparing a delegate with itself. Change 2777686 on 2015/11/23 by Steve.Robb@Dev-Core GitHub #1793 - File write flags argument Change 2780590 on 2015/11/25 by Steve.Robb@Dev-Core Fix for FArchiveProxy::operator<< overloads. Change 2780845 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec #jira UE-23358 - MDD relies on hard-coded P4 depot paths (fixed source context for streams) Change 2780962 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Added FStatsWriteStream for basic saving stat messages into a stream, initial support for reading a regular stats file, minor performance optimization, coding standard fixes #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781887 on 2015/11/26 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler/ProfilerClient - Removed unneeded synchronization points, replaces with task graph SendTo jobs, removed PROFILER_THREADED_LOAD, replaced with new stats loading mechanism, should be around 2x times faster (4x since the optimization pass) #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781893 on 2015/11/26 by Steve.Robb@Dev-Core TCachedOSPageAllocator abstracted from MallocBinned2. Misc tidy-ups. Change 2782198 on 2015/11/27 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Better indication of the loading progress, should no longer freeze without a progress bar #jira UECORE-170 - Improve profiler loading performance (wip) Change 2782446 on 2015/11/29 by Steve.Robb@Dev-Core Warn when calling delegates' Create* functions when they're not assigned to anything. #codereview robert.manuszewski Change 2782538 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 #UE4 Removed DiskCachedAssetDataBuffer as it was not strictly necessary and was triggering a crash when loading the cached registry from disk. This data is now stored directly in DiskCachedAssetDataMap. It was already true that this map does not change outside of SerializeCache but now it is critical since NewCachedAssetDataMap keeps pointers directly to its values. Asset registry fixes by Bob Tellez. Possible fix for UE-23783. Change 2782564 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 FReferenceCollector::AddReferenceObjects performance improvements for TArrays. ARO will no longer call HandleObjectReference multiple times but instead will call HandleObjectReferences just once (currently only implemented for FGCCollector). Reduces the number of virtual function calls while GC'ing. Change 2782716 on 2015/11/30 by Steve.Robb@Dev-Core UObject serial number array initialized for debug visualization. Change 2782933 on 2015/11/30 by Steve.Robb@Dev-Core Critical sections are no longer copyable. Change 2783061 on 2015/11/30 by Steve.Robb@Dev-Core
2015-12-03 14:21:29 -05:00
, NumFrames( 0 )
, NumFramesProcessed( 0 )
, bDataPreviewing( false )
, bDataCapturing( false )
, bHasAllProfilerData( false )
, FPSAnalyzer( MakeShareable( new FFPSAnalyzer( 5, 0, 90 ) ) )
{
// Randomize creation time to test loading profiler captures with different creation time and different amount of data.
CreationTime = FDateTime::Now() += FTimespan( 0, 0, FMath::RandRange( 2, 8 ) );
OnTickHandle = FTSTicker::GetCoreTicker().AddTicker( OnTick );
}
FProfilerSession::~FProfilerSession()
{
FTSTicker::GetCoreTicker().RemoveTicker( OnTickHandle );
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3178529) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3149443 on 2016/10/03 by Max.Preussner MediaAssets: Better parameter names for MediaPlayer BP functions Change 3149756 on 2016/10/03 by Max.Chen Sequence Recorder: Set some settings to be clamped at 0 (sequence length, recording delay, audio gain, audio input buffer size, nearby actor recording proximity) #jira UE-35233 Change 3149795 on 2016/10/03 by Max.Chen Curve Editor: Set tangent to user when flattening or straightening tangents only when the tangent mode is auto and the interp mode is cubic. #jira UE-36734 Change 3150378 on 2016/10/04 by Max.Preussner PS4Media: Made video buffer sizes for file and HLS sources configurable (UE-36807) #jira UE-36807 Change 3151414 on 2016/10/05 by Max.Chen Sequencer: Fix case where restoring the last view target was getting skipped. It should always restore if the camera object and the unlock if camera actor object is null. #jira UE-35285 Change 3152038 on 2016/10/05 by Max.Preussner UdpMessaging: Code & documentation modernization pass Change 3152471 on 2016/10/05 by Max.Chen Cine Camera: Don't enable/disable actor ticking based soley on actor tracking since actor ticking is needed for other purposes. Instead, always enable actor ticking and only update actor tracking on tick if necessary. This fixes a bug where the cine camera actor won't tick if you hook in event tick. #jira UE-36625 Change 3152692 on 2016/10/05 by Max.Preussner Messaging: API code & documentation modernization pass Mostly removed shared pointer/ref typedefs as they prevent forward declarations and increase include complexity. Change 3153824 on 2016/10/06 by Max.Preussner Messaging: Renamed IConnectionBasedMessagingModule to ITcpMessagingModule and moved it into TcpMessaging I recommend that we refactor this API. The dependency should be reversed, i.e. instead of AndroidDeviceDiscovery depending on the TcpMessaging plug-in module, the Engine should provide a central registry that device discovery modules can notify, and that message transport plug-ins can register with and listen to OnConnectionAdded/Removed events etc. That way it supports an arbitrary number of transport plug-ins, and the Engine is not coupled to any of them. This functionality is not necessarily related to messaging, and the Messaging API is transport agnostic anyway. I'll think about this some more. Change 3153826 on 2016/10/06 by Max.Preussner Messaging: Removed remaining typedefs in IMessageTracer to enable forward declaration and reduce include dependencies Change 3153857 on 2016/10/06 by Max.Chen Sequencer: Set snap time to dragged key on by default. Change 3153980 on 2016/10/06 by Max.Preussner SessionServices: Removed typedefs; code and documentation modernization pass Change 3154313 on 2016/10/06 by Max.Chen Sequencer: Set the paste keys time to the current time, rather than the mouse time. Change 3154332 on 2016/10/06 by Max.Chen Sequencer: Remove click to rename shot functionality in the shot thumbnail. Added rename shot to the shot context menu. Change 3154377 on 2016/10/07 by Max.Chen Sequencer: Add ability to step to beginning and ends of sections/shots using the hotkeys: , and . Change 3154788 on 2016/10/07 by Max.Chen Sequencer: Fix offsets that created when moving multiple sections. The offsets were being created because section bounds were being generated for all sections except for the current section. Instead, they should be computed for all sections except for any that aren't being moved. #jira UE-29152 Change 3159274 on 2016/10/11 by Max.Preussner Core: Documentation fixes Change 3159275 on 2016/10/11 by Max.Preussner UdpMessaging: Added missing header Change 3160746 on 2016/10/12 by Max.Preussner MediaAssets: Added BP functions to query width, height, and aspect ratio of UMediaTexture instances #jira UE-37241 Change 3160975 on 2016/10/12 by Max.Preussner PS4Media: Better logging for SetRate failures Change 3160995 on 2016/10/12 by Max.Preussner MediaPlayerEditor: Fixed Media player selection is ignored if media specifies player overrides (UE-37248) #jira UE-37248 Change 3161066 on 2016/10/12 by Max.Preussner PS4Media: Enforcing minimum 8 byte alignment for media allocations Change 3161069 on 2016/10/12 by Max.Preussner PS4Media: Fixed log spam when setting play rate to current rate Change 3162567 on 2016/10/13 by Max.Preussner PS4Media: Made track switching code more readable Change 3163447 on 2016/10/14 by Max.Preussner PS4Media: Fixed array out of bounds assertions Change 3163772 on 2016/10/14 by Max.Preussner MfMedia: Fixed a number of timing related issues Change 3163980 on 2016/10/15 by Max.Chen Sequencer: Remove folder name numeric padding so that the naming convention is similar to creating objects in the level. Change 3164581 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure global pre-animated state is restored in reverse order Change 3164582 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure pre animated state is restored for all actor components before saving default state Change 3164583 on 2016/10/17 by Andrew.Rodham Sequencer: Re-enabled support for pre and post roll Change 3165464 on 2016/10/17 by Max.Chen Sequencer: Default number frame handles to 0 so that there's no change in behavior when rendering out a master sequence of shots. Handle frames need to enabled explicitly by the user. Copy from Release-4.14 #jira UE-37416 Change 3165483 on 2016/10/17 by Max.Chen Sequencer: Enable restore state for attach section completion Change 3165771 on 2016/10/18 by Andrew.Rodham Sequencer: Force evaluate when rendering thumbnails #jira UE-37321 Change 3166057 on 2016/10/18 by Andrew.Rodham Sequencer: Only set defaults for tracks that have no keys, and where the requested default has changed #jira UE-37285 Change 3166218 on 2016/10/18 by Max.Preussner MediaPlayerEditor: Failure opening media, even though it opened successfully (UE-37470) #jira UE-37470 Change 3166247 on 2016/10/18 by Max.Preussner WmfMedia: Showing progress bar while media is being resolved Change 3166289 on 2016/10/18 by Max.Preussner MfMedia: Showing progress bar while media is being resolved Change 3166993 on 2016/10/18 by Max.Preussner MfMedia: Fixed info string not reset on media close. Change 3166999 on 2016/10/19 by Max.Preussner Media: Fixed NV12 and NV21 support Change 3167008 on 2016/10/19 by Max.Preussner Media: Removed vertical NV12 alignment Change 3167029 on 2016/10/19 by Max.Preussner WmfMedia: Temp fix for RGB32 encoded AVIs rendering upside-down and too bright (UE-37505) #jira UE-37505 Change 3168593 on 2016/10/19 by Max.Chen Sequencer: Change paste at time to local time, so that the paste happens in the local time of the sequence rather than the global time if pasting in a shot level sequence. Change 3168626 on 2016/10/19 by Max.Chen Sequencer: Clamp to view bounds should snap to frame if frame snapping is on. Change 3168627 on 2016/10/19 by Max.Chen Sequencer: Initialize working and view range to be 10% larger than playback range. Change 3168760 on 2016/10/20 by Max.Preussner Media: Revamped media texture buffer management to support padded frames Added support for Windows bitmap buffers. Fixed a number of format, conversion and/or looping issues in WmfMedia and MfMedia. Not all shaders have been updated yet. Change 3169640 on 2016/10/20 by Max.Chen Sequencer: Add current camera to FLevelSequencePlayerSnapshot. Adjust DefaultBurnIn to include a few more parameters like focal length and focus distance. #jira UE-37407 Change 3170677 on 2016/10/21 by Max.Chen Movie Scene Capture: Add toggle to override engine scalability settings to cinematic scalability. #jira UE-36560 Change 3170710 on 2016/10/21 by Max.Preussner Media: Optimized handling of RGB input Change 3170712 on 2016/10/21 by Max.Preussner Media: Fixed NV21 conversion shader scaling Change 3170923 on 2016/10/21 by Max.Preussner UBT: Copied XboxOne project generator fix from Fortnite CL# 3170868 Change 3171494 on 2016/10/23 by Max.Chen Sequencer: Fix fbx export from master sequence not finding bound objects. #jira UE-35752 Change 3171506 on 2016/10/23 by Max.Chen Sequencer: Draw where in and out points of the shot section are, just like subsequences do. Change to only draw the green starting line if StartOffset is negative. #jira UE-35473 Change 3171743 on 2016/10/24 by Andrew.Rodham Editor: Added support for detail customizations on root structs - Also added the ability to add external struct data onto a detail category builder, and property type customization. Change 3171752 on 2016/10/24 by Andrew.Rodham Sequencer: Fixed spawnable ownership - Spawnables are no longer destroyed when the cursor leaves the master playback range. - Spawnable ownership now operates as it previously did before the evaluation rework. - bIgnoreOwnershipInEditor has been removed since its existence was a work around for when we didn't evaluate sub sequences from the master sequence. - FMovieSceneSequenceID is now a struct so that it can be used in array properties - Meta data now exists for each segment of an evaluation field. Currently this only includes the sub sequence IDs that exist at that time, but it may be expanded to include all evaluation entities (tracks + sections) in future so we don't have to calculate that at runtime. Change 3171756 on 2016/10/24 by Andrew.Rodham Sequencer: Added ability to trigger events with parameters - It's now possible to supply an event payload on event track keys which are to be passed to a given event. The structure must match the signature of the event, or a warning will be emitted. - Added a templated TGenericKeyArea, TKeyFrameManipulator and TCurveInterface that allow to generic manipulation of keyframe section data. In time we will port the other key areas over to this representation. - This new architecture affords the common manipulation of time-based keyframes in a value-agnostic manner. Change 3172935 on 2016/10/24 by Max.Preussner MediaPlayerEditor: Fixed MediaPlayer asset not being dirtied when creating media sound wave or texture for it Change 3173947 on 2016/10/25 by Max.Preussner SlateRemote: Disabled plug-in, but enabled server by default Change 3174510 on 2016/10/26 by Max.Chen Sequencer: Fix slomo track crash #jira UE-37802 Change 3174698 on 2016/10/26 by Andrew.Rodham UMG: Fixed objects bound to a panel slot animating their slot's content instead of the slot itself #jira UE-37775 Change 3174780 on 2016/10/26 by Max.Preussner MediaAssets: Accepting decoder defined buffer dimensions for RGB buffers Change 3174789 on 2016/10/26 by Max.Preussner MediaPlayerEditor: Showing desired player name instead of current player name if no media loaded Change 3174817 on 2016/10/26 by Max.Preussner WmfMedia: Added support for Motion JPEG (MJPG) Change 3174825 on 2016/10/26 by Max.Preussner WmfMedia: Added support for non-RGB32 uncompressed formats Change 3174834 on 2016/10/26 by Max.Preussner MediaPlayerAssets: Allow pausing while buffering media Change 3174886 on 2016/10/26 by Andrew.Rodham Core: Fixed range test that was testing incorrect behavior Change 3174889 on 2016/10/26 by Andrew.Rodham Sequencer: Fixed AssignActor behavior - Also ensure that cached object state is invalidated when playback context changes #jira UE-37798 Change 3174905 on 2016/10/26 by Andrew.Rodham Sequencer: Changed assert when failing to create an audio component to a log message - Audio no longer plays when GEngine->UseSound() is false #jira UE-37772 Change 3174980 on 2016/10/26 by Andrew.Rodham Sequencer: Remove warning when event endpoint could not be found for a given context #jira UE-37824 Change 3175001 on 2016/10/26 by Andrew.Rodham Sequencer: Evaluate sequence with EMovieScenePlaybackStatus::Jumping on Pause. - Also protect Pause() against reentrancy when being called from an event Change 3175012 on 2016/10/26 by Max.Chen Sequence Recorder: Fixes an empty working and view range after recording. On StopRecording() update playback range after nullifying the current sequence so that the playback range isn't empty. Added SetViewRange and SetWorkingRange. #jira UE-34191 Change 3177760 on 2016/10/28 by Max.Chen Sequence Recorder: Don't update the current sequence name if it's already set. This fixes a bug where if you pass in a sequence name to record to, it gets reset to the name in the sequence recorder settings. #jira UE-37808 Change 3178529 on 2016/10/28 by Max.Chen Matinee to Level Sequence: Added interface to extend the matinee to level sequence converter #jira UE-37328 #2864 [CL 3178562 by Max Chen in Main branch]
2016-10-28 15:04:38 -04:00
const TSharedRef<FEventGraphData, ESPMode::ThreadSafe> FProfilerSession::GetEventGraphDataTotal() const
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2799478 on 2015/12/11 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Added Dev Stream custom versions. - Each stream now has its own custom version - Developers working in a stream should only modify their respective version Change 2789867 on 2015/12/04 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 UnrealHeaderTool plugins no longer need to be a separate plugin and don't require UnrealHeaderTool source code changes to work. - Merged ScriptGeneratorPlugin with ScriptPlugin - Introduced the concept of UHT plugin support for plugins so that UHT's source files don't need to be modified to make it work with external plugins - Added RuntimeNoProgram module type (module that can be used at runtime but not by program targets). - Fixed logic with project file path setting in the engine. It will no longer try to crate a full path from an already rooted path. Change 2796114 on 2015/12/09 by Steve.Robb@Dev-Core TEnumRange - enabled ranged-based for iteration over enum values. Change 2789843 on 2015/12/04 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 More thorough way of verifying GC cluster assumptions. Change 2794221 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Don't merge GC clusters by default Change 2797824 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Added the option to load all symbols for stack walking in non-monolithic builds. Change 2790539 on 2015/12/04 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats/Profiler - Better handling for live connection, using the same path as file profiles, added FStatsLoadedState to separate runtime stats state from the loaded one Change 2794183 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Always reset events when returning them to pool. Change 2794406 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Fixing -unversioned flag being completely ignored when cooking Change 2794563 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Making sure string referenced assets don't get cooked if referenced by editor-only properties. Change 2795124 on 2015/12/08 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Fixed bad data in min/max/avg inclusive times, added min/max/avg num calls, fixed event graph tooltip not displaying correct values Change 2796208 on 2015/12/09 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Remove support for multiple instances in the profiler (game thread is always visible, a few crash fixes, cleaned code a bit) Change 2797658 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Allocation verification helpers. Helps with tracking down memory stomps, freeing the same pointers multiple times. Change 2797699 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Fix incorrect asset loading in Cooked game data (by bozaro) PR #1844 Change 2798173 on 2015/12/10 by Steve.Robb@Dev-Core Migration of Fortnite to use engine's TEnumRange. Change 2798217 on 2015/12/10 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec PR #1331 [Core] Added a stomp allocator that allows finding memory overruns, underruns, and read/write after free. (Contributed by Pablo Zurita) Change 2799605 on 2015/12/11 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Fixing a crash when cancelling async loading caused by detaching linker from objects that had RF_NeedLoad flag set. Change 2799849 on 2015/12/11 by Steve.Robb@Dev-Core Migration of Ocean to use engine's TEnumRange. Change 2803144 on 2015/12/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changed export tagging archive to also serialize class default objects using the normal Serialize path so that it can collect all custom versions used by exports. Change 2803206 on 2015/12/15 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec #jira UE-24177 Audit ôshippingö defines in engine Change 2804868 on 2015/12/16 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. #lockdown Nick.Penwarden [CL 2805158 by Robert Manuszewski in Main branch]
2015-12-16 11:52:36 -05:00
{
return EventGraphDataTotal.ToSharedRef();
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3178529) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3149443 on 2016/10/03 by Max.Preussner MediaAssets: Better parameter names for MediaPlayer BP functions Change 3149756 on 2016/10/03 by Max.Chen Sequence Recorder: Set some settings to be clamped at 0 (sequence length, recording delay, audio gain, audio input buffer size, nearby actor recording proximity) #jira UE-35233 Change 3149795 on 2016/10/03 by Max.Chen Curve Editor: Set tangent to user when flattening or straightening tangents only when the tangent mode is auto and the interp mode is cubic. #jira UE-36734 Change 3150378 on 2016/10/04 by Max.Preussner PS4Media: Made video buffer sizes for file and HLS sources configurable (UE-36807) #jira UE-36807 Change 3151414 on 2016/10/05 by Max.Chen Sequencer: Fix case where restoring the last view target was getting skipped. It should always restore if the camera object and the unlock if camera actor object is null. #jira UE-35285 Change 3152038 on 2016/10/05 by Max.Preussner UdpMessaging: Code & documentation modernization pass Change 3152471 on 2016/10/05 by Max.Chen Cine Camera: Don't enable/disable actor ticking based soley on actor tracking since actor ticking is needed for other purposes. Instead, always enable actor ticking and only update actor tracking on tick if necessary. This fixes a bug where the cine camera actor won't tick if you hook in event tick. #jira UE-36625 Change 3152692 on 2016/10/05 by Max.Preussner Messaging: API code & documentation modernization pass Mostly removed shared pointer/ref typedefs as they prevent forward declarations and increase include complexity. Change 3153824 on 2016/10/06 by Max.Preussner Messaging: Renamed IConnectionBasedMessagingModule to ITcpMessagingModule and moved it into TcpMessaging I recommend that we refactor this API. The dependency should be reversed, i.e. instead of AndroidDeviceDiscovery depending on the TcpMessaging plug-in module, the Engine should provide a central registry that device discovery modules can notify, and that message transport plug-ins can register with and listen to OnConnectionAdded/Removed events etc. That way it supports an arbitrary number of transport plug-ins, and the Engine is not coupled to any of them. This functionality is not necessarily related to messaging, and the Messaging API is transport agnostic anyway. I'll think about this some more. Change 3153826 on 2016/10/06 by Max.Preussner Messaging: Removed remaining typedefs in IMessageTracer to enable forward declaration and reduce include dependencies Change 3153857 on 2016/10/06 by Max.Chen Sequencer: Set snap time to dragged key on by default. Change 3153980 on 2016/10/06 by Max.Preussner SessionServices: Removed typedefs; code and documentation modernization pass Change 3154313 on 2016/10/06 by Max.Chen Sequencer: Set the paste keys time to the current time, rather than the mouse time. Change 3154332 on 2016/10/06 by Max.Chen Sequencer: Remove click to rename shot functionality in the shot thumbnail. Added rename shot to the shot context menu. Change 3154377 on 2016/10/07 by Max.Chen Sequencer: Add ability to step to beginning and ends of sections/shots using the hotkeys: , and . Change 3154788 on 2016/10/07 by Max.Chen Sequencer: Fix offsets that created when moving multiple sections. The offsets were being created because section bounds were being generated for all sections except for the current section. Instead, they should be computed for all sections except for any that aren't being moved. #jira UE-29152 Change 3159274 on 2016/10/11 by Max.Preussner Core: Documentation fixes Change 3159275 on 2016/10/11 by Max.Preussner UdpMessaging: Added missing header Change 3160746 on 2016/10/12 by Max.Preussner MediaAssets: Added BP functions to query width, height, and aspect ratio of UMediaTexture instances #jira UE-37241 Change 3160975 on 2016/10/12 by Max.Preussner PS4Media: Better logging for SetRate failures Change 3160995 on 2016/10/12 by Max.Preussner MediaPlayerEditor: Fixed Media player selection is ignored if media specifies player overrides (UE-37248) #jira UE-37248 Change 3161066 on 2016/10/12 by Max.Preussner PS4Media: Enforcing minimum 8 byte alignment for media allocations Change 3161069 on 2016/10/12 by Max.Preussner PS4Media: Fixed log spam when setting play rate to current rate Change 3162567 on 2016/10/13 by Max.Preussner PS4Media: Made track switching code more readable Change 3163447 on 2016/10/14 by Max.Preussner PS4Media: Fixed array out of bounds assertions Change 3163772 on 2016/10/14 by Max.Preussner MfMedia: Fixed a number of timing related issues Change 3163980 on 2016/10/15 by Max.Chen Sequencer: Remove folder name numeric padding so that the naming convention is similar to creating objects in the level. Change 3164581 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure global pre-animated state is restored in reverse order Change 3164582 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure pre animated state is restored for all actor components before saving default state Change 3164583 on 2016/10/17 by Andrew.Rodham Sequencer: Re-enabled support for pre and post roll Change 3165464 on 2016/10/17 by Max.Chen Sequencer: Default number frame handles to 0 so that there's no change in behavior when rendering out a master sequence of shots. Handle frames need to enabled explicitly by the user. Copy from Release-4.14 #jira UE-37416 Change 3165483 on 2016/10/17 by Max.Chen Sequencer: Enable restore state for attach section completion Change 3165771 on 2016/10/18 by Andrew.Rodham Sequencer: Force evaluate when rendering thumbnails #jira UE-37321 Change 3166057 on 2016/10/18 by Andrew.Rodham Sequencer: Only set defaults for tracks that have no keys, and where the requested default has changed #jira UE-37285 Change 3166218 on 2016/10/18 by Max.Preussner MediaPlayerEditor: Failure opening media, even though it opened successfully (UE-37470) #jira UE-37470 Change 3166247 on 2016/10/18 by Max.Preussner WmfMedia: Showing progress bar while media is being resolved Change 3166289 on 2016/10/18 by Max.Preussner MfMedia: Showing progress bar while media is being resolved Change 3166993 on 2016/10/18 by Max.Preussner MfMedia: Fixed info string not reset on media close. Change 3166999 on 2016/10/19 by Max.Preussner Media: Fixed NV12 and NV21 support Change 3167008 on 2016/10/19 by Max.Preussner Media: Removed vertical NV12 alignment Change 3167029 on 2016/10/19 by Max.Preussner WmfMedia: Temp fix for RGB32 encoded AVIs rendering upside-down and too bright (UE-37505) #jira UE-37505 Change 3168593 on 2016/10/19 by Max.Chen Sequencer: Change paste at time to local time, so that the paste happens in the local time of the sequence rather than the global time if pasting in a shot level sequence. Change 3168626 on 2016/10/19 by Max.Chen Sequencer: Clamp to view bounds should snap to frame if frame snapping is on. Change 3168627 on 2016/10/19 by Max.Chen Sequencer: Initialize working and view range to be 10% larger than playback range. Change 3168760 on 2016/10/20 by Max.Preussner Media: Revamped media texture buffer management to support padded frames Added support for Windows bitmap buffers. Fixed a number of format, conversion and/or looping issues in WmfMedia and MfMedia. Not all shaders have been updated yet. Change 3169640 on 2016/10/20 by Max.Chen Sequencer: Add current camera to FLevelSequencePlayerSnapshot. Adjust DefaultBurnIn to include a few more parameters like focal length and focus distance. #jira UE-37407 Change 3170677 on 2016/10/21 by Max.Chen Movie Scene Capture: Add toggle to override engine scalability settings to cinematic scalability. #jira UE-36560 Change 3170710 on 2016/10/21 by Max.Preussner Media: Optimized handling of RGB input Change 3170712 on 2016/10/21 by Max.Preussner Media: Fixed NV21 conversion shader scaling Change 3170923 on 2016/10/21 by Max.Preussner UBT: Copied XboxOne project generator fix from Fortnite CL# 3170868 Change 3171494 on 2016/10/23 by Max.Chen Sequencer: Fix fbx export from master sequence not finding bound objects. #jira UE-35752 Change 3171506 on 2016/10/23 by Max.Chen Sequencer: Draw where in and out points of the shot section are, just like subsequences do. Change to only draw the green starting line if StartOffset is negative. #jira UE-35473 Change 3171743 on 2016/10/24 by Andrew.Rodham Editor: Added support for detail customizations on root structs - Also added the ability to add external struct data onto a detail category builder, and property type customization. Change 3171752 on 2016/10/24 by Andrew.Rodham Sequencer: Fixed spawnable ownership - Spawnables are no longer destroyed when the cursor leaves the master playback range. - Spawnable ownership now operates as it previously did before the evaluation rework. - bIgnoreOwnershipInEditor has been removed since its existence was a work around for when we didn't evaluate sub sequences from the master sequence. - FMovieSceneSequenceID is now a struct so that it can be used in array properties - Meta data now exists for each segment of an evaluation field. Currently this only includes the sub sequence IDs that exist at that time, but it may be expanded to include all evaluation entities (tracks + sections) in future so we don't have to calculate that at runtime. Change 3171756 on 2016/10/24 by Andrew.Rodham Sequencer: Added ability to trigger events with parameters - It's now possible to supply an event payload on event track keys which are to be passed to a given event. The structure must match the signature of the event, or a warning will be emitted. - Added a templated TGenericKeyArea, TKeyFrameManipulator and TCurveInterface that allow to generic manipulation of keyframe section data. In time we will port the other key areas over to this representation. - This new architecture affords the common manipulation of time-based keyframes in a value-agnostic manner. Change 3172935 on 2016/10/24 by Max.Preussner MediaPlayerEditor: Fixed MediaPlayer asset not being dirtied when creating media sound wave or texture for it Change 3173947 on 2016/10/25 by Max.Preussner SlateRemote: Disabled plug-in, but enabled server by default Change 3174510 on 2016/10/26 by Max.Chen Sequencer: Fix slomo track crash #jira UE-37802 Change 3174698 on 2016/10/26 by Andrew.Rodham UMG: Fixed objects bound to a panel slot animating their slot's content instead of the slot itself #jira UE-37775 Change 3174780 on 2016/10/26 by Max.Preussner MediaAssets: Accepting decoder defined buffer dimensions for RGB buffers Change 3174789 on 2016/10/26 by Max.Preussner MediaPlayerEditor: Showing desired player name instead of current player name if no media loaded Change 3174817 on 2016/10/26 by Max.Preussner WmfMedia: Added support for Motion JPEG (MJPG) Change 3174825 on 2016/10/26 by Max.Preussner WmfMedia: Added support for non-RGB32 uncompressed formats Change 3174834 on 2016/10/26 by Max.Preussner MediaPlayerAssets: Allow pausing while buffering media Change 3174886 on 2016/10/26 by Andrew.Rodham Core: Fixed range test that was testing incorrect behavior Change 3174889 on 2016/10/26 by Andrew.Rodham Sequencer: Fixed AssignActor behavior - Also ensure that cached object state is invalidated when playback context changes #jira UE-37798 Change 3174905 on 2016/10/26 by Andrew.Rodham Sequencer: Changed assert when failing to create an audio component to a log message - Audio no longer plays when GEngine->UseSound() is false #jira UE-37772 Change 3174980 on 2016/10/26 by Andrew.Rodham Sequencer: Remove warning when event endpoint could not be found for a given context #jira UE-37824 Change 3175001 on 2016/10/26 by Andrew.Rodham Sequencer: Evaluate sequence with EMovieScenePlaybackStatus::Jumping on Pause. - Also protect Pause() against reentrancy when being called from an event Change 3175012 on 2016/10/26 by Max.Chen Sequence Recorder: Fixes an empty working and view range after recording. On StopRecording() update playback range after nullifying the current sequence so that the playback range isn't empty. Added SetViewRange and SetWorkingRange. #jira UE-34191 Change 3177760 on 2016/10/28 by Max.Chen Sequence Recorder: Don't update the current sequence name if it's already set. This fixes a bug where if you pass in a sequence name to record to, it gets reset to the name in the sequence recorder settings. #jira UE-37808 Change 3178529 on 2016/10/28 by Max.Chen Matinee to Level Sequence: Added interface to extend the matinee to level sequence converter #jira UE-37328 #2864 [CL 3178562 by Max Chen in Main branch]
2016-10-28 15:04:38 -04:00
const TSharedRef<FEventGraphData, ESPMode::ThreadSafe> FProfilerSession::GetEventGraphDataMaximum() const
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2799478 on 2015/12/11 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Added Dev Stream custom versions. - Each stream now has its own custom version - Developers working in a stream should only modify their respective version Change 2789867 on 2015/12/04 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 UnrealHeaderTool plugins no longer need to be a separate plugin and don't require UnrealHeaderTool source code changes to work. - Merged ScriptGeneratorPlugin with ScriptPlugin - Introduced the concept of UHT plugin support for plugins so that UHT's source files don't need to be modified to make it work with external plugins - Added RuntimeNoProgram module type (module that can be used at runtime but not by program targets). - Fixed logic with project file path setting in the engine. It will no longer try to crate a full path from an already rooted path. Change 2796114 on 2015/12/09 by Steve.Robb@Dev-Core TEnumRange - enabled ranged-based for iteration over enum values. Change 2789843 on 2015/12/04 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 More thorough way of verifying GC cluster assumptions. Change 2794221 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Don't merge GC clusters by default Change 2797824 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Added the option to load all symbols for stack walking in non-monolithic builds. Change 2790539 on 2015/12/04 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats/Profiler - Better handling for live connection, using the same path as file profiles, added FStatsLoadedState to separate runtime stats state from the loaded one Change 2794183 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Always reset events when returning them to pool. Change 2794406 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Fixing -unversioned flag being completely ignored when cooking Change 2794563 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Making sure string referenced assets don't get cooked if referenced by editor-only properties. Change 2795124 on 2015/12/08 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Fixed bad data in min/max/avg inclusive times, added min/max/avg num calls, fixed event graph tooltip not displaying correct values Change 2796208 on 2015/12/09 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Remove support for multiple instances in the profiler (game thread is always visible, a few crash fixes, cleaned code a bit) Change 2797658 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Allocation verification helpers. Helps with tracking down memory stomps, freeing the same pointers multiple times. Change 2797699 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Fix incorrect asset loading in Cooked game data (by bozaro) PR #1844 Change 2798173 on 2015/12/10 by Steve.Robb@Dev-Core Migration of Fortnite to use engine's TEnumRange. Change 2798217 on 2015/12/10 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec PR #1331 [Core] Added a stomp allocator that allows finding memory overruns, underruns, and read/write after free. (Contributed by Pablo Zurita) Change 2799605 on 2015/12/11 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Fixing a crash when cancelling async loading caused by detaching linker from objects that had RF_NeedLoad flag set. Change 2799849 on 2015/12/11 by Steve.Robb@Dev-Core Migration of Ocean to use engine's TEnumRange. Change 2803144 on 2015/12/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changed export tagging archive to also serialize class default objects using the normal Serialize path so that it can collect all custom versions used by exports. Change 2803206 on 2015/12/15 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec #jira UE-24177 Audit ôshippingö defines in engine Change 2804868 on 2015/12/16 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. #lockdown Nick.Penwarden [CL 2805158 by Robert Manuszewski in Main branch]
2015-12-16 11:52:36 -05:00
{
return EventGraphDataMaximum.ToSharedRef();
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3178529) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3149443 on 2016/10/03 by Max.Preussner MediaAssets: Better parameter names for MediaPlayer BP functions Change 3149756 on 2016/10/03 by Max.Chen Sequence Recorder: Set some settings to be clamped at 0 (sequence length, recording delay, audio gain, audio input buffer size, nearby actor recording proximity) #jira UE-35233 Change 3149795 on 2016/10/03 by Max.Chen Curve Editor: Set tangent to user when flattening or straightening tangents only when the tangent mode is auto and the interp mode is cubic. #jira UE-36734 Change 3150378 on 2016/10/04 by Max.Preussner PS4Media: Made video buffer sizes for file and HLS sources configurable (UE-36807) #jira UE-36807 Change 3151414 on 2016/10/05 by Max.Chen Sequencer: Fix case where restoring the last view target was getting skipped. It should always restore if the camera object and the unlock if camera actor object is null. #jira UE-35285 Change 3152038 on 2016/10/05 by Max.Preussner UdpMessaging: Code & documentation modernization pass Change 3152471 on 2016/10/05 by Max.Chen Cine Camera: Don't enable/disable actor ticking based soley on actor tracking since actor ticking is needed for other purposes. Instead, always enable actor ticking and only update actor tracking on tick if necessary. This fixes a bug where the cine camera actor won't tick if you hook in event tick. #jira UE-36625 Change 3152692 on 2016/10/05 by Max.Preussner Messaging: API code & documentation modernization pass Mostly removed shared pointer/ref typedefs as they prevent forward declarations and increase include complexity. Change 3153824 on 2016/10/06 by Max.Preussner Messaging: Renamed IConnectionBasedMessagingModule to ITcpMessagingModule and moved it into TcpMessaging I recommend that we refactor this API. The dependency should be reversed, i.e. instead of AndroidDeviceDiscovery depending on the TcpMessaging plug-in module, the Engine should provide a central registry that device discovery modules can notify, and that message transport plug-ins can register with and listen to OnConnectionAdded/Removed events etc. That way it supports an arbitrary number of transport plug-ins, and the Engine is not coupled to any of them. This functionality is not necessarily related to messaging, and the Messaging API is transport agnostic anyway. I'll think about this some more. Change 3153826 on 2016/10/06 by Max.Preussner Messaging: Removed remaining typedefs in IMessageTracer to enable forward declaration and reduce include dependencies Change 3153857 on 2016/10/06 by Max.Chen Sequencer: Set snap time to dragged key on by default. Change 3153980 on 2016/10/06 by Max.Preussner SessionServices: Removed typedefs; code and documentation modernization pass Change 3154313 on 2016/10/06 by Max.Chen Sequencer: Set the paste keys time to the current time, rather than the mouse time. Change 3154332 on 2016/10/06 by Max.Chen Sequencer: Remove click to rename shot functionality in the shot thumbnail. Added rename shot to the shot context menu. Change 3154377 on 2016/10/07 by Max.Chen Sequencer: Add ability to step to beginning and ends of sections/shots using the hotkeys: , and . Change 3154788 on 2016/10/07 by Max.Chen Sequencer: Fix offsets that created when moving multiple sections. The offsets were being created because section bounds were being generated for all sections except for the current section. Instead, they should be computed for all sections except for any that aren't being moved. #jira UE-29152 Change 3159274 on 2016/10/11 by Max.Preussner Core: Documentation fixes Change 3159275 on 2016/10/11 by Max.Preussner UdpMessaging: Added missing header Change 3160746 on 2016/10/12 by Max.Preussner MediaAssets: Added BP functions to query width, height, and aspect ratio of UMediaTexture instances #jira UE-37241 Change 3160975 on 2016/10/12 by Max.Preussner PS4Media: Better logging for SetRate failures Change 3160995 on 2016/10/12 by Max.Preussner MediaPlayerEditor: Fixed Media player selection is ignored if media specifies player overrides (UE-37248) #jira UE-37248 Change 3161066 on 2016/10/12 by Max.Preussner PS4Media: Enforcing minimum 8 byte alignment for media allocations Change 3161069 on 2016/10/12 by Max.Preussner PS4Media: Fixed log spam when setting play rate to current rate Change 3162567 on 2016/10/13 by Max.Preussner PS4Media: Made track switching code more readable Change 3163447 on 2016/10/14 by Max.Preussner PS4Media: Fixed array out of bounds assertions Change 3163772 on 2016/10/14 by Max.Preussner MfMedia: Fixed a number of timing related issues Change 3163980 on 2016/10/15 by Max.Chen Sequencer: Remove folder name numeric padding so that the naming convention is similar to creating objects in the level. Change 3164581 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure global pre-animated state is restored in reverse order Change 3164582 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure pre animated state is restored for all actor components before saving default state Change 3164583 on 2016/10/17 by Andrew.Rodham Sequencer: Re-enabled support for pre and post roll Change 3165464 on 2016/10/17 by Max.Chen Sequencer: Default number frame handles to 0 so that there's no change in behavior when rendering out a master sequence of shots. Handle frames need to enabled explicitly by the user. Copy from Release-4.14 #jira UE-37416 Change 3165483 on 2016/10/17 by Max.Chen Sequencer: Enable restore state for attach section completion Change 3165771 on 2016/10/18 by Andrew.Rodham Sequencer: Force evaluate when rendering thumbnails #jira UE-37321 Change 3166057 on 2016/10/18 by Andrew.Rodham Sequencer: Only set defaults for tracks that have no keys, and where the requested default has changed #jira UE-37285 Change 3166218 on 2016/10/18 by Max.Preussner MediaPlayerEditor: Failure opening media, even though it opened successfully (UE-37470) #jira UE-37470 Change 3166247 on 2016/10/18 by Max.Preussner WmfMedia: Showing progress bar while media is being resolved Change 3166289 on 2016/10/18 by Max.Preussner MfMedia: Showing progress bar while media is being resolved Change 3166993 on 2016/10/18 by Max.Preussner MfMedia: Fixed info string not reset on media close. Change 3166999 on 2016/10/19 by Max.Preussner Media: Fixed NV12 and NV21 support Change 3167008 on 2016/10/19 by Max.Preussner Media: Removed vertical NV12 alignment Change 3167029 on 2016/10/19 by Max.Preussner WmfMedia: Temp fix for RGB32 encoded AVIs rendering upside-down and too bright (UE-37505) #jira UE-37505 Change 3168593 on 2016/10/19 by Max.Chen Sequencer: Change paste at time to local time, so that the paste happens in the local time of the sequence rather than the global time if pasting in a shot level sequence. Change 3168626 on 2016/10/19 by Max.Chen Sequencer: Clamp to view bounds should snap to frame if frame snapping is on. Change 3168627 on 2016/10/19 by Max.Chen Sequencer: Initialize working and view range to be 10% larger than playback range. Change 3168760 on 2016/10/20 by Max.Preussner Media: Revamped media texture buffer management to support padded frames Added support for Windows bitmap buffers. Fixed a number of format, conversion and/or looping issues in WmfMedia and MfMedia. Not all shaders have been updated yet. Change 3169640 on 2016/10/20 by Max.Chen Sequencer: Add current camera to FLevelSequencePlayerSnapshot. Adjust DefaultBurnIn to include a few more parameters like focal length and focus distance. #jira UE-37407 Change 3170677 on 2016/10/21 by Max.Chen Movie Scene Capture: Add toggle to override engine scalability settings to cinematic scalability. #jira UE-36560 Change 3170710 on 2016/10/21 by Max.Preussner Media: Optimized handling of RGB input Change 3170712 on 2016/10/21 by Max.Preussner Media: Fixed NV21 conversion shader scaling Change 3170923 on 2016/10/21 by Max.Preussner UBT: Copied XboxOne project generator fix from Fortnite CL# 3170868 Change 3171494 on 2016/10/23 by Max.Chen Sequencer: Fix fbx export from master sequence not finding bound objects. #jira UE-35752 Change 3171506 on 2016/10/23 by Max.Chen Sequencer: Draw where in and out points of the shot section are, just like subsequences do. Change to only draw the green starting line if StartOffset is negative. #jira UE-35473 Change 3171743 on 2016/10/24 by Andrew.Rodham Editor: Added support for detail customizations on root structs - Also added the ability to add external struct data onto a detail category builder, and property type customization. Change 3171752 on 2016/10/24 by Andrew.Rodham Sequencer: Fixed spawnable ownership - Spawnables are no longer destroyed when the cursor leaves the master playback range. - Spawnable ownership now operates as it previously did before the evaluation rework. - bIgnoreOwnershipInEditor has been removed since its existence was a work around for when we didn't evaluate sub sequences from the master sequence. - FMovieSceneSequenceID is now a struct so that it can be used in array properties - Meta data now exists for each segment of an evaluation field. Currently this only includes the sub sequence IDs that exist at that time, but it may be expanded to include all evaluation entities (tracks + sections) in future so we don't have to calculate that at runtime. Change 3171756 on 2016/10/24 by Andrew.Rodham Sequencer: Added ability to trigger events with parameters - It's now possible to supply an event payload on event track keys which are to be passed to a given event. The structure must match the signature of the event, or a warning will be emitted. - Added a templated TGenericKeyArea, TKeyFrameManipulator and TCurveInterface that allow to generic manipulation of keyframe section data. In time we will port the other key areas over to this representation. - This new architecture affords the common manipulation of time-based keyframes in a value-agnostic manner. Change 3172935 on 2016/10/24 by Max.Preussner MediaPlayerEditor: Fixed MediaPlayer asset not being dirtied when creating media sound wave or texture for it Change 3173947 on 2016/10/25 by Max.Preussner SlateRemote: Disabled plug-in, but enabled server by default Change 3174510 on 2016/10/26 by Max.Chen Sequencer: Fix slomo track crash #jira UE-37802 Change 3174698 on 2016/10/26 by Andrew.Rodham UMG: Fixed objects bound to a panel slot animating their slot's content instead of the slot itself #jira UE-37775 Change 3174780 on 2016/10/26 by Max.Preussner MediaAssets: Accepting decoder defined buffer dimensions for RGB buffers Change 3174789 on 2016/10/26 by Max.Preussner MediaPlayerEditor: Showing desired player name instead of current player name if no media loaded Change 3174817 on 2016/10/26 by Max.Preussner WmfMedia: Added support for Motion JPEG (MJPG) Change 3174825 on 2016/10/26 by Max.Preussner WmfMedia: Added support for non-RGB32 uncompressed formats Change 3174834 on 2016/10/26 by Max.Preussner MediaPlayerAssets: Allow pausing while buffering media Change 3174886 on 2016/10/26 by Andrew.Rodham Core: Fixed range test that was testing incorrect behavior Change 3174889 on 2016/10/26 by Andrew.Rodham Sequencer: Fixed AssignActor behavior - Also ensure that cached object state is invalidated when playback context changes #jira UE-37798 Change 3174905 on 2016/10/26 by Andrew.Rodham Sequencer: Changed assert when failing to create an audio component to a log message - Audio no longer plays when GEngine->UseSound() is false #jira UE-37772 Change 3174980 on 2016/10/26 by Andrew.Rodham Sequencer: Remove warning when event endpoint could not be found for a given context #jira UE-37824 Change 3175001 on 2016/10/26 by Andrew.Rodham Sequencer: Evaluate sequence with EMovieScenePlaybackStatus::Jumping on Pause. - Also protect Pause() against reentrancy when being called from an event Change 3175012 on 2016/10/26 by Max.Chen Sequence Recorder: Fixes an empty working and view range after recording. On StopRecording() update playback range after nullifying the current sequence so that the playback range isn't empty. Added SetViewRange and SetWorkingRange. #jira UE-34191 Change 3177760 on 2016/10/28 by Max.Chen Sequence Recorder: Don't update the current sequence name if it's already set. This fixes a bug where if you pass in a sequence name to record to, it gets reset to the name in the sequence recorder settings. #jira UE-37808 Change 3178529 on 2016/10/28 by Max.Chen Matinee to Level Sequence: Added interface to extend the matinee to level sequence converter #jira UE-37328 #2864 [CL 3178562 by Max Chen in Main branch]
2016-10-28 15:04:38 -04:00
const TSharedRef<FEventGraphData, ESPMode::ThreadSafe> FProfilerSession::GetEventGraphDataAverage() const
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2799478 on 2015/12/11 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Added Dev Stream custom versions. - Each stream now has its own custom version - Developers working in a stream should only modify their respective version Change 2789867 on 2015/12/04 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 UnrealHeaderTool plugins no longer need to be a separate plugin and don't require UnrealHeaderTool source code changes to work. - Merged ScriptGeneratorPlugin with ScriptPlugin - Introduced the concept of UHT plugin support for plugins so that UHT's source files don't need to be modified to make it work with external plugins - Added RuntimeNoProgram module type (module that can be used at runtime but not by program targets). - Fixed logic with project file path setting in the engine. It will no longer try to crate a full path from an already rooted path. Change 2796114 on 2015/12/09 by Steve.Robb@Dev-Core TEnumRange - enabled ranged-based for iteration over enum values. Change 2789843 on 2015/12/04 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 More thorough way of verifying GC cluster assumptions. Change 2794221 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Don't merge GC clusters by default Change 2797824 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Added the option to load all symbols for stack walking in non-monolithic builds. Change 2790539 on 2015/12/04 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats/Profiler - Better handling for live connection, using the same path as file profiles, added FStatsLoadedState to separate runtime stats state from the loaded one Change 2794183 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Always reset events when returning them to pool. Change 2794406 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Fixing -unversioned flag being completely ignored when cooking Change 2794563 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Making sure string referenced assets don't get cooked if referenced by editor-only properties. Change 2795124 on 2015/12/08 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Fixed bad data in min/max/avg inclusive times, added min/max/avg num calls, fixed event graph tooltip not displaying correct values Change 2796208 on 2015/12/09 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Remove support for multiple instances in the profiler (game thread is always visible, a few crash fixes, cleaned code a bit) Change 2797658 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Allocation verification helpers. Helps with tracking down memory stomps, freeing the same pointers multiple times. Change 2797699 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Fix incorrect asset loading in Cooked game data (by bozaro) PR #1844 Change 2798173 on 2015/12/10 by Steve.Robb@Dev-Core Migration of Fortnite to use engine's TEnumRange. Change 2798217 on 2015/12/10 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec PR #1331 [Core] Added a stomp allocator that allows finding memory overruns, underruns, and read/write after free. (Contributed by Pablo Zurita) Change 2799605 on 2015/12/11 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Fixing a crash when cancelling async loading caused by detaching linker from objects that had RF_NeedLoad flag set. Change 2799849 on 2015/12/11 by Steve.Robb@Dev-Core Migration of Ocean to use engine's TEnumRange. Change 2803144 on 2015/12/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changed export tagging archive to also serialize class default objects using the normal Serialize path so that it can collect all custom versions used by exports. Change 2803206 on 2015/12/15 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec #jira UE-24177 Audit ôshippingö defines in engine Change 2804868 on 2015/12/16 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. #lockdown Nick.Penwarden [CL 2805158 by Robert Manuszewski in Main branch]
2015-12-16 11:52:36 -05:00
{
return EventGraphDataAverage.ToSharedRef();
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3178529) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3149443 on 2016/10/03 by Max.Preussner MediaAssets: Better parameter names for MediaPlayer BP functions Change 3149756 on 2016/10/03 by Max.Chen Sequence Recorder: Set some settings to be clamped at 0 (sequence length, recording delay, audio gain, audio input buffer size, nearby actor recording proximity) #jira UE-35233 Change 3149795 on 2016/10/03 by Max.Chen Curve Editor: Set tangent to user when flattening or straightening tangents only when the tangent mode is auto and the interp mode is cubic. #jira UE-36734 Change 3150378 on 2016/10/04 by Max.Preussner PS4Media: Made video buffer sizes for file and HLS sources configurable (UE-36807) #jira UE-36807 Change 3151414 on 2016/10/05 by Max.Chen Sequencer: Fix case where restoring the last view target was getting skipped. It should always restore if the camera object and the unlock if camera actor object is null. #jira UE-35285 Change 3152038 on 2016/10/05 by Max.Preussner UdpMessaging: Code & documentation modernization pass Change 3152471 on 2016/10/05 by Max.Chen Cine Camera: Don't enable/disable actor ticking based soley on actor tracking since actor ticking is needed for other purposes. Instead, always enable actor ticking and only update actor tracking on tick if necessary. This fixes a bug where the cine camera actor won't tick if you hook in event tick. #jira UE-36625 Change 3152692 on 2016/10/05 by Max.Preussner Messaging: API code & documentation modernization pass Mostly removed shared pointer/ref typedefs as they prevent forward declarations and increase include complexity. Change 3153824 on 2016/10/06 by Max.Preussner Messaging: Renamed IConnectionBasedMessagingModule to ITcpMessagingModule and moved it into TcpMessaging I recommend that we refactor this API. The dependency should be reversed, i.e. instead of AndroidDeviceDiscovery depending on the TcpMessaging plug-in module, the Engine should provide a central registry that device discovery modules can notify, and that message transport plug-ins can register with and listen to OnConnectionAdded/Removed events etc. That way it supports an arbitrary number of transport plug-ins, and the Engine is not coupled to any of them. This functionality is not necessarily related to messaging, and the Messaging API is transport agnostic anyway. I'll think about this some more. Change 3153826 on 2016/10/06 by Max.Preussner Messaging: Removed remaining typedefs in IMessageTracer to enable forward declaration and reduce include dependencies Change 3153857 on 2016/10/06 by Max.Chen Sequencer: Set snap time to dragged key on by default. Change 3153980 on 2016/10/06 by Max.Preussner SessionServices: Removed typedefs; code and documentation modernization pass Change 3154313 on 2016/10/06 by Max.Chen Sequencer: Set the paste keys time to the current time, rather than the mouse time. Change 3154332 on 2016/10/06 by Max.Chen Sequencer: Remove click to rename shot functionality in the shot thumbnail. Added rename shot to the shot context menu. Change 3154377 on 2016/10/07 by Max.Chen Sequencer: Add ability to step to beginning and ends of sections/shots using the hotkeys: , and . Change 3154788 on 2016/10/07 by Max.Chen Sequencer: Fix offsets that created when moving multiple sections. The offsets were being created because section bounds were being generated for all sections except for the current section. Instead, they should be computed for all sections except for any that aren't being moved. #jira UE-29152 Change 3159274 on 2016/10/11 by Max.Preussner Core: Documentation fixes Change 3159275 on 2016/10/11 by Max.Preussner UdpMessaging: Added missing header Change 3160746 on 2016/10/12 by Max.Preussner MediaAssets: Added BP functions to query width, height, and aspect ratio of UMediaTexture instances #jira UE-37241 Change 3160975 on 2016/10/12 by Max.Preussner PS4Media: Better logging for SetRate failures Change 3160995 on 2016/10/12 by Max.Preussner MediaPlayerEditor: Fixed Media player selection is ignored if media specifies player overrides (UE-37248) #jira UE-37248 Change 3161066 on 2016/10/12 by Max.Preussner PS4Media: Enforcing minimum 8 byte alignment for media allocations Change 3161069 on 2016/10/12 by Max.Preussner PS4Media: Fixed log spam when setting play rate to current rate Change 3162567 on 2016/10/13 by Max.Preussner PS4Media: Made track switching code more readable Change 3163447 on 2016/10/14 by Max.Preussner PS4Media: Fixed array out of bounds assertions Change 3163772 on 2016/10/14 by Max.Preussner MfMedia: Fixed a number of timing related issues Change 3163980 on 2016/10/15 by Max.Chen Sequencer: Remove folder name numeric padding so that the naming convention is similar to creating objects in the level. Change 3164581 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure global pre-animated state is restored in reverse order Change 3164582 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure pre animated state is restored for all actor components before saving default state Change 3164583 on 2016/10/17 by Andrew.Rodham Sequencer: Re-enabled support for pre and post roll Change 3165464 on 2016/10/17 by Max.Chen Sequencer: Default number frame handles to 0 so that there's no change in behavior when rendering out a master sequence of shots. Handle frames need to enabled explicitly by the user. Copy from Release-4.14 #jira UE-37416 Change 3165483 on 2016/10/17 by Max.Chen Sequencer: Enable restore state for attach section completion Change 3165771 on 2016/10/18 by Andrew.Rodham Sequencer: Force evaluate when rendering thumbnails #jira UE-37321 Change 3166057 on 2016/10/18 by Andrew.Rodham Sequencer: Only set defaults for tracks that have no keys, and where the requested default has changed #jira UE-37285 Change 3166218 on 2016/10/18 by Max.Preussner MediaPlayerEditor: Failure opening media, even though it opened successfully (UE-37470) #jira UE-37470 Change 3166247 on 2016/10/18 by Max.Preussner WmfMedia: Showing progress bar while media is being resolved Change 3166289 on 2016/10/18 by Max.Preussner MfMedia: Showing progress bar while media is being resolved Change 3166993 on 2016/10/18 by Max.Preussner MfMedia: Fixed info string not reset on media close. Change 3166999 on 2016/10/19 by Max.Preussner Media: Fixed NV12 and NV21 support Change 3167008 on 2016/10/19 by Max.Preussner Media: Removed vertical NV12 alignment Change 3167029 on 2016/10/19 by Max.Preussner WmfMedia: Temp fix for RGB32 encoded AVIs rendering upside-down and too bright (UE-37505) #jira UE-37505 Change 3168593 on 2016/10/19 by Max.Chen Sequencer: Change paste at time to local time, so that the paste happens in the local time of the sequence rather than the global time if pasting in a shot level sequence. Change 3168626 on 2016/10/19 by Max.Chen Sequencer: Clamp to view bounds should snap to frame if frame snapping is on. Change 3168627 on 2016/10/19 by Max.Chen Sequencer: Initialize working and view range to be 10% larger than playback range. Change 3168760 on 2016/10/20 by Max.Preussner Media: Revamped media texture buffer management to support padded frames Added support for Windows bitmap buffers. Fixed a number of format, conversion and/or looping issues in WmfMedia and MfMedia. Not all shaders have been updated yet. Change 3169640 on 2016/10/20 by Max.Chen Sequencer: Add current camera to FLevelSequencePlayerSnapshot. Adjust DefaultBurnIn to include a few more parameters like focal length and focus distance. #jira UE-37407 Change 3170677 on 2016/10/21 by Max.Chen Movie Scene Capture: Add toggle to override engine scalability settings to cinematic scalability. #jira UE-36560 Change 3170710 on 2016/10/21 by Max.Preussner Media: Optimized handling of RGB input Change 3170712 on 2016/10/21 by Max.Preussner Media: Fixed NV21 conversion shader scaling Change 3170923 on 2016/10/21 by Max.Preussner UBT: Copied XboxOne project generator fix from Fortnite CL# 3170868 Change 3171494 on 2016/10/23 by Max.Chen Sequencer: Fix fbx export from master sequence not finding bound objects. #jira UE-35752 Change 3171506 on 2016/10/23 by Max.Chen Sequencer: Draw where in and out points of the shot section are, just like subsequences do. Change to only draw the green starting line if StartOffset is negative. #jira UE-35473 Change 3171743 on 2016/10/24 by Andrew.Rodham Editor: Added support for detail customizations on root structs - Also added the ability to add external struct data onto a detail category builder, and property type customization. Change 3171752 on 2016/10/24 by Andrew.Rodham Sequencer: Fixed spawnable ownership - Spawnables are no longer destroyed when the cursor leaves the master playback range. - Spawnable ownership now operates as it previously did before the evaluation rework. - bIgnoreOwnershipInEditor has been removed since its existence was a work around for when we didn't evaluate sub sequences from the master sequence. - FMovieSceneSequenceID is now a struct so that it can be used in array properties - Meta data now exists for each segment of an evaluation field. Currently this only includes the sub sequence IDs that exist at that time, but it may be expanded to include all evaluation entities (tracks + sections) in future so we don't have to calculate that at runtime. Change 3171756 on 2016/10/24 by Andrew.Rodham Sequencer: Added ability to trigger events with parameters - It's now possible to supply an event payload on event track keys which are to be passed to a given event. The structure must match the signature of the event, or a warning will be emitted. - Added a templated TGenericKeyArea, TKeyFrameManipulator and TCurveInterface that allow to generic manipulation of keyframe section data. In time we will port the other key areas over to this representation. - This new architecture affords the common manipulation of time-based keyframes in a value-agnostic manner. Change 3172935 on 2016/10/24 by Max.Preussner MediaPlayerEditor: Fixed MediaPlayer asset not being dirtied when creating media sound wave or texture for it Change 3173947 on 2016/10/25 by Max.Preussner SlateRemote: Disabled plug-in, but enabled server by default Change 3174510 on 2016/10/26 by Max.Chen Sequencer: Fix slomo track crash #jira UE-37802 Change 3174698 on 2016/10/26 by Andrew.Rodham UMG: Fixed objects bound to a panel slot animating their slot's content instead of the slot itself #jira UE-37775 Change 3174780 on 2016/10/26 by Max.Preussner MediaAssets: Accepting decoder defined buffer dimensions for RGB buffers Change 3174789 on 2016/10/26 by Max.Preussner MediaPlayerEditor: Showing desired player name instead of current player name if no media loaded Change 3174817 on 2016/10/26 by Max.Preussner WmfMedia: Added support for Motion JPEG (MJPG) Change 3174825 on 2016/10/26 by Max.Preussner WmfMedia: Added support for non-RGB32 uncompressed formats Change 3174834 on 2016/10/26 by Max.Preussner MediaPlayerAssets: Allow pausing while buffering media Change 3174886 on 2016/10/26 by Andrew.Rodham Core: Fixed range test that was testing incorrect behavior Change 3174889 on 2016/10/26 by Andrew.Rodham Sequencer: Fixed AssignActor behavior - Also ensure that cached object state is invalidated when playback context changes #jira UE-37798 Change 3174905 on 2016/10/26 by Andrew.Rodham Sequencer: Changed assert when failing to create an audio component to a log message - Audio no longer plays when GEngine->UseSound() is false #jira UE-37772 Change 3174980 on 2016/10/26 by Andrew.Rodham Sequencer: Remove warning when event endpoint could not be found for a given context #jira UE-37824 Change 3175001 on 2016/10/26 by Andrew.Rodham Sequencer: Evaluate sequence with EMovieScenePlaybackStatus::Jumping on Pause. - Also protect Pause() against reentrancy when being called from an event Change 3175012 on 2016/10/26 by Max.Chen Sequence Recorder: Fixes an empty working and view range after recording. On StopRecording() update playback range after nullifying the current sequence so that the playback range isn't empty. Added SetViewRange and SetWorkingRange. #jira UE-34191 Change 3177760 on 2016/10/28 by Max.Chen Sequence Recorder: Don't update the current sequence name if it's already set. This fixes a bug where if you pass in a sequence name to record to, it gets reset to the name in the sequence recorder settings. #jira UE-37808 Change 3178529 on 2016/10/28 by Max.Chen Matinee to Level Sequence: Added interface to extend the matinee to level sequence converter #jira UE-37328 #2864 [CL 3178562 by Max Chen in Main branch]
2016-10-28 15:04:38 -04:00
TSharedRef<const FGraphDataSource> FProfilerSession::CreateGraphDataSource( const uint32 InStatID )
{
FGraphDataSource* GraphDataSource = new FGraphDataSource( AsShared(), InStatID );
return MakeShareable( GraphDataSource );
}
void FProfilerSession::UpdateAggregatedStats( const uint32 FrameIndex )
{
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2783106 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Introduced GC UObject clusters. GC clusters provide means to create disregard for GC subsets at load time (e.g. Materials with material expressions and their textures). - Saves about 25ms in reachability analysis (58ms -> 33ms) - UObject classes/instances can now be marked as cluster root objects with CanBeClusterRoot() function override. - Cluster creation is automatic. Clusters don't require any manual handling for GC to collect them when nothing is referencing them. - Moved token stream processing to a new class FFastReferenceFinder to make it more generic and re-usable by other code - Removed REFERENCE_INFO macro from GC code and replaced it with a local variable (saves about ~1.9ms: 33.2ms -> 31.3ms) Change 2773094 on 2015/11/19 by Steve.Robb@Dev-Core Multicast script delegate check for existing bindings replaced with ensure. Multicast native delegate no longer checks for existing bindings. Removal of old delegate code. Some FORCEINLINEing to improve debugging experience of stepping into delegate code. Change 2782180 on 2015/11/27 by Graeme.Thornton@GThornton_DesktopMaster Make scoped seconds timer class available outside of stats build. Normal usage macros still remain guarded Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE which only times during the outmost instance of a recursive function Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE_BASE and SCOPE_SECONDS_COUNTER_BASE which are defined in all build types, for easy temporary timing in Test/Shipping builds. Added a boolean parameter to the timer class which can be used to disable it without having to mess around with scoping the calling code Change 2782635 on 2015/11/30 by Graeme.Thornton@GThornton_DesktopMaster Added GetTimeStampPair() to the filemanager and platformfile interfaces. Requests timestamps for a pair of files where we assume that both files would always exist at the same wrapper level. Allows us to skip file system queries for localization package lookups where the native file is in a pak but the localized file doesn't exist. Change 2775153 on 2015/11/20 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec CrashReportServer moved out of the not for licencees, a few fixes, removed RegisterPII Change 2775560 on 2015/11/20 by Steve.Robb@Dev-Core FDelegateBase::GetDelegateInstance deprecated and replaced with FDelegateBase::GetDelegateInstanceProtected. Change 2781138 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Converted is using a new stats reader, a few more optimizations, should be 10x times faster Change 2772990 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Fixing potential dead lock when suspending and resuming async loading multiple times Change 2773023 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Support for references added through AddReferencedObjects in FArchiveReplaceObjectRef Change 2781055 on 2015/11/25 by Steve.Robb@Dev-Core Changes to IDelegateInstance reverted to allow licensees an easier time when upgrading their use of the now-deprecated GetDelegateInstance() code path. New TryGetBoundFunctionName() to aid the debugging of delegate bindings in non-shipping configs. Change 2773114 on 2015/11/19 by Steve.Robb@Dev-Core FMath::IsPowerOfTwo is now templated to take any type. Change 2773643 on 2015/11/19 by Steve.Robb@Dev-Core GetDelegateInstance() calls replaced - delegate instances never compare equal unless you are comparing two unbound delegates (both null) or comparing a delegate with itself. Change 2777686 on 2015/11/23 by Steve.Robb@Dev-Core GitHub #1793 - File write flags argument Change 2780590 on 2015/11/25 by Steve.Robb@Dev-Core Fix for FArchiveProxy::operator<< overloads. Change 2780845 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec #jira UE-23358 - MDD relies on hard-coded P4 depot paths (fixed source context for streams) Change 2780962 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Added FStatsWriteStream for basic saving stat messages into a stream, initial support for reading a regular stats file, minor performance optimization, coding standard fixes #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781887 on 2015/11/26 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler/ProfilerClient - Removed unneeded synchronization points, replaces with task graph SendTo jobs, removed PROFILER_THREADED_LOAD, replaced with new stats loading mechanism, should be around 2x times faster (4x since the optimization pass) #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781893 on 2015/11/26 by Steve.Robb@Dev-Core TCachedOSPageAllocator abstracted from MallocBinned2. Misc tidy-ups. Change 2782198 on 2015/11/27 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Better indication of the loading progress, should no longer freeze without a progress bar #jira UECORE-170 - Improve profiler loading performance (wip) Change 2782446 on 2015/11/29 by Steve.Robb@Dev-Core Warn when calling delegates' Create* functions when they're not assigned to anything. #codereview robert.manuszewski Change 2782538 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 #UE4 Removed DiskCachedAssetDataBuffer as it was not strictly necessary and was triggering a crash when loading the cached registry from disk. This data is now stored directly in DiskCachedAssetDataMap. It was already true that this map does not change outside of SerializeCache but now it is critical since NewCachedAssetDataMap keeps pointers directly to its values. Asset registry fixes by Bob Tellez. Possible fix for UE-23783. Change 2782564 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 FReferenceCollector::AddReferenceObjects performance improvements for TArrays. ARO will no longer call HandleObjectReference multiple times but instead will call HandleObjectReferences just once (currently only implemented for FGCCollector). Reduces the number of virtual function calls while GC'ing. Change 2782716 on 2015/11/30 by Steve.Robb@Dev-Core UObject serial number array initialized for debug visualization. Change 2782933 on 2015/11/30 by Steve.Robb@Dev-Core Critical sections are no longer copyable. Change 2783061 on 2015/11/30 by Steve.Robb@Dev-Core
2015-12-03 14:21:29 -05:00
static FTotalTimeAndCount TimeAndCount( 0.0f, 0 );
PROFILER_SCOPE_LOG_TIME( TEXT( "2 FProfilerSession::UpdateAggregatedStats" ), &TimeAndCount );
const FIntPoint& IndicesForFrame = DataProvider->GetSamplesIndicesForFrame( FrameIndex );
const uint32 SampleStartIndex = IndicesForFrame.X;
const uint32 SampleEndIndex = IndicesForFrame.Y;
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
// Aggregate counters etc.
const FProfilerSampleArray& Collection = DataProvider->GetCollection();
for( uint32 SampleIndex = SampleStartIndex; SampleIndex < SampleEndIndex; SampleIndex++ )
{
const FProfilerSample& ProfilerSample = Collection[ SampleIndex ];
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
// Skip hierarchical samples to ignore misleading recursion which would be counted twice etc.
if (ProfilerSample.Type() == EProfilerSampleTypes::HierarchicalTime)
{
continue;
}
const uint32 StatID = ProfilerSample.StatID();
FProfilerAggregatedStat* AggregatedStat = AggregatedStats.Find( StatID );
if( !AggregatedStat )
{
const FProfilerStat& ProfilerStat = GetMetaData()->GetStatByID( StatID );
AggregatedStat = &AggregatedStats.Add( ProfilerSample.StatID(), FProfilerAggregatedStat( ProfilerStat.Name(), ProfilerStat.OwningGroup().Name(), ProfilerSample.Type() ) );
}
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
AggregatedStat->Aggregate( ProfilerSample, StatMetaData );
}
// Aggregate hierarchical stat.
const TMap<uint32, FInclusiveTime>& InclusiveAggregates = GetInclusiveAggregateStackStats( FrameIndex );
for (const auto& It : InclusiveAggregates)
{
const uint32 StatID = It.Key;
const FInclusiveTime InclusiveTime = It.Value;
const FProfilerStat& ProfilerStat = GetMetaData()->GetStatByID( StatID );
FProfilerAggregatedStat* AggregatedStat = AggregatedStats.Find( StatID );
if (!AggregatedStat)
{
AggregatedStat = &AggregatedStats.Add( StatID, FProfilerAggregatedStat( ProfilerStat.Name(), ProfilerStat.OwningGroup().Name(), ProfilerStat.Type() ) );
}
FProfilerSample MinimalSample( 0, 0, 0, InclusiveTime.DurationCycles, InclusiveTime.CallCount );
AggregatedStat->Aggregate( MinimalSample, StatMetaData );
}
for( auto It = AggregatedStats.CreateIterator(); It; ++It )
{
FProfilerAggregatedStat& AggregatedStat = It.Value();
AggregatedStat.Advance();
}
}
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
FEventGraphData* FProfilerSession::CombineEventGraphs( const uint32 FrameStartIndex, const uint32 FrameEndIndex )
{
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
FEventGraphData* EventGraphData = new FEventGraphData( this, FrameStartIndex );
for (uint32 FrameIndex = FrameStartIndex + 1; FrameIndex < FrameEndIndex; ++FrameIndex)
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2799478 on 2015/12/11 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Added Dev Stream custom versions. - Each stream now has its own custom version - Developers working in a stream should only modify their respective version Change 2789867 on 2015/12/04 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 UnrealHeaderTool plugins no longer need to be a separate plugin and don't require UnrealHeaderTool source code changes to work. - Merged ScriptGeneratorPlugin with ScriptPlugin - Introduced the concept of UHT plugin support for plugins so that UHT's source files don't need to be modified to make it work with external plugins - Added RuntimeNoProgram module type (module that can be used at runtime but not by program targets). - Fixed logic with project file path setting in the engine. It will no longer try to crate a full path from an already rooted path. Change 2796114 on 2015/12/09 by Steve.Robb@Dev-Core TEnumRange - enabled ranged-based for iteration over enum values. Change 2789843 on 2015/12/04 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 More thorough way of verifying GC cluster assumptions. Change 2794221 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Don't merge GC clusters by default Change 2797824 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Added the option to load all symbols for stack walking in non-monolithic builds. Change 2790539 on 2015/12/04 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats/Profiler - Better handling for live connection, using the same path as file profiles, added FStatsLoadedState to separate runtime stats state from the loaded one Change 2794183 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Always reset events when returning them to pool. Change 2794406 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Fixing -unversioned flag being completely ignored when cooking Change 2794563 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Making sure string referenced assets don't get cooked if referenced by editor-only properties. Change 2795124 on 2015/12/08 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Fixed bad data in min/max/avg inclusive times, added min/max/avg num calls, fixed event graph tooltip not displaying correct values Change 2796208 on 2015/12/09 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Remove support for multiple instances in the profiler (game thread is always visible, a few crash fixes, cleaned code a bit) Change 2797658 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Allocation verification helpers. Helps with tracking down memory stomps, freeing the same pointers multiple times. Change 2797699 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Fix incorrect asset loading in Cooked game data (by bozaro) PR #1844 Change 2798173 on 2015/12/10 by Steve.Robb@Dev-Core Migration of Fortnite to use engine's TEnumRange. Change 2798217 on 2015/12/10 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec PR #1331 [Core] Added a stomp allocator that allows finding memory overruns, underruns, and read/write after free. (Contributed by Pablo Zurita) Change 2799605 on 2015/12/11 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Fixing a crash when cancelling async loading caused by detaching linker from objects that had RF_NeedLoad flag set. Change 2799849 on 2015/12/11 by Steve.Robb@Dev-Core Migration of Ocean to use engine's TEnumRange. Change 2803144 on 2015/12/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changed export tagging archive to also serialize class default objects using the normal Serialize path so that it can collect all custom versions used by exports. Change 2803206 on 2015/12/15 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec #jira UE-24177 Audit ôshippingö defines in engine Change 2804868 on 2015/12/16 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. #lockdown Nick.Penwarden [CL 2805158 by Robert Manuszewski in Main branch]
2015-12-16 11:52:36 -05:00
{
// Create a temporary event graph data for the specified frame.
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
const FEventGraphData CurrentEventGraphData( this, FrameIndex );
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2799478 on 2015/12/11 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Added Dev Stream custom versions. - Each stream now has its own custom version - Developers working in a stream should only modify their respective version Change 2789867 on 2015/12/04 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 UnrealHeaderTool plugins no longer need to be a separate plugin and don't require UnrealHeaderTool source code changes to work. - Merged ScriptGeneratorPlugin with ScriptPlugin - Introduced the concept of UHT plugin support for plugins so that UHT's source files don't need to be modified to make it work with external plugins - Added RuntimeNoProgram module type (module that can be used at runtime but not by program targets). - Fixed logic with project file path setting in the engine. It will no longer try to crate a full path from an already rooted path. Change 2796114 on 2015/12/09 by Steve.Robb@Dev-Core TEnumRange - enabled ranged-based for iteration over enum values. Change 2789843 on 2015/12/04 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 More thorough way of verifying GC cluster assumptions. Change 2794221 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Don't merge GC clusters by default Change 2797824 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Added the option to load all symbols for stack walking in non-monolithic builds. Change 2790539 on 2015/12/04 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats/Profiler - Better handling for live connection, using the same path as file profiles, added FStatsLoadedState to separate runtime stats state from the loaded one Change 2794183 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Always reset events when returning them to pool. Change 2794406 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Fixing -unversioned flag being completely ignored when cooking Change 2794563 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Making sure string referenced assets don't get cooked if referenced by editor-only properties. Change 2795124 on 2015/12/08 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Fixed bad data in min/max/avg inclusive times, added min/max/avg num calls, fixed event graph tooltip not displaying correct values Change 2796208 on 2015/12/09 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Remove support for multiple instances in the profiler (game thread is always visible, a few crash fixes, cleaned code a bit) Change 2797658 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Allocation verification helpers. Helps with tracking down memory stomps, freeing the same pointers multiple times. Change 2797699 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Fix incorrect asset loading in Cooked game data (by bozaro) PR #1844 Change 2798173 on 2015/12/10 by Steve.Robb@Dev-Core Migration of Fortnite to use engine's TEnumRange. Change 2798217 on 2015/12/10 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec PR #1331 [Core] Added a stomp allocator that allows finding memory overruns, underruns, and read/write after free. (Contributed by Pablo Zurita) Change 2799605 on 2015/12/11 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Fixing a crash when cancelling async loading caused by detaching linker from objects that had RF_NeedLoad flag set. Change 2799849 on 2015/12/11 by Steve.Robb@Dev-Core Migration of Ocean to use engine's TEnumRange. Change 2803144 on 2015/12/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changed export tagging archive to also serialize class default objects using the normal Serialize path so that it can collect all custom versions used by exports. Change 2803206 on 2015/12/15 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec #jira UE-24177 Audit ôshippingö defines in engine Change 2804868 on 2015/12/16 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. #lockdown Nick.Penwarden [CL 2805158 by Robert Manuszewski in Main branch]
2015-12-16 11:52:36 -05:00
EventGraphData->Combine( CurrentEventGraphData );
}
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
return EventGraphData;
}
void FProfilerSession::CombineEventGraphsTask( const uint32 FrameStartIndex, const uint32 FrameEndIndex )
{
FEventGraphData* SubEventGraph = CombineEventGraphs( FrameStartIndex, FrameEndIndex );
CombinedSubEventGraphsLFL.Push( SubEventGraph );
}
FEventGraphContainer FProfilerSession::CreateEventGraphData( const uint32 FrameStartIndex, const uint32 FrameEndIndex )
{
static FTotalTimeAndCount Current( 0.0f, 0 );
SCOPE_LOG_TIME_FUNC_WITH_GLOBAL( &Current );
const uint32 TotalNumFrames = FrameEndIndex - FrameStartIndex + 1;
enum
{
// Minimum number of frames to combine per task
MIN_NUM_FRAMES_PER_TASK = 8
};
FEventGraphData* EventGraphData = nullptr;
static const bool bUseTaskGraph = true;
if (!bUseTaskGraph)
{
EventGraphData = CombineEventGraphs( FrameStartIndex, FrameEndIndex );
}
else
{
uint32 NumWorkerThreads = (uint32)FTaskGraphInterface::Get().GetNumWorkerThreads();
uint32 NumFramesPerTask = TotalNumFrames / (NumWorkerThreads + 1);
// Find the best configuration to utilize all worker threads.
while (NumFramesPerTask < MIN_NUM_FRAMES_PER_TASK)
{
NumWorkerThreads--;
NumFramesPerTask = TotalNumFrames / (NumWorkerThreads + 1);
if (NumWorkerThreads <= 0)
{
break;
}
}
UE_LOG( LogStats, Verbose, TEXT( "NumFrames: %u, NumWorkerThreads: %u, NumFramesPerTask: %u" ), TotalNumFrames, NumWorkerThreads, NumFramesPerTask );
uint32 NumRemainingFrames = TotalNumFrames;
uint32 MyFrameStartIndex = FrameStartIndex;
FGraphEventArray CompletionEvents;
// Don't run parallel code if not really needed.
if (NumFramesPerTask >= MIN_NUM_FRAMES_PER_TASK)
{
for (uint32 ThreadIndex = 0; ThreadIndex < NumWorkerThreads; ++ThreadIndex)
{
CompletionEvents.Add(FSimpleDelegateGraphTask::CreateAndDispatchWhenReady
(
FSimpleDelegateGraphTask::FDelegate::CreateRaw( this, &FProfilerSession::CombineEventGraphsTask, MyFrameStartIndex, MyFrameStartIndex + NumFramesPerTask ),
TStatId()
));
NumRemainingFrames -= NumFramesPerTask;
MyFrameStartIndex += NumFramesPerTask;
}
}
// Final job for remaining frames.
FEventGraphData* FinalSubEventGraph = CombineEventGraphs( MyFrameStartIndex, MyFrameStartIndex + NumRemainingFrames );
// Wait for results.
FTaskGraphInterface::Get().WaitUntilTasksComplete( CompletionEvents );
// Combine with sub event graphs.
TArray<FEventGraphData*> CombinedSubEventGraphs;
CombinedSubEventGraphsLFL.PopAll( CombinedSubEventGraphs );
for (const auto& It : CombinedSubEventGraphs)
{
FEventGraphData * const SubEventGraph = It;
FinalSubEventGraph->Combine( *SubEventGraph );
delete SubEventGraph;
}
EventGraphData = FinalSubEventGraph;
}
check( EventGraphData );
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2799478 on 2015/12/11 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Added Dev Stream custom versions. - Each stream now has its own custom version - Developers working in a stream should only modify their respective version Change 2789867 on 2015/12/04 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 UnrealHeaderTool plugins no longer need to be a separate plugin and don't require UnrealHeaderTool source code changes to work. - Merged ScriptGeneratorPlugin with ScriptPlugin - Introduced the concept of UHT plugin support for plugins so that UHT's source files don't need to be modified to make it work with external plugins - Added RuntimeNoProgram module type (module that can be used at runtime but not by program targets). - Fixed logic with project file path setting in the engine. It will no longer try to crate a full path from an already rooted path. Change 2796114 on 2015/12/09 by Steve.Robb@Dev-Core TEnumRange - enabled ranged-based for iteration over enum values. Change 2789843 on 2015/12/04 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 More thorough way of verifying GC cluster assumptions. Change 2794221 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Don't merge GC clusters by default Change 2797824 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Added the option to load all symbols for stack walking in non-monolithic builds. Change 2790539 on 2015/12/04 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats/Profiler - Better handling for live connection, using the same path as file profiles, added FStatsLoadedState to separate runtime stats state from the loaded one Change 2794183 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Always reset events when returning them to pool. Change 2794406 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Fixing -unversioned flag being completely ignored when cooking Change 2794563 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Making sure string referenced assets don't get cooked if referenced by editor-only properties. Change 2795124 on 2015/12/08 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Fixed bad data in min/max/avg inclusive times, added min/max/avg num calls, fixed event graph tooltip not displaying correct values Change 2796208 on 2015/12/09 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Remove support for multiple instances in the profiler (game thread is always visible, a few crash fixes, cleaned code a bit) Change 2797658 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Allocation verification helpers. Helps with tracking down memory stomps, freeing the same pointers multiple times. Change 2797699 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Fix incorrect asset loading in Cooked game data (by bozaro) PR #1844 Change 2798173 on 2015/12/10 by Steve.Robb@Dev-Core Migration of Fortnite to use engine's TEnumRange. Change 2798217 on 2015/12/10 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec PR #1331 [Core] Added a stomp allocator that allows finding memory overruns, underruns, and read/write after free. (Contributed by Pablo Zurita) Change 2799605 on 2015/12/11 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Fixing a crash when cancelling async loading caused by detaching linker from objects that had RF_NeedLoad flag set. Change 2799849 on 2015/12/11 by Steve.Robb@Dev-Core Migration of Ocean to use engine's TEnumRange. Change 2803144 on 2015/12/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changed export tagging archive to also serialize class default objects using the normal Serialize path so that it can collect all custom versions used by exports. Change 2803206 on 2015/12/15 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec #jira UE-24177 Audit ôshippingö defines in engine Change 2804868 on 2015/12/16 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. #lockdown Nick.Penwarden [CL 2805158 by Robert Manuszewski in Main branch]
2015-12-16 11:52:36 -05:00
EventGraphData->Finalize( FrameStartIndex, FrameEndIndex + 1 );
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3178529) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3149443 on 2016/10/03 by Max.Preussner MediaAssets: Better parameter names for MediaPlayer BP functions Change 3149756 on 2016/10/03 by Max.Chen Sequence Recorder: Set some settings to be clamped at 0 (sequence length, recording delay, audio gain, audio input buffer size, nearby actor recording proximity) #jira UE-35233 Change 3149795 on 2016/10/03 by Max.Chen Curve Editor: Set tangent to user when flattening or straightening tangents only when the tangent mode is auto and the interp mode is cubic. #jira UE-36734 Change 3150378 on 2016/10/04 by Max.Preussner PS4Media: Made video buffer sizes for file and HLS sources configurable (UE-36807) #jira UE-36807 Change 3151414 on 2016/10/05 by Max.Chen Sequencer: Fix case where restoring the last view target was getting skipped. It should always restore if the camera object and the unlock if camera actor object is null. #jira UE-35285 Change 3152038 on 2016/10/05 by Max.Preussner UdpMessaging: Code & documentation modernization pass Change 3152471 on 2016/10/05 by Max.Chen Cine Camera: Don't enable/disable actor ticking based soley on actor tracking since actor ticking is needed for other purposes. Instead, always enable actor ticking and only update actor tracking on tick if necessary. This fixes a bug where the cine camera actor won't tick if you hook in event tick. #jira UE-36625 Change 3152692 on 2016/10/05 by Max.Preussner Messaging: API code & documentation modernization pass Mostly removed shared pointer/ref typedefs as they prevent forward declarations and increase include complexity. Change 3153824 on 2016/10/06 by Max.Preussner Messaging: Renamed IConnectionBasedMessagingModule to ITcpMessagingModule and moved it into TcpMessaging I recommend that we refactor this API. The dependency should be reversed, i.e. instead of AndroidDeviceDiscovery depending on the TcpMessaging plug-in module, the Engine should provide a central registry that device discovery modules can notify, and that message transport plug-ins can register with and listen to OnConnectionAdded/Removed events etc. That way it supports an arbitrary number of transport plug-ins, and the Engine is not coupled to any of them. This functionality is not necessarily related to messaging, and the Messaging API is transport agnostic anyway. I'll think about this some more. Change 3153826 on 2016/10/06 by Max.Preussner Messaging: Removed remaining typedefs in IMessageTracer to enable forward declaration and reduce include dependencies Change 3153857 on 2016/10/06 by Max.Chen Sequencer: Set snap time to dragged key on by default. Change 3153980 on 2016/10/06 by Max.Preussner SessionServices: Removed typedefs; code and documentation modernization pass Change 3154313 on 2016/10/06 by Max.Chen Sequencer: Set the paste keys time to the current time, rather than the mouse time. Change 3154332 on 2016/10/06 by Max.Chen Sequencer: Remove click to rename shot functionality in the shot thumbnail. Added rename shot to the shot context menu. Change 3154377 on 2016/10/07 by Max.Chen Sequencer: Add ability to step to beginning and ends of sections/shots using the hotkeys: , and . Change 3154788 on 2016/10/07 by Max.Chen Sequencer: Fix offsets that created when moving multiple sections. The offsets were being created because section bounds were being generated for all sections except for the current section. Instead, they should be computed for all sections except for any that aren't being moved. #jira UE-29152 Change 3159274 on 2016/10/11 by Max.Preussner Core: Documentation fixes Change 3159275 on 2016/10/11 by Max.Preussner UdpMessaging: Added missing header Change 3160746 on 2016/10/12 by Max.Preussner MediaAssets: Added BP functions to query width, height, and aspect ratio of UMediaTexture instances #jira UE-37241 Change 3160975 on 2016/10/12 by Max.Preussner PS4Media: Better logging for SetRate failures Change 3160995 on 2016/10/12 by Max.Preussner MediaPlayerEditor: Fixed Media player selection is ignored if media specifies player overrides (UE-37248) #jira UE-37248 Change 3161066 on 2016/10/12 by Max.Preussner PS4Media: Enforcing minimum 8 byte alignment for media allocations Change 3161069 on 2016/10/12 by Max.Preussner PS4Media: Fixed log spam when setting play rate to current rate Change 3162567 on 2016/10/13 by Max.Preussner PS4Media: Made track switching code more readable Change 3163447 on 2016/10/14 by Max.Preussner PS4Media: Fixed array out of bounds assertions Change 3163772 on 2016/10/14 by Max.Preussner MfMedia: Fixed a number of timing related issues Change 3163980 on 2016/10/15 by Max.Chen Sequencer: Remove folder name numeric padding so that the naming convention is similar to creating objects in the level. Change 3164581 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure global pre-animated state is restored in reverse order Change 3164582 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure pre animated state is restored for all actor components before saving default state Change 3164583 on 2016/10/17 by Andrew.Rodham Sequencer: Re-enabled support for pre and post roll Change 3165464 on 2016/10/17 by Max.Chen Sequencer: Default number frame handles to 0 so that there's no change in behavior when rendering out a master sequence of shots. Handle frames need to enabled explicitly by the user. Copy from Release-4.14 #jira UE-37416 Change 3165483 on 2016/10/17 by Max.Chen Sequencer: Enable restore state for attach section completion Change 3165771 on 2016/10/18 by Andrew.Rodham Sequencer: Force evaluate when rendering thumbnails #jira UE-37321 Change 3166057 on 2016/10/18 by Andrew.Rodham Sequencer: Only set defaults for tracks that have no keys, and where the requested default has changed #jira UE-37285 Change 3166218 on 2016/10/18 by Max.Preussner MediaPlayerEditor: Failure opening media, even though it opened successfully (UE-37470) #jira UE-37470 Change 3166247 on 2016/10/18 by Max.Preussner WmfMedia: Showing progress bar while media is being resolved Change 3166289 on 2016/10/18 by Max.Preussner MfMedia: Showing progress bar while media is being resolved Change 3166993 on 2016/10/18 by Max.Preussner MfMedia: Fixed info string not reset on media close. Change 3166999 on 2016/10/19 by Max.Preussner Media: Fixed NV12 and NV21 support Change 3167008 on 2016/10/19 by Max.Preussner Media: Removed vertical NV12 alignment Change 3167029 on 2016/10/19 by Max.Preussner WmfMedia: Temp fix for RGB32 encoded AVIs rendering upside-down and too bright (UE-37505) #jira UE-37505 Change 3168593 on 2016/10/19 by Max.Chen Sequencer: Change paste at time to local time, so that the paste happens in the local time of the sequence rather than the global time if pasting in a shot level sequence. Change 3168626 on 2016/10/19 by Max.Chen Sequencer: Clamp to view bounds should snap to frame if frame snapping is on. Change 3168627 on 2016/10/19 by Max.Chen Sequencer: Initialize working and view range to be 10% larger than playback range. Change 3168760 on 2016/10/20 by Max.Preussner Media: Revamped media texture buffer management to support padded frames Added support for Windows bitmap buffers. Fixed a number of format, conversion and/or looping issues in WmfMedia and MfMedia. Not all shaders have been updated yet. Change 3169640 on 2016/10/20 by Max.Chen Sequencer: Add current camera to FLevelSequencePlayerSnapshot. Adjust DefaultBurnIn to include a few more parameters like focal length and focus distance. #jira UE-37407 Change 3170677 on 2016/10/21 by Max.Chen Movie Scene Capture: Add toggle to override engine scalability settings to cinematic scalability. #jira UE-36560 Change 3170710 on 2016/10/21 by Max.Preussner Media: Optimized handling of RGB input Change 3170712 on 2016/10/21 by Max.Preussner Media: Fixed NV21 conversion shader scaling Change 3170923 on 2016/10/21 by Max.Preussner UBT: Copied XboxOne project generator fix from Fortnite CL# 3170868 Change 3171494 on 2016/10/23 by Max.Chen Sequencer: Fix fbx export from master sequence not finding bound objects. #jira UE-35752 Change 3171506 on 2016/10/23 by Max.Chen Sequencer: Draw where in and out points of the shot section are, just like subsequences do. Change to only draw the green starting line if StartOffset is negative. #jira UE-35473 Change 3171743 on 2016/10/24 by Andrew.Rodham Editor: Added support for detail customizations on root structs - Also added the ability to add external struct data onto a detail category builder, and property type customization. Change 3171752 on 2016/10/24 by Andrew.Rodham Sequencer: Fixed spawnable ownership - Spawnables are no longer destroyed when the cursor leaves the master playback range. - Spawnable ownership now operates as it previously did before the evaluation rework. - bIgnoreOwnershipInEditor has been removed since its existence was a work around for when we didn't evaluate sub sequences from the master sequence. - FMovieSceneSequenceID is now a struct so that it can be used in array properties - Meta data now exists for each segment of an evaluation field. Currently this only includes the sub sequence IDs that exist at that time, but it may be expanded to include all evaluation entities (tracks + sections) in future so we don't have to calculate that at runtime. Change 3171756 on 2016/10/24 by Andrew.Rodham Sequencer: Added ability to trigger events with parameters - It's now possible to supply an event payload on event track keys which are to be passed to a given event. The structure must match the signature of the event, or a warning will be emitted. - Added a templated TGenericKeyArea, TKeyFrameManipulator and TCurveInterface that allow to generic manipulation of keyframe section data. In time we will port the other key areas over to this representation. - This new architecture affords the common manipulation of time-based keyframes in a value-agnostic manner. Change 3172935 on 2016/10/24 by Max.Preussner MediaPlayerEditor: Fixed MediaPlayer asset not being dirtied when creating media sound wave or texture for it Change 3173947 on 2016/10/25 by Max.Preussner SlateRemote: Disabled plug-in, but enabled server by default Change 3174510 on 2016/10/26 by Max.Chen Sequencer: Fix slomo track crash #jira UE-37802 Change 3174698 on 2016/10/26 by Andrew.Rodham UMG: Fixed objects bound to a panel slot animating their slot's content instead of the slot itself #jira UE-37775 Change 3174780 on 2016/10/26 by Max.Preussner MediaAssets: Accepting decoder defined buffer dimensions for RGB buffers Change 3174789 on 2016/10/26 by Max.Preussner MediaPlayerEditor: Showing desired player name instead of current player name if no media loaded Change 3174817 on 2016/10/26 by Max.Preussner WmfMedia: Added support for Motion JPEG (MJPG) Change 3174825 on 2016/10/26 by Max.Preussner WmfMedia: Added support for non-RGB32 uncompressed formats Change 3174834 on 2016/10/26 by Max.Preussner MediaPlayerAssets: Allow pausing while buffering media Change 3174886 on 2016/10/26 by Andrew.Rodham Core: Fixed range test that was testing incorrect behavior Change 3174889 on 2016/10/26 by Andrew.Rodham Sequencer: Fixed AssignActor behavior - Also ensure that cached object state is invalidated when playback context changes #jira UE-37798 Change 3174905 on 2016/10/26 by Andrew.Rodham Sequencer: Changed assert when failing to create an audio component to a log message - Audio no longer plays when GEngine->UseSound() is false #jira UE-37772 Change 3174980 on 2016/10/26 by Andrew.Rodham Sequencer: Remove warning when event endpoint could not be found for a given context #jira UE-37824 Change 3175001 on 2016/10/26 by Andrew.Rodham Sequencer: Evaluate sequence with EMovieScenePlaybackStatus::Jumping on Pause. - Also protect Pause() against reentrancy when being called from an event Change 3175012 on 2016/10/26 by Max.Chen Sequence Recorder: Fixes an empty working and view range after recording. On StopRecording() update playback range after nullifying the current sequence so that the playback range isn't empty. Added SetViewRange and SetWorkingRange. #jira UE-34191 Change 3177760 on 2016/10/28 by Max.Chen Sequence Recorder: Don't update the current sequence name if it's already set. This fixes a bug where if you pass in a sequence name to record to, it gets reset to the name in the sequence recorder settings. #jira UE-37808 Change 3178529 on 2016/10/28 by Max.Chen Matinee to Level Sequence: Added interface to extend the matinee to level sequence converter #jira UE-37328 #2864 [CL 3178562 by Max Chen in Main branch]
2016-10-28 15:04:38 -04:00
TSharedRef<FEventGraphData, ESPMode::ThreadSafe> Total = MakeShareable( EventGraphData );
TSharedRef<FEventGraphData, ESPMode::ThreadSafe> Average = Total->DuplicateAsRef();
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
Average->SetAsAverage();
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2799478 on 2015/12/11 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Added Dev Stream custom versions. - Each stream now has its own custom version - Developers working in a stream should only modify their respective version Change 2789867 on 2015/12/04 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 UnrealHeaderTool plugins no longer need to be a separate plugin and don't require UnrealHeaderTool source code changes to work. - Merged ScriptGeneratorPlugin with ScriptPlugin - Introduced the concept of UHT plugin support for plugins so that UHT's source files don't need to be modified to make it work with external plugins - Added RuntimeNoProgram module type (module that can be used at runtime but not by program targets). - Fixed logic with project file path setting in the engine. It will no longer try to crate a full path from an already rooted path. Change 2796114 on 2015/12/09 by Steve.Robb@Dev-Core TEnumRange - enabled ranged-based for iteration over enum values. Change 2789843 on 2015/12/04 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 More thorough way of verifying GC cluster assumptions. Change 2794221 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Don't merge GC clusters by default Change 2797824 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Added the option to load all symbols for stack walking in non-monolithic builds. Change 2790539 on 2015/12/04 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats/Profiler - Better handling for live connection, using the same path as file profiles, added FStatsLoadedState to separate runtime stats state from the loaded one Change 2794183 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Always reset events when returning them to pool. Change 2794406 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Fixing -unversioned flag being completely ignored when cooking Change 2794563 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Making sure string referenced assets don't get cooked if referenced by editor-only properties. Change 2795124 on 2015/12/08 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Fixed bad data in min/max/avg inclusive times, added min/max/avg num calls, fixed event graph tooltip not displaying correct values Change 2796208 on 2015/12/09 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Remove support for multiple instances in the profiler (game thread is always visible, a few crash fixes, cleaned code a bit) Change 2797658 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Allocation verification helpers. Helps with tracking down memory stomps, freeing the same pointers multiple times. Change 2797699 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Fix incorrect asset loading in Cooked game data (by bozaro) PR #1844 Change 2798173 on 2015/12/10 by Steve.Robb@Dev-Core Migration of Fortnite to use engine's TEnumRange. Change 2798217 on 2015/12/10 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec PR #1331 [Core] Added a stomp allocator that allows finding memory overruns, underruns, and read/write after free. (Contributed by Pablo Zurita) Change 2799605 on 2015/12/11 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Fixing a crash when cancelling async loading caused by detaching linker from objects that had RF_NeedLoad flag set. Change 2799849 on 2015/12/11 by Steve.Robb@Dev-Core Migration of Ocean to use engine's TEnumRange. Change 2803144 on 2015/12/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changed export tagging archive to also serialize class default objects using the normal Serialize path so that it can collect all custom versions used by exports. Change 2803206 on 2015/12/15 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec #jira UE-24177 Audit ôshippingö defines in engine Change 2804868 on 2015/12/16 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. #lockdown Nick.Penwarden [CL 2805158 by Robert Manuszewski in Main branch]
2015-12-16 11:52:36 -05:00
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3178529) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3149443 on 2016/10/03 by Max.Preussner MediaAssets: Better parameter names for MediaPlayer BP functions Change 3149756 on 2016/10/03 by Max.Chen Sequence Recorder: Set some settings to be clamped at 0 (sequence length, recording delay, audio gain, audio input buffer size, nearby actor recording proximity) #jira UE-35233 Change 3149795 on 2016/10/03 by Max.Chen Curve Editor: Set tangent to user when flattening or straightening tangents only when the tangent mode is auto and the interp mode is cubic. #jira UE-36734 Change 3150378 on 2016/10/04 by Max.Preussner PS4Media: Made video buffer sizes for file and HLS sources configurable (UE-36807) #jira UE-36807 Change 3151414 on 2016/10/05 by Max.Chen Sequencer: Fix case where restoring the last view target was getting skipped. It should always restore if the camera object and the unlock if camera actor object is null. #jira UE-35285 Change 3152038 on 2016/10/05 by Max.Preussner UdpMessaging: Code & documentation modernization pass Change 3152471 on 2016/10/05 by Max.Chen Cine Camera: Don't enable/disable actor ticking based soley on actor tracking since actor ticking is needed for other purposes. Instead, always enable actor ticking and only update actor tracking on tick if necessary. This fixes a bug where the cine camera actor won't tick if you hook in event tick. #jira UE-36625 Change 3152692 on 2016/10/05 by Max.Preussner Messaging: API code & documentation modernization pass Mostly removed shared pointer/ref typedefs as they prevent forward declarations and increase include complexity. Change 3153824 on 2016/10/06 by Max.Preussner Messaging: Renamed IConnectionBasedMessagingModule to ITcpMessagingModule and moved it into TcpMessaging I recommend that we refactor this API. The dependency should be reversed, i.e. instead of AndroidDeviceDiscovery depending on the TcpMessaging plug-in module, the Engine should provide a central registry that device discovery modules can notify, and that message transport plug-ins can register with and listen to OnConnectionAdded/Removed events etc. That way it supports an arbitrary number of transport plug-ins, and the Engine is not coupled to any of them. This functionality is not necessarily related to messaging, and the Messaging API is transport agnostic anyway. I'll think about this some more. Change 3153826 on 2016/10/06 by Max.Preussner Messaging: Removed remaining typedefs in IMessageTracer to enable forward declaration and reduce include dependencies Change 3153857 on 2016/10/06 by Max.Chen Sequencer: Set snap time to dragged key on by default. Change 3153980 on 2016/10/06 by Max.Preussner SessionServices: Removed typedefs; code and documentation modernization pass Change 3154313 on 2016/10/06 by Max.Chen Sequencer: Set the paste keys time to the current time, rather than the mouse time. Change 3154332 on 2016/10/06 by Max.Chen Sequencer: Remove click to rename shot functionality in the shot thumbnail. Added rename shot to the shot context menu. Change 3154377 on 2016/10/07 by Max.Chen Sequencer: Add ability to step to beginning and ends of sections/shots using the hotkeys: , and . Change 3154788 on 2016/10/07 by Max.Chen Sequencer: Fix offsets that created when moving multiple sections. The offsets were being created because section bounds were being generated for all sections except for the current section. Instead, they should be computed for all sections except for any that aren't being moved. #jira UE-29152 Change 3159274 on 2016/10/11 by Max.Preussner Core: Documentation fixes Change 3159275 on 2016/10/11 by Max.Preussner UdpMessaging: Added missing header Change 3160746 on 2016/10/12 by Max.Preussner MediaAssets: Added BP functions to query width, height, and aspect ratio of UMediaTexture instances #jira UE-37241 Change 3160975 on 2016/10/12 by Max.Preussner PS4Media: Better logging for SetRate failures Change 3160995 on 2016/10/12 by Max.Preussner MediaPlayerEditor: Fixed Media player selection is ignored if media specifies player overrides (UE-37248) #jira UE-37248 Change 3161066 on 2016/10/12 by Max.Preussner PS4Media: Enforcing minimum 8 byte alignment for media allocations Change 3161069 on 2016/10/12 by Max.Preussner PS4Media: Fixed log spam when setting play rate to current rate Change 3162567 on 2016/10/13 by Max.Preussner PS4Media: Made track switching code more readable Change 3163447 on 2016/10/14 by Max.Preussner PS4Media: Fixed array out of bounds assertions Change 3163772 on 2016/10/14 by Max.Preussner MfMedia: Fixed a number of timing related issues Change 3163980 on 2016/10/15 by Max.Chen Sequencer: Remove folder name numeric padding so that the naming convention is similar to creating objects in the level. Change 3164581 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure global pre-animated state is restored in reverse order Change 3164582 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure pre animated state is restored for all actor components before saving default state Change 3164583 on 2016/10/17 by Andrew.Rodham Sequencer: Re-enabled support for pre and post roll Change 3165464 on 2016/10/17 by Max.Chen Sequencer: Default number frame handles to 0 so that there's no change in behavior when rendering out a master sequence of shots. Handle frames need to enabled explicitly by the user. Copy from Release-4.14 #jira UE-37416 Change 3165483 on 2016/10/17 by Max.Chen Sequencer: Enable restore state for attach section completion Change 3165771 on 2016/10/18 by Andrew.Rodham Sequencer: Force evaluate when rendering thumbnails #jira UE-37321 Change 3166057 on 2016/10/18 by Andrew.Rodham Sequencer: Only set defaults for tracks that have no keys, and where the requested default has changed #jira UE-37285 Change 3166218 on 2016/10/18 by Max.Preussner MediaPlayerEditor: Failure opening media, even though it opened successfully (UE-37470) #jira UE-37470 Change 3166247 on 2016/10/18 by Max.Preussner WmfMedia: Showing progress bar while media is being resolved Change 3166289 on 2016/10/18 by Max.Preussner MfMedia: Showing progress bar while media is being resolved Change 3166993 on 2016/10/18 by Max.Preussner MfMedia: Fixed info string not reset on media close. Change 3166999 on 2016/10/19 by Max.Preussner Media: Fixed NV12 and NV21 support Change 3167008 on 2016/10/19 by Max.Preussner Media: Removed vertical NV12 alignment Change 3167029 on 2016/10/19 by Max.Preussner WmfMedia: Temp fix for RGB32 encoded AVIs rendering upside-down and too bright (UE-37505) #jira UE-37505 Change 3168593 on 2016/10/19 by Max.Chen Sequencer: Change paste at time to local time, so that the paste happens in the local time of the sequence rather than the global time if pasting in a shot level sequence. Change 3168626 on 2016/10/19 by Max.Chen Sequencer: Clamp to view bounds should snap to frame if frame snapping is on. Change 3168627 on 2016/10/19 by Max.Chen Sequencer: Initialize working and view range to be 10% larger than playback range. Change 3168760 on 2016/10/20 by Max.Preussner Media: Revamped media texture buffer management to support padded frames Added support for Windows bitmap buffers. Fixed a number of format, conversion and/or looping issues in WmfMedia and MfMedia. Not all shaders have been updated yet. Change 3169640 on 2016/10/20 by Max.Chen Sequencer: Add current camera to FLevelSequencePlayerSnapshot. Adjust DefaultBurnIn to include a few more parameters like focal length and focus distance. #jira UE-37407 Change 3170677 on 2016/10/21 by Max.Chen Movie Scene Capture: Add toggle to override engine scalability settings to cinematic scalability. #jira UE-36560 Change 3170710 on 2016/10/21 by Max.Preussner Media: Optimized handling of RGB input Change 3170712 on 2016/10/21 by Max.Preussner Media: Fixed NV21 conversion shader scaling Change 3170923 on 2016/10/21 by Max.Preussner UBT: Copied XboxOne project generator fix from Fortnite CL# 3170868 Change 3171494 on 2016/10/23 by Max.Chen Sequencer: Fix fbx export from master sequence not finding bound objects. #jira UE-35752 Change 3171506 on 2016/10/23 by Max.Chen Sequencer: Draw where in and out points of the shot section are, just like subsequences do. Change to only draw the green starting line if StartOffset is negative. #jira UE-35473 Change 3171743 on 2016/10/24 by Andrew.Rodham Editor: Added support for detail customizations on root structs - Also added the ability to add external struct data onto a detail category builder, and property type customization. Change 3171752 on 2016/10/24 by Andrew.Rodham Sequencer: Fixed spawnable ownership - Spawnables are no longer destroyed when the cursor leaves the master playback range. - Spawnable ownership now operates as it previously did before the evaluation rework. - bIgnoreOwnershipInEditor has been removed since its existence was a work around for when we didn't evaluate sub sequences from the master sequence. - FMovieSceneSequenceID is now a struct so that it can be used in array properties - Meta data now exists for each segment of an evaluation field. Currently this only includes the sub sequence IDs that exist at that time, but it may be expanded to include all evaluation entities (tracks + sections) in future so we don't have to calculate that at runtime. Change 3171756 on 2016/10/24 by Andrew.Rodham Sequencer: Added ability to trigger events with parameters - It's now possible to supply an event payload on event track keys which are to be passed to a given event. The structure must match the signature of the event, or a warning will be emitted. - Added a templated TGenericKeyArea, TKeyFrameManipulator and TCurveInterface that allow to generic manipulation of keyframe section data. In time we will port the other key areas over to this representation. - This new architecture affords the common manipulation of time-based keyframes in a value-agnostic manner. Change 3172935 on 2016/10/24 by Max.Preussner MediaPlayerEditor: Fixed MediaPlayer asset not being dirtied when creating media sound wave or texture for it Change 3173947 on 2016/10/25 by Max.Preussner SlateRemote: Disabled plug-in, but enabled server by default Change 3174510 on 2016/10/26 by Max.Chen Sequencer: Fix slomo track crash #jira UE-37802 Change 3174698 on 2016/10/26 by Andrew.Rodham UMG: Fixed objects bound to a panel slot animating their slot's content instead of the slot itself #jira UE-37775 Change 3174780 on 2016/10/26 by Max.Preussner MediaAssets: Accepting decoder defined buffer dimensions for RGB buffers Change 3174789 on 2016/10/26 by Max.Preussner MediaPlayerEditor: Showing desired player name instead of current player name if no media loaded Change 3174817 on 2016/10/26 by Max.Preussner WmfMedia: Added support for Motion JPEG (MJPG) Change 3174825 on 2016/10/26 by Max.Preussner WmfMedia: Added support for non-RGB32 uncompressed formats Change 3174834 on 2016/10/26 by Max.Preussner MediaPlayerAssets: Allow pausing while buffering media Change 3174886 on 2016/10/26 by Andrew.Rodham Core: Fixed range test that was testing incorrect behavior Change 3174889 on 2016/10/26 by Andrew.Rodham Sequencer: Fixed AssignActor behavior - Also ensure that cached object state is invalidated when playback context changes #jira UE-37798 Change 3174905 on 2016/10/26 by Andrew.Rodham Sequencer: Changed assert when failing to create an audio component to a log message - Audio no longer plays when GEngine->UseSound() is false #jira UE-37772 Change 3174980 on 2016/10/26 by Andrew.Rodham Sequencer: Remove warning when event endpoint could not be found for a given context #jira UE-37824 Change 3175001 on 2016/10/26 by Andrew.Rodham Sequencer: Evaluate sequence with EMovieScenePlaybackStatus::Jumping on Pause. - Also protect Pause() against reentrancy when being called from an event Change 3175012 on 2016/10/26 by Max.Chen Sequence Recorder: Fixes an empty working and view range after recording. On StopRecording() update playback range after nullifying the current sequence so that the playback range isn't empty. Added SetViewRange and SetWorkingRange. #jira UE-34191 Change 3177760 on 2016/10/28 by Max.Chen Sequence Recorder: Don't update the current sequence name if it's already set. This fixes a bug where if you pass in a sequence name to record to, it gets reset to the name in the sequence recorder settings. #jira UE-37808 Change 3178529 on 2016/10/28 by Max.Chen Matinee to Level Sequence: Added interface to extend the matinee to level sequence converter #jira UE-37328 #2864 [CL 3178562 by Max Chen in Main branch]
2016-10-28 15:04:38 -04:00
TSharedRef<FEventGraphData, ESPMode::ThreadSafe> Maximum = Total->DuplicateAsRef();
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
Maximum->SetAsMaximim();
FEventGraphContainer EventGraphContainer( FrameStartIndex, FrameEndIndex + 1, Average, Maximum, Total );
return EventGraphContainer;
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2799478 on 2015/12/11 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Added Dev Stream custom versions. - Each stream now has its own custom version - Developers working in a stream should only modify their respective version Change 2789867 on 2015/12/04 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 UnrealHeaderTool plugins no longer need to be a separate plugin and don't require UnrealHeaderTool source code changes to work. - Merged ScriptGeneratorPlugin with ScriptPlugin - Introduced the concept of UHT plugin support for plugins so that UHT's source files don't need to be modified to make it work with external plugins - Added RuntimeNoProgram module type (module that can be used at runtime but not by program targets). - Fixed logic with project file path setting in the engine. It will no longer try to crate a full path from an already rooted path. Change 2796114 on 2015/12/09 by Steve.Robb@Dev-Core TEnumRange - enabled ranged-based for iteration over enum values. Change 2789843 on 2015/12/04 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 More thorough way of verifying GC cluster assumptions. Change 2794221 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Don't merge GC clusters by default Change 2797824 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Added the option to load all symbols for stack walking in non-monolithic builds. Change 2790539 on 2015/12/04 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats/Profiler - Better handling for live connection, using the same path as file profiles, added FStatsLoadedState to separate runtime stats state from the loaded one Change 2794183 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Always reset events when returning them to pool. Change 2794406 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Fixing -unversioned flag being completely ignored when cooking Change 2794563 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Making sure string referenced assets don't get cooked if referenced by editor-only properties. Change 2795124 on 2015/12/08 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Fixed bad data in min/max/avg inclusive times, added min/max/avg num calls, fixed event graph tooltip not displaying correct values Change 2796208 on 2015/12/09 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Remove support for multiple instances in the profiler (game thread is always visible, a few crash fixes, cleaned code a bit) Change 2797658 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Allocation verification helpers. Helps with tracking down memory stomps, freeing the same pointers multiple times. Change 2797699 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Fix incorrect asset loading in Cooked game data (by bozaro) PR #1844 Change 2798173 on 2015/12/10 by Steve.Robb@Dev-Core Migration of Fortnite to use engine's TEnumRange. Change 2798217 on 2015/12/10 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec PR #1331 [Core] Added a stomp allocator that allows finding memory overruns, underruns, and read/write after free. (Contributed by Pablo Zurita) Change 2799605 on 2015/12/11 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Fixing a crash when cancelling async loading caused by detaching linker from objects that had RF_NeedLoad flag set. Change 2799849 on 2015/12/11 by Steve.Robb@Dev-Core Migration of Ocean to use engine's TEnumRange. Change 2803144 on 2015/12/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changed export tagging archive to also serialize class default objects using the normal Serialize path so that it can collect all custom versions used by exports. Change 2803206 on 2015/12/15 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec #jira UE-24177 Audit ôshippingö defines in engine Change 2804868 on 2015/12/16 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. #lockdown Nick.Penwarden [CL 2805158 by Robert Manuszewski in Main branch]
2015-12-16 11:52:36 -05:00
}
void FProfilerSession::EventGraphCombine( const FEventGraphData* Current, const uint32 InNumFrames )
{
if (EventGraphDataTotal.IsValid())
{
EventGraphDataTotal->Combine( *Current );
}
else
{
EventGraphDataTotal = MakeShareable( new FEventGraphData( *Current ) );
}
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2783106 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Introduced GC UObject clusters. GC clusters provide means to create disregard for GC subsets at load time (e.g. Materials with material expressions and their textures). - Saves about 25ms in reachability analysis (58ms -> 33ms) - UObject classes/instances can now be marked as cluster root objects with CanBeClusterRoot() function override. - Cluster creation is automatic. Clusters don't require any manual handling for GC to collect them when nothing is referencing them. - Moved token stream processing to a new class FFastReferenceFinder to make it more generic and re-usable by other code - Removed REFERENCE_INFO macro from GC code and replaced it with a local variable (saves about ~1.9ms: 33.2ms -> 31.3ms) Change 2773094 on 2015/11/19 by Steve.Robb@Dev-Core Multicast script delegate check for existing bindings replaced with ensure. Multicast native delegate no longer checks for existing bindings. Removal of old delegate code. Some FORCEINLINEing to improve debugging experience of stepping into delegate code. Change 2782180 on 2015/11/27 by Graeme.Thornton@GThornton_DesktopMaster Make scoped seconds timer class available outside of stats build. Normal usage macros still remain guarded Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE which only times during the outmost instance of a recursive function Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE_BASE and SCOPE_SECONDS_COUNTER_BASE which are defined in all build types, for easy temporary timing in Test/Shipping builds. Added a boolean parameter to the timer class which can be used to disable it without having to mess around with scoping the calling code Change 2782635 on 2015/11/30 by Graeme.Thornton@GThornton_DesktopMaster Added GetTimeStampPair() to the filemanager and platformfile interfaces. Requests timestamps for a pair of files where we assume that both files would always exist at the same wrapper level. Allows us to skip file system queries for localization package lookups where the native file is in a pak but the localized file doesn't exist. Change 2775153 on 2015/11/20 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec CrashReportServer moved out of the not for licencees, a few fixes, removed RegisterPII Change 2775560 on 2015/11/20 by Steve.Robb@Dev-Core FDelegateBase::GetDelegateInstance deprecated and replaced with FDelegateBase::GetDelegateInstanceProtected. Change 2781138 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Converted is using a new stats reader, a few more optimizations, should be 10x times faster Change 2772990 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Fixing potential dead lock when suspending and resuming async loading multiple times Change 2773023 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Support for references added through AddReferencedObjects in FArchiveReplaceObjectRef Change 2781055 on 2015/11/25 by Steve.Robb@Dev-Core Changes to IDelegateInstance reverted to allow licensees an easier time when upgrading their use of the now-deprecated GetDelegateInstance() code path. New TryGetBoundFunctionName() to aid the debugging of delegate bindings in non-shipping configs. Change 2773114 on 2015/11/19 by Steve.Robb@Dev-Core FMath::IsPowerOfTwo is now templated to take any type. Change 2773643 on 2015/11/19 by Steve.Robb@Dev-Core GetDelegateInstance() calls replaced - delegate instances never compare equal unless you are comparing two unbound delegates (both null) or comparing a delegate with itself. Change 2777686 on 2015/11/23 by Steve.Robb@Dev-Core GitHub #1793 - File write flags argument Change 2780590 on 2015/11/25 by Steve.Robb@Dev-Core Fix for FArchiveProxy::operator<< overloads. Change 2780845 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec #jira UE-23358 - MDD relies on hard-coded P4 depot paths (fixed source context for streams) Change 2780962 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Added FStatsWriteStream for basic saving stat messages into a stream, initial support for reading a regular stats file, minor performance optimization, coding standard fixes #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781887 on 2015/11/26 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler/ProfilerClient - Removed unneeded synchronization points, replaces with task graph SendTo jobs, removed PROFILER_THREADED_LOAD, replaced with new stats loading mechanism, should be around 2x times faster (4x since the optimization pass) #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781893 on 2015/11/26 by Steve.Robb@Dev-Core TCachedOSPageAllocator abstracted from MallocBinned2. Misc tidy-ups. Change 2782198 on 2015/11/27 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Better indication of the loading progress, should no longer freeze without a progress bar #jira UECORE-170 - Improve profiler loading performance (wip) Change 2782446 on 2015/11/29 by Steve.Robb@Dev-Core Warn when calling delegates' Create* functions when they're not assigned to anything. #codereview robert.manuszewski Change 2782538 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 #UE4 Removed DiskCachedAssetDataBuffer as it was not strictly necessary and was triggering a crash when loading the cached registry from disk. This data is now stored directly in DiskCachedAssetDataMap. It was already true that this map does not change outside of SerializeCache but now it is critical since NewCachedAssetDataMap keeps pointers directly to its values. Asset registry fixes by Bob Tellez. Possible fix for UE-23783. Change 2782564 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 FReferenceCollector::AddReferenceObjects performance improvements for TArrays. ARO will no longer call HandleObjectReference multiple times but instead will call HandleObjectReferences just once (currently only implemented for FGCCollector). Reduces the number of virtual function calls while GC'ing. Change 2782716 on 2015/11/30 by Steve.Robb@Dev-Core UObject serial number array initialized for debug visualization. Change 2782933 on 2015/11/30 by Steve.Robb@Dev-Core Critical sections are no longer copyable. Change 2783061 on 2015/11/30 by Steve.Robb@Dev-Core
2015-12-03 14:21:29 -05:00
if (InNumFrames > 0)
{
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2799478 on 2015/12/11 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Added Dev Stream custom versions. - Each stream now has its own custom version - Developers working in a stream should only modify their respective version Change 2789867 on 2015/12/04 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 UnrealHeaderTool plugins no longer need to be a separate plugin and don't require UnrealHeaderTool source code changes to work. - Merged ScriptGeneratorPlugin with ScriptPlugin - Introduced the concept of UHT plugin support for plugins so that UHT's source files don't need to be modified to make it work with external plugins - Added RuntimeNoProgram module type (module that can be used at runtime but not by program targets). - Fixed logic with project file path setting in the engine. It will no longer try to crate a full path from an already rooted path. Change 2796114 on 2015/12/09 by Steve.Robb@Dev-Core TEnumRange - enabled ranged-based for iteration over enum values. Change 2789843 on 2015/12/04 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 More thorough way of verifying GC cluster assumptions. Change 2794221 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Don't merge GC clusters by default Change 2797824 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Added the option to load all symbols for stack walking in non-monolithic builds. Change 2790539 on 2015/12/04 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats/Profiler - Better handling for live connection, using the same path as file profiles, added FStatsLoadedState to separate runtime stats state from the loaded one Change 2794183 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Always reset events when returning them to pool. Change 2794406 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Fixing -unversioned flag being completely ignored when cooking Change 2794563 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Making sure string referenced assets don't get cooked if referenced by editor-only properties. Change 2795124 on 2015/12/08 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Fixed bad data in min/max/avg inclusive times, added min/max/avg num calls, fixed event graph tooltip not displaying correct values Change 2796208 on 2015/12/09 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Remove support for multiple instances in the profiler (game thread is always visible, a few crash fixes, cleaned code a bit) Change 2797658 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Allocation verification helpers. Helps with tracking down memory stomps, freeing the same pointers multiple times. Change 2797699 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Fix incorrect asset loading in Cooked game data (by bozaro) PR #1844 Change 2798173 on 2015/12/10 by Steve.Robb@Dev-Core Migration of Fortnite to use engine's TEnumRange. Change 2798217 on 2015/12/10 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec PR #1331 [Core] Added a stomp allocator that allows finding memory overruns, underruns, and read/write after free. (Contributed by Pablo Zurita) Change 2799605 on 2015/12/11 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Fixing a crash when cancelling async loading caused by detaching linker from objects that had RF_NeedLoad flag set. Change 2799849 on 2015/12/11 by Steve.Robb@Dev-Core Migration of Ocean to use engine's TEnumRange. Change 2803144 on 2015/12/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changed export tagging archive to also serialize class default objects using the normal Serialize path so that it can collect all custom versions used by exports. Change 2803206 on 2015/12/15 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec #jira UE-24177 Audit ôshippingö defines in engine Change 2804868 on 2015/12/16 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. #lockdown Nick.Penwarden [CL 2805158 by Robert Manuszewski in Main branch]
2015-12-16 11:52:36 -05:00
UpdateAllEventGraphs( InNumFrames );
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2783106 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Introduced GC UObject clusters. GC clusters provide means to create disregard for GC subsets at load time (e.g. Materials with material expressions and their textures). - Saves about 25ms in reachability analysis (58ms -> 33ms) - UObject classes/instances can now be marked as cluster root objects with CanBeClusterRoot() function override. - Cluster creation is automatic. Clusters don't require any manual handling for GC to collect them when nothing is referencing them. - Moved token stream processing to a new class FFastReferenceFinder to make it more generic and re-usable by other code - Removed REFERENCE_INFO macro from GC code and replaced it with a local variable (saves about ~1.9ms: 33.2ms -> 31.3ms) Change 2773094 on 2015/11/19 by Steve.Robb@Dev-Core Multicast script delegate check for existing bindings replaced with ensure. Multicast native delegate no longer checks for existing bindings. Removal of old delegate code. Some FORCEINLINEing to improve debugging experience of stepping into delegate code. Change 2782180 on 2015/11/27 by Graeme.Thornton@GThornton_DesktopMaster Make scoped seconds timer class available outside of stats build. Normal usage macros still remain guarded Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE which only times during the outmost instance of a recursive function Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE_BASE and SCOPE_SECONDS_COUNTER_BASE which are defined in all build types, for easy temporary timing in Test/Shipping builds. Added a boolean parameter to the timer class which can be used to disable it without having to mess around with scoping the calling code Change 2782635 on 2015/11/30 by Graeme.Thornton@GThornton_DesktopMaster Added GetTimeStampPair() to the filemanager and platformfile interfaces. Requests timestamps for a pair of files where we assume that both files would always exist at the same wrapper level. Allows us to skip file system queries for localization package lookups where the native file is in a pak but the localized file doesn't exist. Change 2775153 on 2015/11/20 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec CrashReportServer moved out of the not for licencees, a few fixes, removed RegisterPII Change 2775560 on 2015/11/20 by Steve.Robb@Dev-Core FDelegateBase::GetDelegateInstance deprecated and replaced with FDelegateBase::GetDelegateInstanceProtected. Change 2781138 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Converted is using a new stats reader, a few more optimizations, should be 10x times faster Change 2772990 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Fixing potential dead lock when suspending and resuming async loading multiple times Change 2773023 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Support for references added through AddReferencedObjects in FArchiveReplaceObjectRef Change 2781055 on 2015/11/25 by Steve.Robb@Dev-Core Changes to IDelegateInstance reverted to allow licensees an easier time when upgrading their use of the now-deprecated GetDelegateInstance() code path. New TryGetBoundFunctionName() to aid the debugging of delegate bindings in non-shipping configs. Change 2773114 on 2015/11/19 by Steve.Robb@Dev-Core FMath::IsPowerOfTwo is now templated to take any type. Change 2773643 on 2015/11/19 by Steve.Robb@Dev-Core GetDelegateInstance() calls replaced - delegate instances never compare equal unless you are comparing two unbound delegates (both null) or comparing a delegate with itself. Change 2777686 on 2015/11/23 by Steve.Robb@Dev-Core GitHub #1793 - File write flags argument Change 2780590 on 2015/11/25 by Steve.Robb@Dev-Core Fix for FArchiveProxy::operator<< overloads. Change 2780845 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec #jira UE-23358 - MDD relies on hard-coded P4 depot paths (fixed source context for streams) Change 2780962 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Added FStatsWriteStream for basic saving stat messages into a stream, initial support for reading a regular stats file, minor performance optimization, coding standard fixes #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781887 on 2015/11/26 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler/ProfilerClient - Removed unneeded synchronization points, replaces with task graph SendTo jobs, removed PROFILER_THREADED_LOAD, replaced with new stats loading mechanism, should be around 2x times faster (4x since the optimization pass) #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781893 on 2015/11/26 by Steve.Robb@Dev-Core TCachedOSPageAllocator abstracted from MallocBinned2. Misc tidy-ups. Change 2782198 on 2015/11/27 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Better indication of the loading progress, should no longer freeze without a progress bar #jira UECORE-170 - Improve profiler loading performance (wip) Change 2782446 on 2015/11/29 by Steve.Robb@Dev-Core Warn when calling delegates' Create* functions when they're not assigned to anything. #codereview robert.manuszewski Change 2782538 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 #UE4 Removed DiskCachedAssetDataBuffer as it was not strictly necessary and was triggering a crash when loading the cached registry from disk. This data is now stored directly in DiskCachedAssetDataMap. It was already true that this map does not change outside of SerializeCache but now it is critical since NewCachedAssetDataMap keeps pointers directly to its values. Asset registry fixes by Bob Tellez. Possible fix for UE-23783. Change 2782564 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 FReferenceCollector::AddReferenceObjects performance improvements for TArrays. ARO will no longer call HandleObjectReference multiple times but instead will call HandleObjectReferences just once (currently only implemented for FGCCollector). Reduces the number of virtual function calls while GC'ing. Change 2782716 on 2015/11/30 by Steve.Robb@Dev-Core UObject serial number array initialized for debug visualization. Change 2782933 on 2015/11/30 by Steve.Robb@Dev-Core Critical sections are no longer copyable. Change 2783061 on 2015/11/30 by Steve.Robb@Dev-Core
2015-12-03 14:21:29 -05:00
}
}
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2799478 on 2015/12/11 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Added Dev Stream custom versions. - Each stream now has its own custom version - Developers working in a stream should only modify their respective version Change 2789867 on 2015/12/04 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 UnrealHeaderTool plugins no longer need to be a separate plugin and don't require UnrealHeaderTool source code changes to work. - Merged ScriptGeneratorPlugin with ScriptPlugin - Introduced the concept of UHT plugin support for plugins so that UHT's source files don't need to be modified to make it work with external plugins - Added RuntimeNoProgram module type (module that can be used at runtime but not by program targets). - Fixed logic with project file path setting in the engine. It will no longer try to crate a full path from an already rooted path. Change 2796114 on 2015/12/09 by Steve.Robb@Dev-Core TEnumRange - enabled ranged-based for iteration over enum values. Change 2789843 on 2015/12/04 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 More thorough way of verifying GC cluster assumptions. Change 2794221 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Don't merge GC clusters by default Change 2797824 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Added the option to load all symbols for stack walking in non-monolithic builds. Change 2790539 on 2015/12/04 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats/Profiler - Better handling for live connection, using the same path as file profiles, added FStatsLoadedState to separate runtime stats state from the loaded one Change 2794183 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Always reset events when returning them to pool. Change 2794406 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Fixing -unversioned flag being completely ignored when cooking Change 2794563 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Making sure string referenced assets don't get cooked if referenced by editor-only properties. Change 2795124 on 2015/12/08 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Fixed bad data in min/max/avg inclusive times, added min/max/avg num calls, fixed event graph tooltip not displaying correct values Change 2796208 on 2015/12/09 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Remove support for multiple instances in the profiler (game thread is always visible, a few crash fixes, cleaned code a bit) Change 2797658 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Allocation verification helpers. Helps with tracking down memory stomps, freeing the same pointers multiple times. Change 2797699 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Fix incorrect asset loading in Cooked game data (by bozaro) PR #1844 Change 2798173 on 2015/12/10 by Steve.Robb@Dev-Core Migration of Fortnite to use engine's TEnumRange. Change 2798217 on 2015/12/10 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec PR #1331 [Core] Added a stomp allocator that allows finding memory overruns, underruns, and read/write after free. (Contributed by Pablo Zurita) Change 2799605 on 2015/12/11 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Fixing a crash when cancelling async loading caused by detaching linker from objects that had RF_NeedLoad flag set. Change 2799849 on 2015/12/11 by Steve.Robb@Dev-Core Migration of Ocean to use engine's TEnumRange. Change 2803144 on 2015/12/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changed export tagging archive to also serialize class default objects using the normal Serialize path so that it can collect all custom versions used by exports. Change 2803206 on 2015/12/15 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec #jira UE-24177 Audit ôshippingö defines in engine Change 2804868 on 2015/12/16 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. #lockdown Nick.Penwarden [CL 2805158 by Robert Manuszewski in Main branch]
2015-12-16 11:52:36 -05:00
void FProfilerSession::UpdateAllEventGraphs( const uint32 InNumFrames )
{
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2799478 on 2015/12/11 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Added Dev Stream custom versions. - Each stream now has its own custom version - Developers working in a stream should only modify their respective version Change 2789867 on 2015/12/04 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 UnrealHeaderTool plugins no longer need to be a separate plugin and don't require UnrealHeaderTool source code changes to work. - Merged ScriptGeneratorPlugin with ScriptPlugin - Introduced the concept of UHT plugin support for plugins so that UHT's source files don't need to be modified to make it work with external plugins - Added RuntimeNoProgram module type (module that can be used at runtime but not by program targets). - Fixed logic with project file path setting in the engine. It will no longer try to crate a full path from an already rooted path. Change 2796114 on 2015/12/09 by Steve.Robb@Dev-Core TEnumRange - enabled ranged-based for iteration over enum values. Change 2789843 on 2015/12/04 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 More thorough way of verifying GC cluster assumptions. Change 2794221 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Don't merge GC clusters by default Change 2797824 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Added the option to load all symbols for stack walking in non-monolithic builds. Change 2790539 on 2015/12/04 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats/Profiler - Better handling for live connection, using the same path as file profiles, added FStatsLoadedState to separate runtime stats state from the loaded one Change 2794183 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Always reset events when returning them to pool. Change 2794406 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Fixing -unversioned flag being completely ignored when cooking Change 2794563 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Making sure string referenced assets don't get cooked if referenced by editor-only properties. Change 2795124 on 2015/12/08 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Fixed bad data in min/max/avg inclusive times, added min/max/avg num calls, fixed event graph tooltip not displaying correct values Change 2796208 on 2015/12/09 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Remove support for multiple instances in the profiler (game thread is always visible, a few crash fixes, cleaned code a bit) Change 2797658 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Allocation verification helpers. Helps with tracking down memory stomps, freeing the same pointers multiple times. Change 2797699 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Fix incorrect asset loading in Cooked game data (by bozaro) PR #1844 Change 2798173 on 2015/12/10 by Steve.Robb@Dev-Core Migration of Fortnite to use engine's TEnumRange. Change 2798217 on 2015/12/10 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec PR #1331 [Core] Added a stomp allocator that allows finding memory overruns, underruns, and read/write after free. (Contributed by Pablo Zurita) Change 2799605 on 2015/12/11 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Fixing a crash when cancelling async loading caused by detaching linker from objects that had RF_NeedLoad flag set. Change 2799849 on 2015/12/11 by Steve.Robb@Dev-Core Migration of Ocean to use engine's TEnumRange. Change 2803144 on 2015/12/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changed export tagging archive to also serialize class default objects using the normal Serialize path so that it can collect all custom versions used by exports. Change 2803206 on 2015/12/15 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec #jira UE-24177 Audit ôshippingö defines in engine Change 2804868 on 2015/12/16 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. #lockdown Nick.Penwarden [CL 2805158 by Robert Manuszewski in Main branch]
2015-12-16 11:52:36 -05:00
EventGraphDataTotal->Finalize( 0, DataProvider->GetNumFrames() );
EventGraphDataAverage = EventGraphDataTotal->DuplicateAsRef();
EventGraphDataAverage->SetAsAverage();
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2783106 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Introduced GC UObject clusters. GC clusters provide means to create disregard for GC subsets at load time (e.g. Materials with material expressions and their textures). - Saves about 25ms in reachability analysis (58ms -> 33ms) - UObject classes/instances can now be marked as cluster root objects with CanBeClusterRoot() function override. - Cluster creation is automatic. Clusters don't require any manual handling for GC to collect them when nothing is referencing them. - Moved token stream processing to a new class FFastReferenceFinder to make it more generic and re-usable by other code - Removed REFERENCE_INFO macro from GC code and replaced it with a local variable (saves about ~1.9ms: 33.2ms -> 31.3ms) Change 2773094 on 2015/11/19 by Steve.Robb@Dev-Core Multicast script delegate check for existing bindings replaced with ensure. Multicast native delegate no longer checks for existing bindings. Removal of old delegate code. Some FORCEINLINEing to improve debugging experience of stepping into delegate code. Change 2782180 on 2015/11/27 by Graeme.Thornton@GThornton_DesktopMaster Make scoped seconds timer class available outside of stats build. Normal usage macros still remain guarded Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE which only times during the outmost instance of a recursive function Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE_BASE and SCOPE_SECONDS_COUNTER_BASE which are defined in all build types, for easy temporary timing in Test/Shipping builds. Added a boolean parameter to the timer class which can be used to disable it without having to mess around with scoping the calling code Change 2782635 on 2015/11/30 by Graeme.Thornton@GThornton_DesktopMaster Added GetTimeStampPair() to the filemanager and platformfile interfaces. Requests timestamps for a pair of files where we assume that both files would always exist at the same wrapper level. Allows us to skip file system queries for localization package lookups where the native file is in a pak but the localized file doesn't exist. Change 2775153 on 2015/11/20 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec CrashReportServer moved out of the not for licencees, a few fixes, removed RegisterPII Change 2775560 on 2015/11/20 by Steve.Robb@Dev-Core FDelegateBase::GetDelegateInstance deprecated and replaced with FDelegateBase::GetDelegateInstanceProtected. Change 2781138 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Converted is using a new stats reader, a few more optimizations, should be 10x times faster Change 2772990 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Fixing potential dead lock when suspending and resuming async loading multiple times Change 2773023 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Support for references added through AddReferencedObjects in FArchiveReplaceObjectRef Change 2781055 on 2015/11/25 by Steve.Robb@Dev-Core Changes to IDelegateInstance reverted to allow licensees an easier time when upgrading their use of the now-deprecated GetDelegateInstance() code path. New TryGetBoundFunctionName() to aid the debugging of delegate bindings in non-shipping configs. Change 2773114 on 2015/11/19 by Steve.Robb@Dev-Core FMath::IsPowerOfTwo is now templated to take any type. Change 2773643 on 2015/11/19 by Steve.Robb@Dev-Core GetDelegateInstance() calls replaced - delegate instances never compare equal unless you are comparing two unbound delegates (both null) or comparing a delegate with itself. Change 2777686 on 2015/11/23 by Steve.Robb@Dev-Core GitHub #1793 - File write flags argument Change 2780590 on 2015/11/25 by Steve.Robb@Dev-Core Fix for FArchiveProxy::operator<< overloads. Change 2780845 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec #jira UE-23358 - MDD relies on hard-coded P4 depot paths (fixed source context for streams) Change 2780962 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Added FStatsWriteStream for basic saving stat messages into a stream, initial support for reading a regular stats file, minor performance optimization, coding standard fixes #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781887 on 2015/11/26 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler/ProfilerClient - Removed unneeded synchronization points, replaces with task graph SendTo jobs, removed PROFILER_THREADED_LOAD, replaced with new stats loading mechanism, should be around 2x times faster (4x since the optimization pass) #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781893 on 2015/11/26 by Steve.Robb@Dev-Core TCachedOSPageAllocator abstracted from MallocBinned2. Misc tidy-ups. Change 2782198 on 2015/11/27 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Better indication of the loading progress, should no longer freeze without a progress bar #jira UECORE-170 - Improve profiler loading performance (wip) Change 2782446 on 2015/11/29 by Steve.Robb@Dev-Core Warn when calling delegates' Create* functions when they're not assigned to anything. #codereview robert.manuszewski Change 2782538 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 #UE4 Removed DiskCachedAssetDataBuffer as it was not strictly necessary and was triggering a crash when loading the cached registry from disk. This data is now stored directly in DiskCachedAssetDataMap. It was already true that this map does not change outside of SerializeCache but now it is critical since NewCachedAssetDataMap keeps pointers directly to its values. Asset registry fixes by Bob Tellez. Possible fix for UE-23783. Change 2782564 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 FReferenceCollector::AddReferenceObjects performance improvements for TArrays. ARO will no longer call HandleObjectReference multiple times but instead will call HandleObjectReferences just once (currently only implemented for FGCCollector). Reduces the number of virtual function calls while GC'ing. Change 2782716 on 2015/11/30 by Steve.Robb@Dev-Core UObject serial number array initialized for debug visualization. Change 2782933 on 2015/11/30 by Steve.Robb@Dev-Core Critical sections are no longer copyable. Change 2783061 on 2015/11/30 by Steve.Robb@Dev-Core
2015-12-03 14:21:29 -05:00
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2799478 on 2015/12/11 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Added Dev Stream custom versions. - Each stream now has its own custom version - Developers working in a stream should only modify their respective version Change 2789867 on 2015/12/04 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 UnrealHeaderTool plugins no longer need to be a separate plugin and don't require UnrealHeaderTool source code changes to work. - Merged ScriptGeneratorPlugin with ScriptPlugin - Introduced the concept of UHT plugin support for plugins so that UHT's source files don't need to be modified to make it work with external plugins - Added RuntimeNoProgram module type (module that can be used at runtime but not by program targets). - Fixed logic with project file path setting in the engine. It will no longer try to crate a full path from an already rooted path. Change 2796114 on 2015/12/09 by Steve.Robb@Dev-Core TEnumRange - enabled ranged-based for iteration over enum values. Change 2789843 on 2015/12/04 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 More thorough way of verifying GC cluster assumptions. Change 2794221 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Don't merge GC clusters by default Change 2797824 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Added the option to load all symbols for stack walking in non-monolithic builds. Change 2790539 on 2015/12/04 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats/Profiler - Better handling for live connection, using the same path as file profiles, added FStatsLoadedState to separate runtime stats state from the loaded one Change 2794183 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Always reset events when returning them to pool. Change 2794406 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Fixing -unversioned flag being completely ignored when cooking Change 2794563 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Making sure string referenced assets don't get cooked if referenced by editor-only properties. Change 2795124 on 2015/12/08 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Fixed bad data in min/max/avg inclusive times, added min/max/avg num calls, fixed event graph tooltip not displaying correct values Change 2796208 on 2015/12/09 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Remove support for multiple instances in the profiler (game thread is always visible, a few crash fixes, cleaned code a bit) Change 2797658 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Allocation verification helpers. Helps with tracking down memory stomps, freeing the same pointers multiple times. Change 2797699 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Fix incorrect asset loading in Cooked game data (by bozaro) PR #1844 Change 2798173 on 2015/12/10 by Steve.Robb@Dev-Core Migration of Fortnite to use engine's TEnumRange. Change 2798217 on 2015/12/10 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec PR #1331 [Core] Added a stomp allocator that allows finding memory overruns, underruns, and read/write after free. (Contributed by Pablo Zurita) Change 2799605 on 2015/12/11 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Fixing a crash when cancelling async loading caused by detaching linker from objects that had RF_NeedLoad flag set. Change 2799849 on 2015/12/11 by Steve.Robb@Dev-Core Migration of Ocean to use engine's TEnumRange. Change 2803144 on 2015/12/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changed export tagging archive to also serialize class default objects using the normal Serialize path so that it can collect all custom versions used by exports. Change 2803206 on 2015/12/15 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec #jira UE-24177 Audit ôshippingö defines in engine Change 2804868 on 2015/12/16 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. #lockdown Nick.Penwarden [CL 2805158 by Robert Manuszewski in Main branch]
2015-12-16 11:52:36 -05:00
EventGraphDataMaximum = EventGraphDataTotal->DuplicateAsRef();
EventGraphDataMaximum->SetAsMaximim();
}
void FProfilerSession::UpdateAggregatedEventGraphData( const uint32 FrameIndex )
{
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2783106 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Introduced GC UObject clusters. GC clusters provide means to create disregard for GC subsets at load time (e.g. Materials with material expressions and their textures). - Saves about 25ms in reachability analysis (58ms -> 33ms) - UObject classes/instances can now be marked as cluster root objects with CanBeClusterRoot() function override. - Cluster creation is automatic. Clusters don't require any manual handling for GC to collect them when nothing is referencing them. - Moved token stream processing to a new class FFastReferenceFinder to make it more generic and re-usable by other code - Removed REFERENCE_INFO macro from GC code and replaced it with a local variable (saves about ~1.9ms: 33.2ms -> 31.3ms) Change 2773094 on 2015/11/19 by Steve.Robb@Dev-Core Multicast script delegate check for existing bindings replaced with ensure. Multicast native delegate no longer checks for existing bindings. Removal of old delegate code. Some FORCEINLINEing to improve debugging experience of stepping into delegate code. Change 2782180 on 2015/11/27 by Graeme.Thornton@GThornton_DesktopMaster Make scoped seconds timer class available outside of stats build. Normal usage macros still remain guarded Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE which only times during the outmost instance of a recursive function Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE_BASE and SCOPE_SECONDS_COUNTER_BASE which are defined in all build types, for easy temporary timing in Test/Shipping builds. Added a boolean parameter to the timer class which can be used to disable it without having to mess around with scoping the calling code Change 2782635 on 2015/11/30 by Graeme.Thornton@GThornton_DesktopMaster Added GetTimeStampPair() to the filemanager and platformfile interfaces. Requests timestamps for a pair of files where we assume that both files would always exist at the same wrapper level. Allows us to skip file system queries for localization package lookups where the native file is in a pak but the localized file doesn't exist. Change 2775153 on 2015/11/20 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec CrashReportServer moved out of the not for licencees, a few fixes, removed RegisterPII Change 2775560 on 2015/11/20 by Steve.Robb@Dev-Core FDelegateBase::GetDelegateInstance deprecated and replaced with FDelegateBase::GetDelegateInstanceProtected. Change 2781138 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Converted is using a new stats reader, a few more optimizations, should be 10x times faster Change 2772990 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Fixing potential dead lock when suspending and resuming async loading multiple times Change 2773023 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Support for references added through AddReferencedObjects in FArchiveReplaceObjectRef Change 2781055 on 2015/11/25 by Steve.Robb@Dev-Core Changes to IDelegateInstance reverted to allow licensees an easier time when upgrading their use of the now-deprecated GetDelegateInstance() code path. New TryGetBoundFunctionName() to aid the debugging of delegate bindings in non-shipping configs. Change 2773114 on 2015/11/19 by Steve.Robb@Dev-Core FMath::IsPowerOfTwo is now templated to take any type. Change 2773643 on 2015/11/19 by Steve.Robb@Dev-Core GetDelegateInstance() calls replaced - delegate instances never compare equal unless you are comparing two unbound delegates (both null) or comparing a delegate with itself. Change 2777686 on 2015/11/23 by Steve.Robb@Dev-Core GitHub #1793 - File write flags argument Change 2780590 on 2015/11/25 by Steve.Robb@Dev-Core Fix for FArchiveProxy::operator<< overloads. Change 2780845 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec #jira UE-23358 - MDD relies on hard-coded P4 depot paths (fixed source context for streams) Change 2780962 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Added FStatsWriteStream for basic saving stat messages into a stream, initial support for reading a regular stats file, minor performance optimization, coding standard fixes #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781887 on 2015/11/26 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler/ProfilerClient - Removed unneeded synchronization points, replaces with task graph SendTo jobs, removed PROFILER_THREADED_LOAD, replaced with new stats loading mechanism, should be around 2x times faster (4x since the optimization pass) #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781893 on 2015/11/26 by Steve.Robb@Dev-Core TCachedOSPageAllocator abstracted from MallocBinned2. Misc tidy-ups. Change 2782198 on 2015/11/27 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Better indication of the loading progress, should no longer freeze without a progress bar #jira UECORE-170 - Improve profiler loading performance (wip) Change 2782446 on 2015/11/29 by Steve.Robb@Dev-Core Warn when calling delegates' Create* functions when they're not assigned to anything. #codereview robert.manuszewski Change 2782538 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 #UE4 Removed DiskCachedAssetDataBuffer as it was not strictly necessary and was triggering a crash when loading the cached registry from disk. This data is now stored directly in DiskCachedAssetDataMap. It was already true that this map does not change outside of SerializeCache but now it is critical since NewCachedAssetDataMap keeps pointers directly to its values. Asset registry fixes by Bob Tellez. Possible fix for UE-23783. Change 2782564 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 FReferenceCollector::AddReferenceObjects performance improvements for TArrays. ARO will no longer call HandleObjectReference multiple times but instead will call HandleObjectReferences just once (currently only implemented for FGCCollector). Reduces the number of virtual function calls while GC'ing. Change 2782716 on 2015/11/30 by Steve.Robb@Dev-Core UObject serial number array initialized for debug visualization. Change 2782933 on 2015/11/30 by Steve.Robb@Dev-Core Critical sections are no longer copyable. Change 2783061 on 2015/11/30 by Steve.Robb@Dev-Core
2015-12-03 14:21:29 -05:00
static FTotalTimeAndCount TimeAndCount( 0.0f, 0 );
PROFILER_SCOPE_LOG_TIME( TEXT( "3 FProfilerSession::UpdateAggregatedEventGraphData" ), &TimeAndCount );
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2783106 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Introduced GC UObject clusters. GC clusters provide means to create disregard for GC subsets at load time (e.g. Materials with material expressions and their textures). - Saves about 25ms in reachability analysis (58ms -> 33ms) - UObject classes/instances can now be marked as cluster root objects with CanBeClusterRoot() function override. - Cluster creation is automatic. Clusters don't require any manual handling for GC to collect them when nothing is referencing them. - Moved token stream processing to a new class FFastReferenceFinder to make it more generic and re-usable by other code - Removed REFERENCE_INFO macro from GC code and replaced it with a local variable (saves about ~1.9ms: 33.2ms -> 31.3ms) Change 2773094 on 2015/11/19 by Steve.Robb@Dev-Core Multicast script delegate check for existing bindings replaced with ensure. Multicast native delegate no longer checks for existing bindings. Removal of old delegate code. Some FORCEINLINEing to improve debugging experience of stepping into delegate code. Change 2782180 on 2015/11/27 by Graeme.Thornton@GThornton_DesktopMaster Make scoped seconds timer class available outside of stats build. Normal usage macros still remain guarded Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE which only times during the outmost instance of a recursive function Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE_BASE and SCOPE_SECONDS_COUNTER_BASE which are defined in all build types, for easy temporary timing in Test/Shipping builds. Added a boolean parameter to the timer class which can be used to disable it without having to mess around with scoping the calling code Change 2782635 on 2015/11/30 by Graeme.Thornton@GThornton_DesktopMaster Added GetTimeStampPair() to the filemanager and platformfile interfaces. Requests timestamps for a pair of files where we assume that both files would always exist at the same wrapper level. Allows us to skip file system queries for localization package lookups where the native file is in a pak but the localized file doesn't exist. Change 2775153 on 2015/11/20 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec CrashReportServer moved out of the not for licencees, a few fixes, removed RegisterPII Change 2775560 on 2015/11/20 by Steve.Robb@Dev-Core FDelegateBase::GetDelegateInstance deprecated and replaced with FDelegateBase::GetDelegateInstanceProtected. Change 2781138 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Converted is using a new stats reader, a few more optimizations, should be 10x times faster Change 2772990 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Fixing potential dead lock when suspending and resuming async loading multiple times Change 2773023 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Support for references added through AddReferencedObjects in FArchiveReplaceObjectRef Change 2781055 on 2015/11/25 by Steve.Robb@Dev-Core Changes to IDelegateInstance reverted to allow licensees an easier time when upgrading their use of the now-deprecated GetDelegateInstance() code path. New TryGetBoundFunctionName() to aid the debugging of delegate bindings in non-shipping configs. Change 2773114 on 2015/11/19 by Steve.Robb@Dev-Core FMath::IsPowerOfTwo is now templated to take any type. Change 2773643 on 2015/11/19 by Steve.Robb@Dev-Core GetDelegateInstance() calls replaced - delegate instances never compare equal unless you are comparing two unbound delegates (both null) or comparing a delegate with itself. Change 2777686 on 2015/11/23 by Steve.Robb@Dev-Core GitHub #1793 - File write flags argument Change 2780590 on 2015/11/25 by Steve.Robb@Dev-Core Fix for FArchiveProxy::operator<< overloads. Change 2780845 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec #jira UE-23358 - MDD relies on hard-coded P4 depot paths (fixed source context for streams) Change 2780962 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Added FStatsWriteStream for basic saving stat messages into a stream, initial support for reading a regular stats file, minor performance optimization, coding standard fixes #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781887 on 2015/11/26 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler/ProfilerClient - Removed unneeded synchronization points, replaces with task graph SendTo jobs, removed PROFILER_THREADED_LOAD, replaced with new stats loading mechanism, should be around 2x times faster (4x since the optimization pass) #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781893 on 2015/11/26 by Steve.Robb@Dev-Core TCachedOSPageAllocator abstracted from MallocBinned2. Misc tidy-ups. Change 2782198 on 2015/11/27 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Better indication of the loading progress, should no longer freeze without a progress bar #jira UECORE-170 - Improve profiler loading performance (wip) Change 2782446 on 2015/11/29 by Steve.Robb@Dev-Core Warn when calling delegates' Create* functions when they're not assigned to anything. #codereview robert.manuszewski Change 2782538 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 #UE4 Removed DiskCachedAssetDataBuffer as it was not strictly necessary and was triggering a crash when loading the cached registry from disk. This data is now stored directly in DiskCachedAssetDataMap. It was already true that this map does not change outside of SerializeCache but now it is critical since NewCachedAssetDataMap keeps pointers directly to its values. Asset registry fixes by Bob Tellez. Possible fix for UE-23783. Change 2782564 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 FReferenceCollector::AddReferenceObjects performance improvements for TArrays. ARO will no longer call HandleObjectReference multiple times but instead will call HandleObjectReferences just once (currently only implemented for FGCCollector). Reduces the number of virtual function calls while GC'ing. Change 2782716 on 2015/11/30 by Steve.Robb@Dev-Core UObject serial number array initialized for debug visualization. Change 2782933 on 2015/11/30 by Steve.Robb@Dev-Core Critical sections are no longer copyable. Change 2783061 on 2015/11/30 by Steve.Robb@Dev-Core
2015-12-03 14:21:29 -05:00
CompletionSyncAggregatedEventGraphData();
// Create a temporary event graph data for the specified frame.
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2783106 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Introduced GC UObject clusters. GC clusters provide means to create disregard for GC subsets at load time (e.g. Materials with material expressions and their textures). - Saves about 25ms in reachability analysis (58ms -> 33ms) - UObject classes/instances can now be marked as cluster root objects with CanBeClusterRoot() function override. - Cluster creation is automatic. Clusters don't require any manual handling for GC to collect them when nothing is referencing them. - Moved token stream processing to a new class FFastReferenceFinder to make it more generic and re-usable by other code - Removed REFERENCE_INFO macro from GC code and replaced it with a local variable (saves about ~1.9ms: 33.2ms -> 31.3ms) Change 2773094 on 2015/11/19 by Steve.Robb@Dev-Core Multicast script delegate check for existing bindings replaced with ensure. Multicast native delegate no longer checks for existing bindings. Removal of old delegate code. Some FORCEINLINEing to improve debugging experience of stepping into delegate code. Change 2782180 on 2015/11/27 by Graeme.Thornton@GThornton_DesktopMaster Make scoped seconds timer class available outside of stats build. Normal usage macros still remain guarded Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE which only times during the outmost instance of a recursive function Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE_BASE and SCOPE_SECONDS_COUNTER_BASE which are defined in all build types, for easy temporary timing in Test/Shipping builds. Added a boolean parameter to the timer class which can be used to disable it without having to mess around with scoping the calling code Change 2782635 on 2015/11/30 by Graeme.Thornton@GThornton_DesktopMaster Added GetTimeStampPair() to the filemanager and platformfile interfaces. Requests timestamps for a pair of files where we assume that both files would always exist at the same wrapper level. Allows us to skip file system queries for localization package lookups where the native file is in a pak but the localized file doesn't exist. Change 2775153 on 2015/11/20 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec CrashReportServer moved out of the not for licencees, a few fixes, removed RegisterPII Change 2775560 on 2015/11/20 by Steve.Robb@Dev-Core FDelegateBase::GetDelegateInstance deprecated and replaced with FDelegateBase::GetDelegateInstanceProtected. Change 2781138 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Converted is using a new stats reader, a few more optimizations, should be 10x times faster Change 2772990 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Fixing potential dead lock when suspending and resuming async loading multiple times Change 2773023 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Support for references added through AddReferencedObjects in FArchiveReplaceObjectRef Change 2781055 on 2015/11/25 by Steve.Robb@Dev-Core Changes to IDelegateInstance reverted to allow licensees an easier time when upgrading their use of the now-deprecated GetDelegateInstance() code path. New TryGetBoundFunctionName() to aid the debugging of delegate bindings in non-shipping configs. Change 2773114 on 2015/11/19 by Steve.Robb@Dev-Core FMath::IsPowerOfTwo is now templated to take any type. Change 2773643 on 2015/11/19 by Steve.Robb@Dev-Core GetDelegateInstance() calls replaced - delegate instances never compare equal unless you are comparing two unbound delegates (both null) or comparing a delegate with itself. Change 2777686 on 2015/11/23 by Steve.Robb@Dev-Core GitHub #1793 - File write flags argument Change 2780590 on 2015/11/25 by Steve.Robb@Dev-Core Fix for FArchiveProxy::operator<< overloads. Change 2780845 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec #jira UE-23358 - MDD relies on hard-coded P4 depot paths (fixed source context for streams) Change 2780962 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Added FStatsWriteStream for basic saving stat messages into a stream, initial support for reading a regular stats file, minor performance optimization, coding standard fixes #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781887 on 2015/11/26 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler/ProfilerClient - Removed unneeded synchronization points, replaces with task graph SendTo jobs, removed PROFILER_THREADED_LOAD, replaced with new stats loading mechanism, should be around 2x times faster (4x since the optimization pass) #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781893 on 2015/11/26 by Steve.Robb@Dev-Core TCachedOSPageAllocator abstracted from MallocBinned2. Misc tidy-ups. Change 2782198 on 2015/11/27 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Better indication of the loading progress, should no longer freeze without a progress bar #jira UECORE-170 - Improve profiler loading performance (wip) Change 2782446 on 2015/11/29 by Steve.Robb@Dev-Core Warn when calling delegates' Create* functions when they're not assigned to anything. #codereview robert.manuszewski Change 2782538 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 #UE4 Removed DiskCachedAssetDataBuffer as it was not strictly necessary and was triggering a crash when loading the cached registry from disk. This data is now stored directly in DiskCachedAssetDataMap. It was already true that this map does not change outside of SerializeCache but now it is critical since NewCachedAssetDataMap keeps pointers directly to its values. Asset registry fixes by Bob Tellez. Possible fix for UE-23783. Change 2782564 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 FReferenceCollector::AddReferenceObjects performance improvements for TArrays. ARO will no longer call HandleObjectReference multiple times but instead will call HandleObjectReferences just once (currently only implemented for FGCCollector). Reduces the number of virtual function calls while GC'ing. Change 2782716 on 2015/11/30 by Steve.Robb@Dev-Core UObject serial number array initialized for debug visualization. Change 2782933 on 2015/11/30 by Steve.Robb@Dev-Core Critical sections are no longer copyable. Change 2783061 on 2015/11/30 by Steve.Robb@Dev-Core
2015-12-03 14:21:29 -05:00
delete EventGraphDataCurrent;
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
EventGraphDataCurrent = new FEventGraphData( this, FrameIndex );
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2783106 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Introduced GC UObject clusters. GC clusters provide means to create disregard for GC subsets at load time (e.g. Materials with material expressions and their textures). - Saves about 25ms in reachability analysis (58ms -> 33ms) - UObject classes/instances can now be marked as cluster root objects with CanBeClusterRoot() function override. - Cluster creation is automatic. Clusters don't require any manual handling for GC to collect them when nothing is referencing them. - Moved token stream processing to a new class FFastReferenceFinder to make it more generic and re-usable by other code - Removed REFERENCE_INFO macro from GC code and replaced it with a local variable (saves about ~1.9ms: 33.2ms -> 31.3ms) Change 2773094 on 2015/11/19 by Steve.Robb@Dev-Core Multicast script delegate check for existing bindings replaced with ensure. Multicast native delegate no longer checks for existing bindings. Removal of old delegate code. Some FORCEINLINEing to improve debugging experience of stepping into delegate code. Change 2782180 on 2015/11/27 by Graeme.Thornton@GThornton_DesktopMaster Make scoped seconds timer class available outside of stats build. Normal usage macros still remain guarded Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE which only times during the outmost instance of a recursive function Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE_BASE and SCOPE_SECONDS_COUNTER_BASE which are defined in all build types, for easy temporary timing in Test/Shipping builds. Added a boolean parameter to the timer class which can be used to disable it without having to mess around with scoping the calling code Change 2782635 on 2015/11/30 by Graeme.Thornton@GThornton_DesktopMaster Added GetTimeStampPair() to the filemanager and platformfile interfaces. Requests timestamps for a pair of files where we assume that both files would always exist at the same wrapper level. Allows us to skip file system queries for localization package lookups where the native file is in a pak but the localized file doesn't exist. Change 2775153 on 2015/11/20 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec CrashReportServer moved out of the not for licencees, a few fixes, removed RegisterPII Change 2775560 on 2015/11/20 by Steve.Robb@Dev-Core FDelegateBase::GetDelegateInstance deprecated and replaced with FDelegateBase::GetDelegateInstanceProtected. Change 2781138 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Converted is using a new stats reader, a few more optimizations, should be 10x times faster Change 2772990 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Fixing potential dead lock when suspending and resuming async loading multiple times Change 2773023 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Support for references added through AddReferencedObjects in FArchiveReplaceObjectRef Change 2781055 on 2015/11/25 by Steve.Robb@Dev-Core Changes to IDelegateInstance reverted to allow licensees an easier time when upgrading their use of the now-deprecated GetDelegateInstance() code path. New TryGetBoundFunctionName() to aid the debugging of delegate bindings in non-shipping configs. Change 2773114 on 2015/11/19 by Steve.Robb@Dev-Core FMath::IsPowerOfTwo is now templated to take any type. Change 2773643 on 2015/11/19 by Steve.Robb@Dev-Core GetDelegateInstance() calls replaced - delegate instances never compare equal unless you are comparing two unbound delegates (both null) or comparing a delegate with itself. Change 2777686 on 2015/11/23 by Steve.Robb@Dev-Core GitHub #1793 - File write flags argument Change 2780590 on 2015/11/25 by Steve.Robb@Dev-Core Fix for FArchiveProxy::operator<< overloads. Change 2780845 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec #jira UE-23358 - MDD relies on hard-coded P4 depot paths (fixed source context for streams) Change 2780962 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Added FStatsWriteStream for basic saving stat messages into a stream, initial support for reading a regular stats file, minor performance optimization, coding standard fixes #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781887 on 2015/11/26 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler/ProfilerClient - Removed unneeded synchronization points, replaces with task graph SendTo jobs, removed PROFILER_THREADED_LOAD, replaced with new stats loading mechanism, should be around 2x times faster (4x since the optimization pass) #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781893 on 2015/11/26 by Steve.Robb@Dev-Core TCachedOSPageAllocator abstracted from MallocBinned2. Misc tidy-ups. Change 2782198 on 2015/11/27 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Better indication of the loading progress, should no longer freeze without a progress bar #jira UECORE-170 - Improve profiler loading performance (wip) Change 2782446 on 2015/11/29 by Steve.Robb@Dev-Core Warn when calling delegates' Create* functions when they're not assigned to anything. #codereview robert.manuszewski Change 2782538 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 #UE4 Removed DiskCachedAssetDataBuffer as it was not strictly necessary and was triggering a crash when loading the cached registry from disk. This data is now stored directly in DiskCachedAssetDataMap. It was already true that this map does not change outside of SerializeCache but now it is critical since NewCachedAssetDataMap keeps pointers directly to its values. Asset registry fixes by Bob Tellez. Possible fix for UE-23783. Change 2782564 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 FReferenceCollector::AddReferenceObjects performance improvements for TArrays. ARO will no longer call HandleObjectReference multiple times but instead will call HandleObjectReferences just once (currently only implemented for FGCCollector). Reduces the number of virtual function calls while GC'ing. Change 2782716 on 2015/11/30 by Steve.Robb@Dev-Core UObject serial number array initialized for debug visualization. Change 2782933 on 2015/11/30 by Steve.Robb@Dev-Core Critical sections are no longer copyable. Change 2783061 on 2015/11/30 by Steve.Robb@Dev-Core
2015-12-03 14:21:29 -05:00
const uint32 NumFramesLocal = SessionType == EProfilerSessionTypes::Live ? DataProvider->GetNumFrames() : 0;
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
static const bool bUseTaskGraph = true;
if( bUseTaskGraph )
{
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2799478 on 2015/12/11 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Added Dev Stream custom versions. - Each stream now has its own custom version - Developers working in a stream should only modify their respective version Change 2789867 on 2015/12/04 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 UnrealHeaderTool plugins no longer need to be a separate plugin and don't require UnrealHeaderTool source code changes to work. - Merged ScriptGeneratorPlugin with ScriptPlugin - Introduced the concept of UHT plugin support for plugins so that UHT's source files don't need to be modified to make it work with external plugins - Added RuntimeNoProgram module type (module that can be used at runtime but not by program targets). - Fixed logic with project file path setting in the engine. It will no longer try to crate a full path from an already rooted path. Change 2796114 on 2015/12/09 by Steve.Robb@Dev-Core TEnumRange - enabled ranged-based for iteration over enum values. Change 2789843 on 2015/12/04 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 More thorough way of verifying GC cluster assumptions. Change 2794221 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Don't merge GC clusters by default Change 2797824 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Added the option to load all symbols for stack walking in non-monolithic builds. Change 2790539 on 2015/12/04 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats/Profiler - Better handling for live connection, using the same path as file profiles, added FStatsLoadedState to separate runtime stats state from the loaded one Change 2794183 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Always reset events when returning them to pool. Change 2794406 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Fixing -unversioned flag being completely ignored when cooking Change 2794563 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Making sure string referenced assets don't get cooked if referenced by editor-only properties. Change 2795124 on 2015/12/08 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Fixed bad data in min/max/avg inclusive times, added min/max/avg num calls, fixed event graph tooltip not displaying correct values Change 2796208 on 2015/12/09 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Remove support for multiple instances in the profiler (game thread is always visible, a few crash fixes, cleaned code a bit) Change 2797658 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Allocation verification helpers. Helps with tracking down memory stomps, freeing the same pointers multiple times. Change 2797699 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Fix incorrect asset loading in Cooked game data (by bozaro) PR #1844 Change 2798173 on 2015/12/10 by Steve.Robb@Dev-Core Migration of Fortnite to use engine's TEnumRange. Change 2798217 on 2015/12/10 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec PR #1331 [Core] Added a stomp allocator that allows finding memory overruns, underruns, and read/write after free. (Contributed by Pablo Zurita) Change 2799605 on 2015/12/11 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Fixing a crash when cancelling async loading caused by detaching linker from objects that had RF_NeedLoad flag set. Change 2799849 on 2015/12/11 by Steve.Robb@Dev-Core Migration of Ocean to use engine's TEnumRange. Change 2803144 on 2015/12/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changed export tagging archive to also serialize class default objects using the normal Serialize path so that it can collect all custom versions used by exports. Change 2803206 on 2015/12/15 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec #jira UE-24177 Audit ôshippingö defines in engine Change 2804868 on 2015/12/16 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. #lockdown Nick.Penwarden [CL 2805158 by Robert Manuszewski in Main branch]
2015-12-16 11:52:36 -05:00
DECLARE_CYCLE_STAT(TEXT("FSimpleDelegateGraphTask.EventGraphData.GraphCombine"),
STAT_FSimpleDelegateGraphTask_EventGraphData_GraphCombine,
STATGROUP_TaskGraphTasks);
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2799478 on 2015/12/11 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Added Dev Stream custom versions. - Each stream now has its own custom version - Developers working in a stream should only modify their respective version Change 2789867 on 2015/12/04 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 UnrealHeaderTool plugins no longer need to be a separate plugin and don't require UnrealHeaderTool source code changes to work. - Merged ScriptGeneratorPlugin with ScriptPlugin - Introduced the concept of UHT plugin support for plugins so that UHT's source files don't need to be modified to make it work with external plugins - Added RuntimeNoProgram module type (module that can be used at runtime but not by program targets). - Fixed logic with project file path setting in the engine. It will no longer try to crate a full path from an already rooted path. Change 2796114 on 2015/12/09 by Steve.Robb@Dev-Core TEnumRange - enabled ranged-based for iteration over enum values. Change 2789843 on 2015/12/04 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 More thorough way of verifying GC cluster assumptions. Change 2794221 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Don't merge GC clusters by default Change 2797824 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Added the option to load all symbols for stack walking in non-monolithic builds. Change 2790539 on 2015/12/04 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats/Profiler - Better handling for live connection, using the same path as file profiles, added FStatsLoadedState to separate runtime stats state from the loaded one Change 2794183 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Always reset events when returning them to pool. Change 2794406 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Fixing -unversioned flag being completely ignored when cooking Change 2794563 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Making sure string referenced assets don't get cooked if referenced by editor-only properties. Change 2795124 on 2015/12/08 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Fixed bad data in min/max/avg inclusive times, added min/max/avg num calls, fixed event graph tooltip not displaying correct values Change 2796208 on 2015/12/09 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Remove support for multiple instances in the profiler (game thread is always visible, a few crash fixes, cleaned code a bit) Change 2797658 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Allocation verification helpers. Helps with tracking down memory stomps, freeing the same pointers multiple times. Change 2797699 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Fix incorrect asset loading in Cooked game data (by bozaro) PR #1844 Change 2798173 on 2015/12/10 by Steve.Robb@Dev-Core Migration of Fortnite to use engine's TEnumRange. Change 2798217 on 2015/12/10 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec PR #1331 [Core] Added a stomp allocator that allows finding memory overruns, underruns, and read/write after free. (Contributed by Pablo Zurita) Change 2799605 on 2015/12/11 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Fixing a crash when cancelling async loading caused by detaching linker from objects that had RF_NeedLoad flag set. Change 2799849 on 2015/12/11 by Steve.Robb@Dev-Core Migration of Ocean to use engine's TEnumRange. Change 2803144 on 2015/12/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changed export tagging archive to also serialize class default objects using the normal Serialize path so that it can collect all custom versions used by exports. Change 2803206 on 2015/12/15 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec #jira UE-24177 Audit ôshippingö defines in engine Change 2804868 on 2015/12/16 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. #lockdown Nick.Penwarden [CL 2805158 by Robert Manuszewski in Main branch]
2015-12-16 11:52:36 -05:00
CompletionSync = FSimpleDelegateGraphTask::CreateAndDispatchWhenReady
(
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2799478 on 2015/12/11 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Added Dev Stream custom versions. - Each stream now has its own custom version - Developers working in a stream should only modify their respective version Change 2789867 on 2015/12/04 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 UnrealHeaderTool plugins no longer need to be a separate plugin and don't require UnrealHeaderTool source code changes to work. - Merged ScriptGeneratorPlugin with ScriptPlugin - Introduced the concept of UHT plugin support for plugins so that UHT's source files don't need to be modified to make it work with external plugins - Added RuntimeNoProgram module type (module that can be used at runtime but not by program targets). - Fixed logic with project file path setting in the engine. It will no longer try to crate a full path from an already rooted path. Change 2796114 on 2015/12/09 by Steve.Robb@Dev-Core TEnumRange - enabled ranged-based for iteration over enum values. Change 2789843 on 2015/12/04 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 More thorough way of verifying GC cluster assumptions. Change 2794221 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Don't merge GC clusters by default Change 2797824 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Added the option to load all symbols for stack walking in non-monolithic builds. Change 2790539 on 2015/12/04 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats/Profiler - Better handling for live connection, using the same path as file profiles, added FStatsLoadedState to separate runtime stats state from the loaded one Change 2794183 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Always reset events when returning them to pool. Change 2794406 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Fixing -unversioned flag being completely ignored when cooking Change 2794563 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Making sure string referenced assets don't get cooked if referenced by editor-only properties. Change 2795124 on 2015/12/08 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Fixed bad data in min/max/avg inclusive times, added min/max/avg num calls, fixed event graph tooltip not displaying correct values Change 2796208 on 2015/12/09 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Remove support for multiple instances in the profiler (game thread is always visible, a few crash fixes, cleaned code a bit) Change 2797658 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Allocation verification helpers. Helps with tracking down memory stomps, freeing the same pointers multiple times. Change 2797699 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Fix incorrect asset loading in Cooked game data (by bozaro) PR #1844 Change 2798173 on 2015/12/10 by Steve.Robb@Dev-Core Migration of Fortnite to use engine's TEnumRange. Change 2798217 on 2015/12/10 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec PR #1331 [Core] Added a stomp allocator that allows finding memory overruns, underruns, and read/write after free. (Contributed by Pablo Zurita) Change 2799605 on 2015/12/11 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Fixing a crash when cancelling async loading caused by detaching linker from objects that had RF_NeedLoad flag set. Change 2799849 on 2015/12/11 by Steve.Robb@Dev-Core Migration of Ocean to use engine's TEnumRange. Change 2803144 on 2015/12/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changed export tagging archive to also serialize class default objects using the normal Serialize path so that it can collect all custom versions used by exports. Change 2803206 on 2015/12/15 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec #jira UE-24177 Audit ôshippingö defines in engine Change 2804868 on 2015/12/16 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. #lockdown Nick.Penwarden [CL 2805158 by Robert Manuszewski in Main branch]
2015-12-16 11:52:36 -05:00
FSimpleDelegateGraphTask::FDelegate::CreateRaw( this, &FProfilerSession::EventGraphCombine, EventGraphDataCurrent, NumFramesLocal ),
GET_STATID( STAT_FSimpleDelegateGraphTask_EventGraphData_GraphCombine )
);
}
else
{
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2799478 on 2015/12/11 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Added Dev Stream custom versions. - Each stream now has its own custom version - Developers working in a stream should only modify their respective version Change 2789867 on 2015/12/04 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 UnrealHeaderTool plugins no longer need to be a separate plugin and don't require UnrealHeaderTool source code changes to work. - Merged ScriptGeneratorPlugin with ScriptPlugin - Introduced the concept of UHT plugin support for plugins so that UHT's source files don't need to be modified to make it work with external plugins - Added RuntimeNoProgram module type (module that can be used at runtime but not by program targets). - Fixed logic with project file path setting in the engine. It will no longer try to crate a full path from an already rooted path. Change 2796114 on 2015/12/09 by Steve.Robb@Dev-Core TEnumRange - enabled ranged-based for iteration over enum values. Change 2789843 on 2015/12/04 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 More thorough way of verifying GC cluster assumptions. Change 2794221 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Don't merge GC clusters by default Change 2797824 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Added the option to load all symbols for stack walking in non-monolithic builds. Change 2790539 on 2015/12/04 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats/Profiler - Better handling for live connection, using the same path as file profiles, added FStatsLoadedState to separate runtime stats state from the loaded one Change 2794183 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Always reset events when returning them to pool. Change 2794406 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Fixing -unversioned flag being completely ignored when cooking Change 2794563 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Making sure string referenced assets don't get cooked if referenced by editor-only properties. Change 2795124 on 2015/12/08 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Fixed bad data in min/max/avg inclusive times, added min/max/avg num calls, fixed event graph tooltip not displaying correct values Change 2796208 on 2015/12/09 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Remove support for multiple instances in the profiler (game thread is always visible, a few crash fixes, cleaned code a bit) Change 2797658 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Allocation verification helpers. Helps with tracking down memory stomps, freeing the same pointers multiple times. Change 2797699 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Fix incorrect asset loading in Cooked game data (by bozaro) PR #1844 Change 2798173 on 2015/12/10 by Steve.Robb@Dev-Core Migration of Fortnite to use engine's TEnumRange. Change 2798217 on 2015/12/10 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec PR #1331 [Core] Added a stomp allocator that allows finding memory overruns, underruns, and read/write after free. (Contributed by Pablo Zurita) Change 2799605 on 2015/12/11 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Fixing a crash when cancelling async loading caused by detaching linker from objects that had RF_NeedLoad flag set. Change 2799849 on 2015/12/11 by Steve.Robb@Dev-Core Migration of Ocean to use engine's TEnumRange. Change 2803144 on 2015/12/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changed export tagging archive to also serialize class default objects using the normal Serialize path so that it can collect all custom versions used by exports. Change 2803206 on 2015/12/15 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec #jira UE-24177 Audit ôshippingö defines in engine Change 2804868 on 2015/12/16 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. #lockdown Nick.Penwarden [CL 2805158 by Robert Manuszewski in Main branch]
2015-12-16 11:52:36 -05:00
EventGraphCombine( EventGraphDataCurrent, NumFramesLocal );
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2783106 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Introduced GC UObject clusters. GC clusters provide means to create disregard for GC subsets at load time (e.g. Materials with material expressions and their textures). - Saves about 25ms in reachability analysis (58ms -> 33ms) - UObject classes/instances can now be marked as cluster root objects with CanBeClusterRoot() function override. - Cluster creation is automatic. Clusters don't require any manual handling for GC to collect them when nothing is referencing them. - Moved token stream processing to a new class FFastReferenceFinder to make it more generic and re-usable by other code - Removed REFERENCE_INFO macro from GC code and replaced it with a local variable (saves about ~1.9ms: 33.2ms -> 31.3ms) Change 2773094 on 2015/11/19 by Steve.Robb@Dev-Core Multicast script delegate check for existing bindings replaced with ensure. Multicast native delegate no longer checks for existing bindings. Removal of old delegate code. Some FORCEINLINEing to improve debugging experience of stepping into delegate code. Change 2782180 on 2015/11/27 by Graeme.Thornton@GThornton_DesktopMaster Make scoped seconds timer class available outside of stats build. Normal usage macros still remain guarded Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE which only times during the outmost instance of a recursive function Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE_BASE and SCOPE_SECONDS_COUNTER_BASE which are defined in all build types, for easy temporary timing in Test/Shipping builds. Added a boolean parameter to the timer class which can be used to disable it without having to mess around with scoping the calling code Change 2782635 on 2015/11/30 by Graeme.Thornton@GThornton_DesktopMaster Added GetTimeStampPair() to the filemanager and platformfile interfaces. Requests timestamps for a pair of files where we assume that both files would always exist at the same wrapper level. Allows us to skip file system queries for localization package lookups where the native file is in a pak but the localized file doesn't exist. Change 2775153 on 2015/11/20 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec CrashReportServer moved out of the not for licencees, a few fixes, removed RegisterPII Change 2775560 on 2015/11/20 by Steve.Robb@Dev-Core FDelegateBase::GetDelegateInstance deprecated and replaced with FDelegateBase::GetDelegateInstanceProtected. Change 2781138 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Converted is using a new stats reader, a few more optimizations, should be 10x times faster Change 2772990 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Fixing potential dead lock when suspending and resuming async loading multiple times Change 2773023 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Support for references added through AddReferencedObjects in FArchiveReplaceObjectRef Change 2781055 on 2015/11/25 by Steve.Robb@Dev-Core Changes to IDelegateInstance reverted to allow licensees an easier time when upgrading their use of the now-deprecated GetDelegateInstance() code path. New TryGetBoundFunctionName() to aid the debugging of delegate bindings in non-shipping configs. Change 2773114 on 2015/11/19 by Steve.Robb@Dev-Core FMath::IsPowerOfTwo is now templated to take any type. Change 2773643 on 2015/11/19 by Steve.Robb@Dev-Core GetDelegateInstance() calls replaced - delegate instances never compare equal unless you are comparing two unbound delegates (both null) or comparing a delegate with itself. Change 2777686 on 2015/11/23 by Steve.Robb@Dev-Core GitHub #1793 - File write flags argument Change 2780590 on 2015/11/25 by Steve.Robb@Dev-Core Fix for FArchiveProxy::operator<< overloads. Change 2780845 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec #jira UE-23358 - MDD relies on hard-coded P4 depot paths (fixed source context for streams) Change 2780962 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Added FStatsWriteStream for basic saving stat messages into a stream, initial support for reading a regular stats file, minor performance optimization, coding standard fixes #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781887 on 2015/11/26 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler/ProfilerClient - Removed unneeded synchronization points, replaces with task graph SendTo jobs, removed PROFILER_THREADED_LOAD, replaced with new stats loading mechanism, should be around 2x times faster (4x since the optimization pass) #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781893 on 2015/11/26 by Steve.Robb@Dev-Core TCachedOSPageAllocator abstracted from MallocBinned2. Misc tidy-ups. Change 2782198 on 2015/11/27 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Better indication of the loading progress, should no longer freeze without a progress bar #jira UECORE-170 - Improve profiler loading performance (wip) Change 2782446 on 2015/11/29 by Steve.Robb@Dev-Core Warn when calling delegates' Create* functions when they're not assigned to anything. #codereview robert.manuszewski Change 2782538 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 #UE4 Removed DiskCachedAssetDataBuffer as it was not strictly necessary and was triggering a crash when loading the cached registry from disk. This data is now stored directly in DiskCachedAssetDataMap. It was already true that this map does not change outside of SerializeCache but now it is critical since NewCachedAssetDataMap keeps pointers directly to its values. Asset registry fixes by Bob Tellez. Possible fix for UE-23783. Change 2782564 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 FReferenceCollector::AddReferenceObjects performance improvements for TArrays. ARO will no longer call HandleObjectReference multiple times but instead will call HandleObjectReferences just once (currently only implemented for FGCCollector). Reduces the number of virtual function calls while GC'ing. Change 2782716 on 2015/11/30 by Steve.Robb@Dev-Core UObject serial number array initialized for debug visualization. Change 2782933 on 2015/11/30 by Steve.Robb@Dev-Core Critical sections are no longer copyable. Change 2783061 on 2015/11/30 by Steve.Robb@Dev-Core
2015-12-03 14:21:29 -05:00
}
}
void FProfilerSession::CompletionSyncAggregatedEventGraphData()
{
if (CompletionSync.GetReference() && !CompletionSync->IsComplete())
{
static FTotalTimeAndCount JoinTasksTimeAndCont( 0.0f, 0 );
PROFILER_SCOPE_LOG_TIME( TEXT( "4 FProfilerSession::CombineJoinAndContinue" ), &JoinTasksTimeAndCont );
FTaskGraphInterface::Get().WaitUntilTaskCompletes( CompletionSync, ENamedThreads::GameThread );
}
}
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
enum
{
ProfilerThreadRoot = 1
};
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2799478 on 2015/12/11 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Added Dev Stream custom versions. - Each stream now has its own custom version - Developers working in a stream should only modify their respective version Change 2789867 on 2015/12/04 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 UnrealHeaderTool plugins no longer need to be a separate plugin and don't require UnrealHeaderTool source code changes to work. - Merged ScriptGeneratorPlugin with ScriptPlugin - Introduced the concept of UHT plugin support for plugins so that UHT's source files don't need to be modified to make it work with external plugins - Added RuntimeNoProgram module type (module that can be used at runtime but not by program targets). - Fixed logic with project file path setting in the engine. It will no longer try to crate a full path from an already rooted path. Change 2796114 on 2015/12/09 by Steve.Robb@Dev-Core TEnumRange - enabled ranged-based for iteration over enum values. Change 2789843 on 2015/12/04 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 More thorough way of verifying GC cluster assumptions. Change 2794221 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Don't merge GC clusters by default Change 2797824 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Added the option to load all symbols for stack walking in non-monolithic builds. Change 2790539 on 2015/12/04 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats/Profiler - Better handling for live connection, using the same path as file profiles, added FStatsLoadedState to separate runtime stats state from the loaded one Change 2794183 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Always reset events when returning them to pool. Change 2794406 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Fixing -unversioned flag being completely ignored when cooking Change 2794563 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Making sure string referenced assets don't get cooked if referenced by editor-only properties. Change 2795124 on 2015/12/08 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Fixed bad data in min/max/avg inclusive times, added min/max/avg num calls, fixed event graph tooltip not displaying correct values Change 2796208 on 2015/12/09 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Remove support for multiple instances in the profiler (game thread is always visible, a few crash fixes, cleaned code a bit) Change 2797658 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Allocation verification helpers. Helps with tracking down memory stomps, freeing the same pointers multiple times. Change 2797699 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Fix incorrect asset loading in Cooked game data (by bozaro) PR #1844 Change 2798173 on 2015/12/10 by Steve.Robb@Dev-Core Migration of Fortnite to use engine's TEnumRange. Change 2798217 on 2015/12/10 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec PR #1331 [Core] Added a stomp allocator that allows finding memory overruns, underruns, and read/write after free. (Contributed by Pablo Zurita) Change 2799605 on 2015/12/11 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Fixing a crash when cancelling async loading caused by detaching linker from objects that had RF_NeedLoad flag set. Change 2799849 on 2015/12/11 by Steve.Robb@Dev-Core Migration of Ocean to use engine's TEnumRange. Change 2803144 on 2015/12/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changed export tagging archive to also serialize class default objects using the normal Serialize path so that it can collect all custom versions used by exports. Change 2803206 on 2015/12/15 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec #jira UE-24177 Audit ôshippingö defines in engine Change 2804868 on 2015/12/16 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. #lockdown Nick.Penwarden [CL 2805158 by Robert Manuszewski in Main branch]
2015-12-16 11:52:36 -05:00
bool FProfilerSession::HandleTicker( float DeltaTime )
{
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2783106 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Introduced GC UObject clusters. GC clusters provide means to create disregard for GC subsets at load time (e.g. Materials with material expressions and their textures). - Saves about 25ms in reachability analysis (58ms -> 33ms) - UObject classes/instances can now be marked as cluster root objects with CanBeClusterRoot() function override. - Cluster creation is automatic. Clusters don't require any manual handling for GC to collect them when nothing is referencing them. - Moved token stream processing to a new class FFastReferenceFinder to make it more generic and re-usable by other code - Removed REFERENCE_INFO macro from GC code and replaced it with a local variable (saves about ~1.9ms: 33.2ms -> 31.3ms) Change 2773094 on 2015/11/19 by Steve.Robb@Dev-Core Multicast script delegate check for existing bindings replaced with ensure. Multicast native delegate no longer checks for existing bindings. Removal of old delegate code. Some FORCEINLINEing to improve debugging experience of stepping into delegate code. Change 2782180 on 2015/11/27 by Graeme.Thornton@GThornton_DesktopMaster Make scoped seconds timer class available outside of stats build. Normal usage macros still remain guarded Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE which only times during the outmost instance of a recursive function Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE_BASE and SCOPE_SECONDS_COUNTER_BASE which are defined in all build types, for easy temporary timing in Test/Shipping builds. Added a boolean parameter to the timer class which can be used to disable it without having to mess around with scoping the calling code Change 2782635 on 2015/11/30 by Graeme.Thornton@GThornton_DesktopMaster Added GetTimeStampPair() to the filemanager and platformfile interfaces. Requests timestamps for a pair of files where we assume that both files would always exist at the same wrapper level. Allows us to skip file system queries for localization package lookups where the native file is in a pak but the localized file doesn't exist. Change 2775153 on 2015/11/20 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec CrashReportServer moved out of the not for licencees, a few fixes, removed RegisterPII Change 2775560 on 2015/11/20 by Steve.Robb@Dev-Core FDelegateBase::GetDelegateInstance deprecated and replaced with FDelegateBase::GetDelegateInstanceProtected. Change 2781138 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Converted is using a new stats reader, a few more optimizations, should be 10x times faster Change 2772990 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Fixing potential dead lock when suspending and resuming async loading multiple times Change 2773023 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Support for references added through AddReferencedObjects in FArchiveReplaceObjectRef Change 2781055 on 2015/11/25 by Steve.Robb@Dev-Core Changes to IDelegateInstance reverted to allow licensees an easier time when upgrading their use of the now-deprecated GetDelegateInstance() code path. New TryGetBoundFunctionName() to aid the debugging of delegate bindings in non-shipping configs. Change 2773114 on 2015/11/19 by Steve.Robb@Dev-Core FMath::IsPowerOfTwo is now templated to take any type. Change 2773643 on 2015/11/19 by Steve.Robb@Dev-Core GetDelegateInstance() calls replaced - delegate instances never compare equal unless you are comparing two unbound delegates (both null) or comparing a delegate with itself. Change 2777686 on 2015/11/23 by Steve.Robb@Dev-Core GitHub #1793 - File write flags argument Change 2780590 on 2015/11/25 by Steve.Robb@Dev-Core Fix for FArchiveProxy::operator<< overloads. Change 2780845 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec #jira UE-23358 - MDD relies on hard-coded P4 depot paths (fixed source context for streams) Change 2780962 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Added FStatsWriteStream for basic saving stat messages into a stream, initial support for reading a regular stats file, minor performance optimization, coding standard fixes #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781887 on 2015/11/26 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler/ProfilerClient - Removed unneeded synchronization points, replaces with task graph SendTo jobs, removed PROFILER_THREADED_LOAD, replaced with new stats loading mechanism, should be around 2x times faster (4x since the optimization pass) #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781893 on 2015/11/26 by Steve.Robb@Dev-Core TCachedOSPageAllocator abstracted from MallocBinned2. Misc tidy-ups. Change 2782198 on 2015/11/27 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Better indication of the loading progress, should no longer freeze without a progress bar #jira UECORE-170 - Improve profiler loading performance (wip) Change 2782446 on 2015/11/29 by Steve.Robb@Dev-Core Warn when calling delegates' Create* functions when they're not assigned to anything. #codereview robert.manuszewski Change 2782538 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 #UE4 Removed DiskCachedAssetDataBuffer as it was not strictly necessary and was triggering a crash when loading the cached registry from disk. This data is now stored directly in DiskCachedAssetDataMap. It was already true that this map does not change outside of SerializeCache but now it is critical since NewCachedAssetDataMap keeps pointers directly to its values. Asset registry fixes by Bob Tellez. Possible fix for UE-23783. Change 2782564 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 FReferenceCollector::AddReferenceObjects performance improvements for TArrays. ARO will no longer call HandleObjectReference multiple times but instead will call HandleObjectReferences just once (currently only implemented for FGCCollector). Reduces the number of virtual function calls while GC'ing. Change 2782716 on 2015/11/30 by Steve.Robb@Dev-Core UObject serial number array initialized for debug visualization. Change 2782933 on 2015/11/30 by Steve.Robb@Dev-Core Critical sections are no longer copyable. Change 2783061 on 2015/11/30 by Steve.Robb@Dev-Core
2015-12-03 14:21:29 -05:00
static double ProcessingTime = 1.0;
ProcessingTime -= DeltaTime;
static int32 NumFramesProcessedLastTime = 0;
if (ProcessingTime < 0.0)
{
UE_LOG( LogStats, Verbose, TEXT( "NumFramesProcessedLastTime: %4i / %4i" ), NumFramesProcessedLastTime, FrameToProcess.Num() );
ProcessingTime = 1.0;
NumFramesProcessedLastTime = 0;
}
// Limit processing per frame. For a live preview this must be severely limited so we can respond to the pings from the game in time
const double TimeLimitMS = ( bDataPreviewing && SessionType == EProfilerSessionTypes::Live ) ? 25.0 : 250.0;
const double TimeLimit = TimeLimitMS / 1000.0;
double Seconds = 0;
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
for( int32 It = 0; It < FrameToProcess.Num(); It++ )
{
if( Seconds > TimeLimit )
{
break;
}
Copying //UE4/Fortnite-Staging to //UE4/Dev-Main (Source: //Fortnite/Main @ 3115282) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 3114846 on 2016/09/06 by Bob.Tellez #UE4 The cooking process now respects the per-platform chunking manifest configuration in the game ini. If you specify -manifests it forces all platforms to generate a manifest. Change 3114805 on 2016/09/06 by Bob.Tellez #UE4 Attribute sets now work with their owning actor directly instead of asking the associated ability system component for the owning actor when updating the vis logger. #JIRA FORT-29511 Change 3112750 on 2016/09/02 by Bob.Tellez #UE4 bGenerateChunks from platform-specific Game.ini is now respected in pak generation code. Change 3108977 on 2016/08/31 by Jeff.Campeau Virtual keyboard support for Xbox One Text set by virtual keyboards is now submitted on the main thread through an internal tick Change 3108956 on 2016/08/31 by Chris.Gagnon Added "ClientOnly" module type to the build tools. Fixed "ServerOnly" which seems to have rotted, I assume it wasn't in use as it didn't work. Cleaned up some duplicated code which attributted to the rot most likely Change 3108879 on 2016/08/31 by Jeff.Campeau Eliminate binary renaming (allows side by side configs) Handle multiple binaries Temporary return of fixed extension SDK DLLs (required for multiplayer until they can be dynamically configured) Change 3108876 on 2016/08/31 by Jeff.Campeau Fix a manifest generation bug that was eating a character on conjoined values. Change 3108511 on 2016/08/31 by Billy.Bramer - Submit change from JoshM at my desk to make cloud mcp requests use shared pointers for net ids, enabling the use of AsShared on cloud-related callbacks which pass net ids as parameters - Note that this change does not have any validity checking as of yet Change 3108199 on 2016/08/31 by Ben.Woodhouse Disable r.lightshaftrendertoseparatetranslucency to 0 by default, but enable in fortnite via defaultEngine.ini. Change 3107825 on 2016/08/31 by Ben.Woodhouse Lightshaft rendering - add support for rendering the lightshafts to separate translucency (via the r.LightShaftRenderToSeparateTranslucency). This ensures postprocess materials with BL_BeforeTranslucency are rendered before lightshafts are applied. This fixes issues with the skin postprocess appearing too bright where it overlaps with lightshafts #jira UE-35359 Change 3107197 on 2016/08/30 by Chris.Gagnon Added ClientOnly option for Modules: ... "Modules" : [ { "Name" : "PluginName", "Type" : "ClientOnly", "LoadingPhase" : "Default" } ] ... (example taken from a plugin definition) Change 3104551 on 2016/08/29 by Lukasz.Furman potential fix for crash in ability cancelling #jira FORT-29200 Change 3104469 on 2016/08/29 by Lukasz.Furman added iteration limit to navmesh raycast loop to protect against invalid navmesh links creating an infinite loops #jira FORT-29198 Change 3103529 on 2016/08/26 by Jeff.Campeau Xbox One keyboard shift is sometimes unresponsive Change 3103523 on 2016/08/26 by Jeff.Campeau Aug XDK era launch bug fixed Change 3103183 on 2016/08/26 by Jeff.Campeau August XDK support Change 3102360 on 2016/08/26 by James.Hopkin Removed another load of float casts - these ones weren't causing problems, but are no longer necessary. Change 3099375 on 2016/08/24 by Lukasz.Furman added sanity check to UAnimInstance::Montage_Play #jira FORT-28140 Change 3097832 on 2016/08/23 by Chad.Garyet moving set_latest_build out of notifications section, was put there accidentally Change 3097139 on 2016/08/22 by Aaron.McLeran FORT-28502 Hard crash occurs on Win10 when locking computer and then unplugging audio device - Fix is modification of CL 3062338. Moving the checking of state change to head of audio update, adding new thread safe bool to immediately halt creatiing new voices if audio device changed. - Current theory is the xaudio2 in win10 doesn't properly handle audio device remove so this is a workaround till we update to XAudio2 2.8 -#rb Bob.Tellez #tests run game, lock computer, then disable or unplug audio device used by game, audio should stop gracefully without crashing Change 3096552 on 2016/08/22 by Ben.Marsh Fix killing adb.exe instead of notepad.exe. Change 3096473 on 2016/08/22 by Ben.Marsh Kill any ADB processes after a UAT command completes. The Android target platform in the editor spawns instances of ADB, and that spawns a background process to handle this and future requests. It can keep open handles to stdout, preventing the EC postprocessor from terminating. Change 3096459 on 2016/08/22 by Ben.Marsh Remove taskkill call for now. Change 3096450 on 2016/08/22 by Ben.Marsh Use system function instead of backticks to prevent errors killing job. Change 3096449 on 2016/08/22 by Ben.Marsh Kill ADB instances after running UAT; attempt to fix handle to stdout being kept open at the end of builds. Change 3096272 on 2016/08/22 by Chad.Garyet trying to remove postpfilter to see if that might be the stdout/err issue Change 3095369 on 2016/08/19 by Ben.Zeigler #Jira FORT-28683 Fix it so when using SimulateInEditor with Online PIE enabled, it disables trying to use the online service. Before it would half create the online instances, leading to issues in gameplay code when using simulate This will need updating when merging to Main to deal with the module changes Change 3095002 on 2016/08/19 by James.Hopkin Fixed another case of integers being cast to floats before being written to JSON. #jira FORT-28694 Change 3094834 on 2016/08/19 by Chad.Garyet trying a close of stdout and stderr to see if that remedies the ai test issue Change 3094719 on 2016/08/19 by John.Abercrombie Force a net update on the Avatar Actor whenever we start or stop a new Montage Change 3094487 on 2016/08/19 by James.Hopkin JSON writing of session settings no longer casts ints to floats (was causing INT_MIN to be written incorrectly). Change 3092389 on 2016/08/17 by Chad.Garyet more caveman debugging, skipping email notification if node is the fortnite ai test node. Change 3090898 on 2016/08/16 by Aaron.McLeran FORT-25911 Live OT7 crash in FVorbisAudioInfo::ReadCompressedData Implementing CL 3080958 in FN Change 3090761 on 2016/08/16 by Chris.Gagnon Added initial pass of safe zone suport to the front end. Change 3090734 on 2016/08/16 by John.Abercrombie Fix AbilitySystemComponent not ticking while playing a montage, and ticking when we're not playing a montage Here's the issue in the version of the code prior to this checkin: - UpdateShouldTick calls GetShouldTick, which checks the value of RepAnimMontageInfo.IsStopped - When we call UpdateShouldTick within AnimMontage_UpdateReplicatedData, we haven't set RepAnimMontageInfo.IsStopped yet to the correct value - So when we aren't playing any montages but are starting a new one, we were saying we shouldn't tick - It also means if we were playing a montage, and then stop, we'll start ticking - Ticking calls AnimMontage_UpdateReplicatedData, which should be called while we're playing Change 3090405 on 2016/08/16 by Chad.Garyet checking in caveman debugging for fortnite ai test node Change 3089743 on 2016/08/15 by Ben.Zeigler #jira FORT-28235 When a UWidget is added/removed from a UPanelWidget, invalidate layout. This fixes issues where removing a widget leaves it still visible on screen. There may be a better slate-level solution to this issue Change 3088178 on 2016/08/12 by Saul.Abreu Fixed bug in wrap box layout logic that would cause the inner slot vertical padding to only be added *after* the second row. Change 3087372 on 2016/08/12 by James.Hopkin Added a float overload from TJsonWriter::WriteValue - ever since I made doubles ultra precise to allow large numbers to be read properly, floats have been written with garbage on the end. Also removed 100 lines worth of code duplication while I was there. Automation tests still pass. Change 3084836 on 2016/08/10 by Lina.Halper Fix crash with retargeting additive anim montage Change 3083188 on 2016/08/09 by Bob.Tellez #UE4 UEnvQueryItemType_Point expects a FNavLocation instead of an FVector. Since passing an FVector in AddItemData() causes an assertion failure and the template specialization for FNavLocation has linkage problems, it is now required to pass in a FNavLocation instead of an FVector explicitly. Change 3082835 on 2016/08/09 by Bob.Tellez #UE4 Fix an issue where changing an array property in the defaults will leave the custom property chain stale until it is compiled, causing a crash in some circumstances. Change 3082621 on 2016/08/09 by Lukasz.Furman fixed accessing empty navigation data in crowd's path processing #jira FORT-27847 Change 3081749 on 2016/08/08 by Saul.Abreu #jira UE-34104 Implemented a customizable snapshot delay in the widget reflector - particularly handy for getting snapshots of tooltips. Change 3081596 on 2016/08/08 by John.Abercrombie Added a tick prerequisite for the mesh's primary actor tick of the FortGameState when a movement comp registers to be ticked by the game state Backed out change to CharacterMovementComponent to check to see if the pose had been ticked this frame. Tested root motion in PIE ded, PIE non-ded, and client/server configuration and it all looked good. (Basically it looks like there's some tick ordering issue with root motion in the engine, and I don't have the time right now to investigate it. This works.) #jira FORT-28139 - Hero's animation hitches when performing any action besides walking and jumping Change 3081536 on 2016/08/08 by Daniel.Broder Fixed bug in FGameplayTagContainer::AppendTags() where it was not reserving the correct amount of space for all of the tags it is about to add. #UE4 #NoReleaseNotes Change 3080679 on 2016/08/08 by Simon.Tovey Increased threshold to ignore stall warning on partilce async work. Increased precision of error message. May still fire and still needs looking into properly. If it does fire still I'll make it a higher priority. Change 3080652 on 2016/08/08 by Chad.Garyet Merging token scripts from ue4 main to fortnite changed fornite main json scheduled builds to all use skiptargetswithouttickets Change 3079357 on 2016/08/05 by John.Abercrombie Character movement components can now be throttled - This can be enabled/disabled by using the FortniteChar.ServerTickMovementAtNetUpdateRate console variable - game should be restarted after toggling it - Character movement components are throttled based on their current NetUpdateRate All character movement components are updated by the Game State - This can be enabled/disabled by using the FortniteChar.CentralCharMovementTick console variable - game should be restarted after toggling it Change 3078666 on 2016/08/05 by Simon.Tovey Disabling some log spam for particles. Change 3072992 on 2016/08/01 by Jonathan.Lindquist Fixing a bug related to weld object seams Change 3070991 on 2016/07/29 by Fred.Kimberley Allow aggregators to perform calculations while ignoring multiple GEs. Change 3070518 on 2016/07/29 by Bob.Tellez #UE4 Deprecated pin removal logic is now exclusively in UEdGraphNode::PostLoad. DeprecatedPinWatches fixup is now done in K2Node::PostLoad. Change 3069605 on 2016/07/28 by Bob.Tellez #UE4 SScrollBox now works with invalidation panels. Change 3069600 on 2016/07/28 by Bob.Tellez #UE4 SMenuAnchor now works with invalidation panels. Change 3069583 on 2016/07/28 by Bob.Tellez #UE4 Added some code to warn and recover from some invalid accounting of render instances in HierarchicalInstancedStaticMesh, if it exists in the future. Change 3068935 on 2016/07/28 by Bob.Tellez [AUTOMERGE] #UE4 Added a CVar to disable stencils on metal since they are very expensive right now. This is believed to be much better in OSX 10.12. #JIRA FORT-27836 -------- Integrated using branch //Fortnite/Main-To-//Fortnite/Release-Next (reversed) of change#3068932 by Bob.Tellez on 2016/07/28 15:50:40. Change 3068422 on 2016/07/28 by John.Pollard Fix FORT-27840 - Assertion failed: WriterState.Changed.Num() == 0 occurs when a Pitcher Husk hits the Player #tests Live game + replays Change 3067537 on 2016/07/27 by Bob.Tellez [AUTOMERGE] #UE4 Nullifying HierarchicalInstancedStaticMesh instances that were neither in the PerInstanceSMData list nor in the RemovedInstances list. #JIRA FORT-26696 -------- Integrated using branch //Fortnite/Main-To-//Fortnite/Release-Next (reversed) of change#3065681 by Bob.Tellez on 2016/07/26 21:02:55. Change 3065138 on 2016/07/26 by Josh.Markiewicz #UE4 - fixed rare case where CreateSession would crash (duplicate of Dev-Networking fix) - DestroySession now always adds a task to the async queue and never tries to complete its work within the same call - *BUG REPRO* - if CreateSession was called leaving a session in the Creating state followed by a call to DestroySession before session left Creating state this could happen - DestroySession would remove the named session while the previous CreateSession was in flight - A new CreateSession could be called afterward because the previous named session was removed - the first CreateSession would finish and give the session a valid SessionInfo - the second CreateSession would finish and assert that the SessionInfo should be invalid #tests contrived Create,Destroy,Create in same frame and saw crash, fixed code, crashes no more Change 3064932 on 2016/07/26 by Tim.Tillotson Fix for editor crash when loading unreal stats in the session frontend. Was a results of modifying EventMetadata while using a copy of the data. #JIRA UE-33426 Change 3064743 on 2016/07/26 by Mark.Satterthwaite Proper fix for FORT-27685 - on Metal it is invalid to fail to set uniform parameters on a shader - if you don't set the parameter the buffer binding may be nil or too small for the data accessed in the shader and the GPU will then crash. #jira FORT-27685 Change 3063870 on 2016/07/25 by Lukasz.Furman fixed navlink area class assignment, again custom link definitions were exporting from CDO without initializing data first #jira FORT-27713 Change 3063747 on 2016/07/25 by Bob.Tellez #Fortnite Fixed XB1 compile error due to use of DeviceDetails in XAudio2. Also removed a redundant #if XAUDIO_SUPPORTS_DEVICE_DETAILS #JIRA Change 3063500 on 2016/07/25 by Bob.Tellez #UE4 Fixing static analysis warning about not checking the return value of CoInitialize. Also initializing DeviceEnumerator to nullptr in case CoCreateInstance fails. Change 3063317 on 2016/07/25 by Lukasz.Furman fixed navlink deprecation in engine module, temporarily changed deprecation to private access since macro doesn't work with auto generated constructors #fortnite Change 3063224 on 2016/07/25 by Bob.Tellez #UE4 Unshelved change from Nick.Darnell. This is the less-invasive version of 3062014. Avoid adding widgets to the hittest grid more than once. Change 3063188 on 2016/07/25 by Lukasz.Furman removed all raw class pointers from link & area nav modifiers and replaced them with weak object pointers #jira FORT-27186 Change 3062338 on 2016/07/22 by Aaron.McLeran FORT-26470 Adding ability to stop sounds and switch audio engine into a no-sound mode when audio device is disabled/unplugged. #tests run game, disable or unplug audio device used by game, audio should stop gracefully without crashing Change 3061806 on 2016/07/22 by Ben.Zeigler #jira FORT-27519 Change error from moving a non registered component to an ensure instead of a fatal crash, this error is very old and I'm not sure what would cause it, but it went off without giving us a stack Change 3061790 on 2016/07/22 by Ben.Zeigler #jira FORT-26136 Stop a shipping game without blueprint guard enabled from printing useless stacks without an accompanying error message. This was slowing down shipping builds with no benefit Related to changes made on Orion in CL #2878992 Change 3060590 on 2016/07/21 by Mark.Satterthwaite Fix FORT-27340: Mac Metal cannot natively support PF_G8 + sRGB as not all Mac GPUs have single-channel sRGB formats (according to Apple) so we must manually pack & unpack to RGBA8_sRGB - the code to do this was missing from UpdateTexture2D. Change 3060542 on 2016/07/21 by Bob.Tellez #UE4 Made SetIsEnabled and SetVisibility virtual. Change 3058876 on 2016/07/20 by Aaron.McLeran FORT-25593 Mac crash when idling in zone with screen locked Adding logging when failing to update AuGraph and not asserting. Change 3058653 on 2016/07/20 by Bob.Tellez #UE4 Now actually removing deprecated pins from non-blueprint graphs. Also MarkPendingKill now happens in UEdGraphNode's BeginDestroy instead of its destructor to ensure supporting code can safely access references to other UObjects. Change 3058568 on 2016/07/20 by Bob.Tellez #UE4 Added an optional flag to IAssetRegistry::GetAssetByObjectPath to ignore in-memory assets for maxiumum performance. Change 3058203 on 2016/07/20 by Bob.Tellez #UE4 Clearing pin links for fixed up BT nodes so they are not asymmetrical by the time the node gets destroyed, causing an ensure to fail. Also removing the replaced nodes so they are no longer saved in the package. Change 3056767 on 2016/07/19 by Bob.Tellez #UE4 Speculative DetachLinker crash fix. #JIRA FORT-27335 Change 3056665 on 2016/07/19 by John.Abercrombie Fixed UPathFollowingComponent::HasReached not using the Goal's Radius when bUseNavAgentGoalLocation is false - When bUseNavAgentGoalLocation is true, we want to avoid using the Goal's location on the Nav Mesh, but the acceptability of a radius should be based on the Goal's radius Change 3054368 on 2016/07/18 by Lina.Halper - moved removing notifies to end of montage event - that way between blending out to terminate, it still can trigger notifies. #code review: Martin.Wilson, John.Abercrombie Change 3054109 on 2016/07/18 by Bob.Tellez #UE4 Fixed a bug where IAssetRegistry::GetAllAssets would not return data about live objects when passing bIncludeOnlyOnDiskAssets = false. Change 3053831 on 2016/07/18 by Lina.Halper #Anim montage recursive issue: Make sure to check valid before additive #code review: Bob.Tellez Change 3052641 on 2016/07/15 by Bob.Tellez #UE4 Fix a crash in OpusAudioInfo when InSrcBufferData is null. Change 3052601 on 2016/07/15 by Daniel.Broder EnvQueryInstanceBlueprintWrapper is now blueprintable, so you can make blueprints that allow more complex 'wrapper' behavior when using the blueprint node RunEQSQuery (on the EnvQueryManager). #ReleaseNoteAbove^^ Also, made EEnvQueryStatus a blueprint type, which makes it much easier to work with in blueprints. #UE4 #ReleaseNote! Change 3052201 on 2016/07/15 by Rob.Cannaday Fix for broken party state when timeout on receiving leave request response Execute delegate after marking the party in a disconnected state #jira FORT-25362 Change 3050944 on 2016/07/14 by Bob.Tellez #UE4 Fix an ensure that was incorrectly triggering when the number of hitches in a session is 0 Change 3050352 on 2016/07/14 by Olaf.Piesche #jira UE-32058 Making sure owned pointer to CurrentMaterial is set to RenderMaterial if we choose default material because of missing flags for particle systems. Change 3049049 on 2016/07/13 by Bob.Tellez #UE4 Fix an ensure and a crash in ParticleTrail2EmitterInstance for Ribbon particles. #JIRA FORT-27030 Change 3048186 on 2016/07/13 by John.Abercrombie Selecting Geometry trace mode will no longer project onto the nav mesh first in ProjectedPoints EQS generators Change 3046531 on 2016/07/12 by Bob.Tellez #UE4 Added more information to an ensure about BeginPlay being called on an actor that has already begun play. #JIRA FORT-26683 Change 3046134 on 2016/07/12 by Ian.Fox #UE4, #OnlineSubSystem - Hotfix in the ExpirationDate field early so we can update the OGF plugin Change 3045544 on 2016/07/11 by Bob.Tellez #UE4 Made Attribute fixup code only execute when loading the data from disk as it was intended. Change 3045101 on 2016/07/11 by Fred.Kimberley Changed PostSerialize logic to always use the attribute data if it is valid. Updated the details customization to set the owner and name properties when the attribute is changed. Change 3045035 on 2016/07/11 by John.Abercrombie UpdateMoveFocus will only clear the focus if the path following component is idle - Keeps the AI rotated in the correct direction when movements get paused Change 3044883 on 2016/07/11 by Mark.Satterthwaite Avoid FORT-26879 - when rendering into the viewport back-buffer the scene-viewport sets a null render-target array which MetalRHI wasn't handing, so add the necessary branches to clear the render-target array in MetalStateCache. #jira FORT-26879 Change 3044819 on 2016/07/11 by Carlos.Cuello Setting LOCKED_REPLAY_VERSION to 0 so that replays have valid changelists associated with them in ReplayMGR Change 3044683 on 2016/07/11 by Bob.Tellez #UE4 ActorPosition is now set to your AttachmentRootActor's position instead of your owning actor's position. Change 3044581 on 2016/07/11 by Nick.Cooper #UE4 - Added bSuppressStackingCues to UGameplayEffect, to allow the option avoid sending a GameplayCue RPC for each instance of a stacking UGameplayEffect #jira FORT-23140 Change 3043726 on 2016/07/08 by Billy.Bramer - Add ability for custom UGameplayModMagnitudeCalculations to specify that they have gameplay-code dependencies external to the ability system that can invalidate them aside from just routine attribute capture - UGameplayModMagnitudeCalculations can specify an external multicast delegate that the ability system component can bind to for notification of when the mod calculations are dirty and need to be refreshed - Add advanced support for UGameplayModMagnitudeCalculations opting into allowing this feature to work on client machines as well; Advanced feature to really only be used by games utilizing network dormancy on attributes that they don't mind the client attempting to calculate (ones that won't have gameplay impact); Client-based feature cannot work in tandem with attribute capture - Rename FGameplayEffectModifierMagnitude::AttemptRecalculateMagnitudeFromDependentChange to AttemptRecalculateMagnitudeFromDependentAggregatorChange to alleviate possible confusion from the newly added support for external dependencies - Rename FActiveGameplayEffectsContainer::PreDestroy to Uninitialize and move its call site from the destructor of the owning ASC to UnitializeComponents, where it can have enough information to be useful - Misc ability system cleanup (fix typos, etc.) Change 3043152 on 2016/07/08 by Daniel.Broder Re-enabled EQS details table on screen by default. (This matches the actual description of the variable, which says that enabled is the default. Also, we really need this as the default since those details are critical for debugging.) #UE4 #NoReleaseNotes Change 3041765 on 2016/07/07 by John.Abercrombie Fixed basing whether the AI should turn or not by comparing the current desired rotation vs the last update's desired rotation - The AI should be turning based on whether or not the current desired rotation is different from the rotation of the Pawn Change 3041664 on 2016/07/07 by Bob.Tellez #UE4 Removing UpdateActorPosition. This was not needed in a vast majority of use cases and was causing a crash due to multithreading issues during end of frame updates. #JIRA FORT-25983 Change 3040645 on 2016/07/06 by Bob.Tellez #UE4 Added a cvar to disable OpenGL support on Mac. If a mac that does not support Metal launches while this cvar is set to 1 then they will get a dialog box describing that they do not support metal and the process will close. Change 3039969 on 2016/07/06 by Billy.Bramer - Fix for non-snapshotted, attribute-based modifiers potentially not replicating correctly - When dependency magnitude results in a magnitude recalculation, mark the active effect dirty and wake the owner from dormancy, as the client is incapable of recalculating the value properly Change 3036256 on 2016/07/01 by Bob.Tellez #UE4 RequestExit(true) on Mac now exits without triggering exception handling, just like on Windows. Change 3036173 on 2016/07/01 by Ben.Salem Get FTests running sequentially. And, actually, running at all in non-editor. Known issues: Filename lookup needs to be changed to use asset registry instead of packages in directory. Will be worked on next. Change 3035551 on 2016/07/01 by John.Abercrombie Reworked use of the Montage pointer of the AnimNotifyEvent in UAnimInstance::OnMontageInstanceStopped based on Lina's feedback - CL 3034853 contained the original change Change 3035152 on 2016/06/30 by Daniel.Broder Added new API function for DrawDebugSolidBox, which takes an FBox instead of a Center and Extent. It also allows specifying a transform as well (but defaults to using the identity transform for convenience). #ReleaseNoteAbove The new version of DrawDebugSolidBox is more convenient and more efficient if you already have an FBox! No need to calculate the Center and Extent just to use them to recalculate the Box. Made the previous two versions of DrawDebugSolidBox call to the new one that takes an FBox and FTransform. This change keeps the implementation details more manageable for any future changes. Also, fixed typos in parameter names for DrawDebugSolidBox and DrawDebugBox versions where Extent was erroneously named "Box". NOTE: In the future, we should probably make the same changes to the DrawDebugBox API that were made for DrawDebugSolidBox, as well as similar changes for other shapes (such as DrawDebugSphere, Cylinder, etc.), which currently don't have versions that take the shape class directly/ #UE4 #ReleaseNoteAtTop Change 3034918 on 2016/06/30 by William.Ewen Updating Null RHI's max texture dimensions and max texture mip count to avoid a warning and match up with d3d11 and metal. Change 3034853 on 2016/06/30 by John.Abercrombie When a Montage is stopped we send out any anim notify state end notifications related to the Montage, and remove it from the list Change 3033507 on 2016/06/29 by Ben.Zeigler #jira UE-32651 Fix crash I had while auto saving a map with a reflection capture component. This has happened fairly often to licensees as well so we may want to merge it to a release branch Change 3033413 on 2016/06/29 by Daniel.Wright Added DistanceFieldBias to StaticMesh BuildSettings for mesh distance fields * Useful for reducing self shadowing on meshes that have ambient animation Change 3033343 on 2016/06/29 by Billy.Bramer - Fix typo in ability system: FMinimapReplicationTagCountMap should be FMinimalReplicationTagCountMap (it has nothing to do with minimaps!) Change 3032888 on 2016/06/29 by Billy.Bramer - Add ability to base a gameplay effect modifier's magnitude off of the magnitude of an attribute evaluated only up to a certain channel when using attribute-based modifiers Change 3031800 on 2016/06/28 by Jonathan.Lindquist new exr texture Change 3030807 on 2016/06/28 by Lukasz.Furman added more debug logs for rare navmesh raycast crash #jira FORT-22373 Change 3030624 on 2016/06/28 by Lukasz.Furman switching navgraph to use FMetaNavMeshPath #fortnite Change 3030002 on 2016/06/27 by Ben.Zeigler Fix crash I got in SGraphPin::OnDragEnter when the pin did not have an outer. GetOuter now calls the Unchecked version I'm not sure why it was allowed to be null here, but it was clearly supported on purpose before and was crashing with the pin changes. Change 3029720 on 2016/06/27 by Ben.Zeigler Fix TextFilterTests to pass the parameters in the correct order for > operators, and add tests that actually verify this. The real use cases were correct, only the test was broken Change 3029574 on 2016/06/27 by Bob.Tellez #UE4 Fixed a crash caused by attempting to render shadows while r.ShadowQuality was 0. Change 3027275 on 2016/06/24 by Billy.Bramer - First pass of adding evaluation channel support to non-instant gameplay effects - Evaluation channels allow for game-specific control over the order of modifier evaluation - Channels evaluate in order, with the output of one channel acting as the base value/input into the next channel in sequential order - Example: Sample Attribute: Base Value 100. Multiplicative Mod 1.1 in channel 0 and multplicative mod 1.1 in channel 1 will evaluate as ((100 * 1.1) * 1.1) instead of (100 * 1.2) - By default, evaluation channels are disabled (everything evaluates at channel 0), but a game can opt into using channels via INI - Game must specify bAllowGameplayModEvaluationChannels=true, as well as provide name aliases for the channels that the game is allowed to use via GameplayModEvaluationChannelAliases array - Game can also specify the DefaultGameplayModEvaluationChannel via INI; Gameplay effect modifiers will default into that channel - Evaluation channels show up per modifier (and per scoped modifier) in a new property on gameplay effects - Misc. clean-up and refactors within the ability system as a result of changes to support evaluation channels; Begin process of trying to remove heavy reliance on friend classes Change 3022931 on 2016/06/22 by Nick.Cooper #UE4 - Prevent camera anims without an FOV track from making any modifications to the camera FOV Change 3021845 on 2016/06/21 by Carlos.Cuello Fix for crash at startup on Mac, was asserting on !bPerformingOperation but there are codepaths where that wasn't being set to false at the end of an operation in failure cases. Fixed up those codepaths and changed the check() to an ensure() so we can still track where these cases happen but won't affect our shipping build. #jira Fort-25978 Change 3021800 on 2016/06/21 by Lukasz.Furman adding function to query if navmesh was initialized in given radius #jira FORT-24487 Change 3021777 on 2016/06/21 by Martin.Mittring UE-31921 The sub surface profile shader seems to be incorrectly ignoring post processes content that used SkyLight OcclusionTint feature will look different and might need a retweak. a brighter (~ 3-4 times) and less vibrant color results in a similar look #code_review:Jonathan.Lindquist [CL 3123852 by Bob Tellez in Main branch]
2016-09-13 18:15:38 -04:00
// Update metadata if needed
if (bRequestStatMetadataUpdate)
{
StatMetaData->Update(ClientStatMetadata);
bRequestStatMetadataUpdate = false;
}
static FTotalTimeAndCount Current(0.0f, 0);
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2783106 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Introduced GC UObject clusters. GC clusters provide means to create disregard for GC subsets at load time (e.g. Materials with material expressions and their textures). - Saves about 25ms in reachability analysis (58ms -> 33ms) - UObject classes/instances can now be marked as cluster root objects with CanBeClusterRoot() function override. - Cluster creation is automatic. Clusters don't require any manual handling for GC to collect them when nothing is referencing them. - Moved token stream processing to a new class FFastReferenceFinder to make it more generic and re-usable by other code - Removed REFERENCE_INFO macro from GC code and replaced it with a local variable (saves about ~1.9ms: 33.2ms -> 31.3ms) Change 2773094 on 2015/11/19 by Steve.Robb@Dev-Core Multicast script delegate check for existing bindings replaced with ensure. Multicast native delegate no longer checks for existing bindings. Removal of old delegate code. Some FORCEINLINEing to improve debugging experience of stepping into delegate code. Change 2782180 on 2015/11/27 by Graeme.Thornton@GThornton_DesktopMaster Make scoped seconds timer class available outside of stats build. Normal usage macros still remain guarded Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE which only times during the outmost instance of a recursive function Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE_BASE and SCOPE_SECONDS_COUNTER_BASE which are defined in all build types, for easy temporary timing in Test/Shipping builds. Added a boolean parameter to the timer class which can be used to disable it without having to mess around with scoping the calling code Change 2782635 on 2015/11/30 by Graeme.Thornton@GThornton_DesktopMaster Added GetTimeStampPair() to the filemanager and platformfile interfaces. Requests timestamps for a pair of files where we assume that both files would always exist at the same wrapper level. Allows us to skip file system queries for localization package lookups where the native file is in a pak but the localized file doesn't exist. Change 2775153 on 2015/11/20 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec CrashReportServer moved out of the not for licencees, a few fixes, removed RegisterPII Change 2775560 on 2015/11/20 by Steve.Robb@Dev-Core FDelegateBase::GetDelegateInstance deprecated and replaced with FDelegateBase::GetDelegateInstanceProtected. Change 2781138 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Converted is using a new stats reader, a few more optimizations, should be 10x times faster Change 2772990 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Fixing potential dead lock when suspending and resuming async loading multiple times Change 2773023 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Support for references added through AddReferencedObjects in FArchiveReplaceObjectRef Change 2781055 on 2015/11/25 by Steve.Robb@Dev-Core Changes to IDelegateInstance reverted to allow licensees an easier time when upgrading their use of the now-deprecated GetDelegateInstance() code path. New TryGetBoundFunctionName() to aid the debugging of delegate bindings in non-shipping configs. Change 2773114 on 2015/11/19 by Steve.Robb@Dev-Core FMath::IsPowerOfTwo is now templated to take any type. Change 2773643 on 2015/11/19 by Steve.Robb@Dev-Core GetDelegateInstance() calls replaced - delegate instances never compare equal unless you are comparing two unbound delegates (both null) or comparing a delegate with itself. Change 2777686 on 2015/11/23 by Steve.Robb@Dev-Core GitHub #1793 - File write flags argument Change 2780590 on 2015/11/25 by Steve.Robb@Dev-Core Fix for FArchiveProxy::operator<< overloads. Change 2780845 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec #jira UE-23358 - MDD relies on hard-coded P4 depot paths (fixed source context for streams) Change 2780962 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Added FStatsWriteStream for basic saving stat messages into a stream, initial support for reading a regular stats file, minor performance optimization, coding standard fixes #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781887 on 2015/11/26 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler/ProfilerClient - Removed unneeded synchronization points, replaces with task graph SendTo jobs, removed PROFILER_THREADED_LOAD, replaced with new stats loading mechanism, should be around 2x times faster (4x since the optimization pass) #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781893 on 2015/11/26 by Steve.Robb@Dev-Core TCachedOSPageAllocator abstracted from MallocBinned2. Misc tidy-ups. Change 2782198 on 2015/11/27 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Better indication of the loading progress, should no longer freeze without a progress bar #jira UECORE-170 - Improve profiler loading performance (wip) Change 2782446 on 2015/11/29 by Steve.Robb@Dev-Core Warn when calling delegates' Create* functions when they're not assigned to anything. #codereview robert.manuszewski Change 2782538 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 #UE4 Removed DiskCachedAssetDataBuffer as it was not strictly necessary and was triggering a crash when loading the cached registry from disk. This data is now stored directly in DiskCachedAssetDataMap. It was already true that this map does not change outside of SerializeCache but now it is critical since NewCachedAssetDataMap keeps pointers directly to its values. Asset registry fixes by Bob Tellez. Possible fix for UE-23783. Change 2782564 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 FReferenceCollector::AddReferenceObjects performance improvements for TArrays. ARO will no longer call HandleObjectReference multiple times but instead will call HandleObjectReferences just once (currently only implemented for FGCCollector). Reduces the number of virtual function calls while GC'ing. Change 2782716 on 2015/11/30 by Steve.Robb@Dev-Core UObject serial number array initialized for debug visualization. Change 2782933 on 2015/11/30 by Steve.Robb@Dev-Core Critical sections are no longer copyable. Change 2783061 on 2015/11/30 by Steve.Robb@Dev-Core
2015-12-03 14:21:29 -05:00
PROFILER_SCOPE_LOG_TIME( TEXT( "1 FProfilerSession::HandleTicker" ), &Current );
NumFramesProcessedLastTime++;
NumFramesProcessed++;
FSimpleScopeSecondsCounter SecondsCounter(Seconds);
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
const uint32 TargetFrame = FrameToProcess[0];
FrameToProcess.RemoveAt( 0 );
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
FProfilerDataFrame& CurrentProfilerData = FrameToProfilerDataMapping.FindChecked( TargetFrame );
TMap<uint32, float> ThreadMS;
// Preprocess the hierarchical samples for the specified frame.
const TMap<uint32, FProfilerCycleGraph>& CycleGraphs = CurrentProfilerData.CycleGraphs;
// Add a root sample for this frame.
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
const uint32 FrameRootSampleIndex = DataProvider->AddHierarchicalSample( 0, StatMetaData->GetStatByID( 1 ).OwningGroup().ID(), ProfilerThreadRoot, 0, 0 );
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
uint32 GameThreadCycles = 0;
uint32 MaxThreadCycles = 0;
TMap<uint32, FInclusiveTime> StatIDToInclusiveTime;
for( auto ThreadIt = CycleGraphs.CreateConstIterator(); ThreadIt; ++ThreadIt )
{
const uint32 ThreadID = ThreadIt.Key();
const FProfilerCycleGraph& ThreadGraph = ThreadIt.Value();
// Calculate total time for this thread.
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
FInclusiveTime ThreadDuration;
ThreadDuration.CallCount = 1;
for( int32 Index = 0; Index < ThreadGraph.Children.Num(); Index++ )
{
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
ThreadDuration.DurationCycles += ThreadGraph.Children[Index].Value;
}
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
if (ThreadDuration.DurationCycles > 0)
{
// Check for game thread.
const FString GameThreadName = FName( NAME_GameThread ).GetPlainNameString();
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2783106 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Introduced GC UObject clusters. GC clusters provide means to create disregard for GC subsets at load time (e.g. Materials with material expressions and their textures). - Saves about 25ms in reachability analysis (58ms -> 33ms) - UObject classes/instances can now be marked as cluster root objects with CanBeClusterRoot() function override. - Cluster creation is automatic. Clusters don't require any manual handling for GC to collect them when nothing is referencing them. - Moved token stream processing to a new class FFastReferenceFinder to make it more generic and re-usable by other code - Removed REFERENCE_INFO macro from GC code and replaced it with a local variable (saves about ~1.9ms: 33.2ms -> 31.3ms) Change 2773094 on 2015/11/19 by Steve.Robb@Dev-Core Multicast script delegate check for existing bindings replaced with ensure. Multicast native delegate no longer checks for existing bindings. Removal of old delegate code. Some FORCEINLINEing to improve debugging experience of stepping into delegate code. Change 2782180 on 2015/11/27 by Graeme.Thornton@GThornton_DesktopMaster Make scoped seconds timer class available outside of stats build. Normal usage macros still remain guarded Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE which only times during the outmost instance of a recursive function Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE_BASE and SCOPE_SECONDS_COUNTER_BASE which are defined in all build types, for easy temporary timing in Test/Shipping builds. Added a boolean parameter to the timer class which can be used to disable it without having to mess around with scoping the calling code Change 2782635 on 2015/11/30 by Graeme.Thornton@GThornton_DesktopMaster Added GetTimeStampPair() to the filemanager and platformfile interfaces. Requests timestamps for a pair of files where we assume that both files would always exist at the same wrapper level. Allows us to skip file system queries for localization package lookups where the native file is in a pak but the localized file doesn't exist. Change 2775153 on 2015/11/20 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec CrashReportServer moved out of the not for licencees, a few fixes, removed RegisterPII Change 2775560 on 2015/11/20 by Steve.Robb@Dev-Core FDelegateBase::GetDelegateInstance deprecated and replaced with FDelegateBase::GetDelegateInstanceProtected. Change 2781138 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Converted is using a new stats reader, a few more optimizations, should be 10x times faster Change 2772990 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Fixing potential dead lock when suspending and resuming async loading multiple times Change 2773023 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Support for references added through AddReferencedObjects in FArchiveReplaceObjectRef Change 2781055 on 2015/11/25 by Steve.Robb@Dev-Core Changes to IDelegateInstance reverted to allow licensees an easier time when upgrading their use of the now-deprecated GetDelegateInstance() code path. New TryGetBoundFunctionName() to aid the debugging of delegate bindings in non-shipping configs. Change 2773114 on 2015/11/19 by Steve.Robb@Dev-Core FMath::IsPowerOfTwo is now templated to take any type. Change 2773643 on 2015/11/19 by Steve.Robb@Dev-Core GetDelegateInstance() calls replaced - delegate instances never compare equal unless you are comparing two unbound delegates (both null) or comparing a delegate with itself. Change 2777686 on 2015/11/23 by Steve.Robb@Dev-Core GitHub #1793 - File write flags argument Change 2780590 on 2015/11/25 by Steve.Robb@Dev-Core Fix for FArchiveProxy::operator<< overloads. Change 2780845 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec #jira UE-23358 - MDD relies on hard-coded P4 depot paths (fixed source context for streams) Change 2780962 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Added FStatsWriteStream for basic saving stat messages into a stream, initial support for reading a regular stats file, minor performance optimization, coding standard fixes #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781887 on 2015/11/26 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler/ProfilerClient - Removed unneeded synchronization points, replaces with task graph SendTo jobs, removed PROFILER_THREADED_LOAD, replaced with new stats loading mechanism, should be around 2x times faster (4x since the optimization pass) #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781893 on 2015/11/26 by Steve.Robb@Dev-Core TCachedOSPageAllocator abstracted from MallocBinned2. Misc tidy-ups. Change 2782198 on 2015/11/27 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Better indication of the loading progress, should no longer freeze without a progress bar #jira UECORE-170 - Improve profiler loading performance (wip) Change 2782446 on 2015/11/29 by Steve.Robb@Dev-Core Warn when calling delegates' Create* functions when they're not assigned to anything. #codereview robert.manuszewski Change 2782538 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 #UE4 Removed DiskCachedAssetDataBuffer as it was not strictly necessary and was triggering a crash when loading the cached registry from disk. This data is now stored directly in DiskCachedAssetDataMap. It was already true that this map does not change outside of SerializeCache but now it is critical since NewCachedAssetDataMap keeps pointers directly to its values. Asset registry fixes by Bob Tellez. Possible fix for UE-23783. Change 2782564 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 FReferenceCollector::AddReferenceObjects performance improvements for TArrays. ARO will no longer call HandleObjectReference multiple times but instead will call HandleObjectReferences just once (currently only implemented for FGCCollector). Reduces the number of virtual function calls while GC'ing. Change 2782716 on 2015/11/30 by Steve.Robb@Dev-Core UObject serial number array initialized for debug visualization. Change 2782933 on 2015/11/30 by Steve.Robb@Dev-Core Critical sections are no longer copyable. Change 2783061 on 2015/11/30 by Steve.Robb@Dev-Core
2015-12-03 14:21:29 -05:00
const bool bGameThreadFound = StatMetaData->GetThreadDescriptions().FindChecked( ThreadID ).Contains( GameThreadName );
if( bGameThreadFound )
{
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
GameThreadCycles = ThreadDuration.DurationCycles;
}
// Add a root sample for each thread.
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
const uint32& StatThreadID = StatMetaData->ThreadIDtoStatID.FindChecked( ThreadID );
const uint32 ThreadRootSampleIndex = DataProvider->AddHierarchicalSample
(
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
StatThreadID,
StatMetaData->GetStatByID(StatThreadID).OwningGroup().ID(),
StatThreadID,
ThreadDuration.DurationCycles, 1,
FrameRootSampleIndex
);
ThreadMS.FindOrAdd( ThreadID ) = static_cast<float>(StatMetaData->ConvertCyclesToMS( ThreadDuration.DurationCycles ));
// Recursively add children and parent to the root samples.
for( int32 Index = 0; Index < ThreadGraph.Children.Num(); Index++ )
{
const FProfilerCycleGraph& CycleGraph = ThreadGraph.Children[Index];
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
const uint32 ChildDurationCycles = CycleGraph.Value;
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
if (ChildDurationCycles > 0.0)
{
PopulateHierarchy_Recurrent( StatThreadID, CycleGraph, ChildDurationCycles, ThreadRootSampleIndex, StatIDToInclusiveTime );
}
}
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
StatIDToInclusiveTime.Add( StatThreadID, ThreadDuration );
MaxThreadCycles = FMath::Max( MaxThreadCycles, ThreadDuration.DurationCycles );
}
}
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
InclusiveAggregateStackStats.Add( MoveTemp( StatIDToInclusiveTime ) );
// Fix the root stat time.
FProfilerSampleArray& MutableCollection = const_cast<FProfilerSampleArray&>(DataProvider->GetCollection());
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
MutableCollection[FrameRootSampleIndex].SetDurationCycles( GameThreadCycles != 0 ? GameThreadCycles : MaxThreadCycles );
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
// Update FPS analyzer.
const float GameThreadTimeMS = static_cast<float>(StatMetaData->ConvertCyclesToMS( GameThreadCycles ));
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
FPSAnalyzer->AddSample( GameThreadTimeMS > 0.0f ? 1000.0f / GameThreadTimeMS : 0.0f );
// Process the non-hierarchical samples for the specified frame.
{
// Process integer counters.
for( int32 Index = 0; Index < CurrentProfilerData.CountAccumulators.Num(); Index++ )
{
const FProfilerCountAccumulator& IntCounter = CurrentProfilerData.CountAccumulators[Index];
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2783106 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Introduced GC UObject clusters. GC clusters provide means to create disregard for GC subsets at load time (e.g. Materials with material expressions and their textures). - Saves about 25ms in reachability analysis (58ms -> 33ms) - UObject classes/instances can now be marked as cluster root objects with CanBeClusterRoot() function override. - Cluster creation is automatic. Clusters don't require any manual handling for GC to collect them when nothing is referencing them. - Moved token stream processing to a new class FFastReferenceFinder to make it more generic and re-usable by other code - Removed REFERENCE_INFO macro from GC code and replaced it with a local variable (saves about ~1.9ms: 33.2ms -> 31.3ms) Change 2773094 on 2015/11/19 by Steve.Robb@Dev-Core Multicast script delegate check for existing bindings replaced with ensure. Multicast native delegate no longer checks for existing bindings. Removal of old delegate code. Some FORCEINLINEing to improve debugging experience of stepping into delegate code. Change 2782180 on 2015/11/27 by Graeme.Thornton@GThornton_DesktopMaster Make scoped seconds timer class available outside of stats build. Normal usage macros still remain guarded Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE which only times during the outmost instance of a recursive function Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE_BASE and SCOPE_SECONDS_COUNTER_BASE which are defined in all build types, for easy temporary timing in Test/Shipping builds. Added a boolean parameter to the timer class which can be used to disable it without having to mess around with scoping the calling code Change 2782635 on 2015/11/30 by Graeme.Thornton@GThornton_DesktopMaster Added GetTimeStampPair() to the filemanager and platformfile interfaces. Requests timestamps for a pair of files where we assume that both files would always exist at the same wrapper level. Allows us to skip file system queries for localization package lookups where the native file is in a pak but the localized file doesn't exist. Change 2775153 on 2015/11/20 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec CrashReportServer moved out of the not for licencees, a few fixes, removed RegisterPII Change 2775560 on 2015/11/20 by Steve.Robb@Dev-Core FDelegateBase::GetDelegateInstance deprecated and replaced with FDelegateBase::GetDelegateInstanceProtected. Change 2781138 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Converted is using a new stats reader, a few more optimizations, should be 10x times faster Change 2772990 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Fixing potential dead lock when suspending and resuming async loading multiple times Change 2773023 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Support for references added through AddReferencedObjects in FArchiveReplaceObjectRef Change 2781055 on 2015/11/25 by Steve.Robb@Dev-Core Changes to IDelegateInstance reverted to allow licensees an easier time when upgrading their use of the now-deprecated GetDelegateInstance() code path. New TryGetBoundFunctionName() to aid the debugging of delegate bindings in non-shipping configs. Change 2773114 on 2015/11/19 by Steve.Robb@Dev-Core FMath::IsPowerOfTwo is now templated to take any type. Change 2773643 on 2015/11/19 by Steve.Robb@Dev-Core GetDelegateInstance() calls replaced - delegate instances never compare equal unless you are comparing two unbound delegates (both null) or comparing a delegate with itself. Change 2777686 on 2015/11/23 by Steve.Robb@Dev-Core GitHub #1793 - File write flags argument Change 2780590 on 2015/11/25 by Steve.Robb@Dev-Core Fix for FArchiveProxy::operator<< overloads. Change 2780845 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec #jira UE-23358 - MDD relies on hard-coded P4 depot paths (fixed source context for streams) Change 2780962 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Added FStatsWriteStream for basic saving stat messages into a stream, initial support for reading a regular stats file, minor performance optimization, coding standard fixes #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781887 on 2015/11/26 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler/ProfilerClient - Removed unneeded synchronization points, replaces with task graph SendTo jobs, removed PROFILER_THREADED_LOAD, replaced with new stats loading mechanism, should be around 2x times faster (4x since the optimization pass) #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781893 on 2015/11/26 by Steve.Robb@Dev-Core TCachedOSPageAllocator abstracted from MallocBinned2. Misc tidy-ups. Change 2782198 on 2015/11/27 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Better indication of the loading progress, should no longer freeze without a progress bar #jira UECORE-170 - Improve profiler loading performance (wip) Change 2782446 on 2015/11/29 by Steve.Robb@Dev-Core Warn when calling delegates' Create* functions when they're not assigned to anything. #codereview robert.manuszewski Change 2782538 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 #UE4 Removed DiskCachedAssetDataBuffer as it was not strictly necessary and was triggering a crash when loading the cached registry from disk. This data is now stored directly in DiskCachedAssetDataMap. It was already true that this map does not change outside of SerializeCache but now it is critical since NewCachedAssetDataMap keeps pointers directly to its values. Asset registry fixes by Bob Tellez. Possible fix for UE-23783. Change 2782564 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 FReferenceCollector::AddReferenceObjects performance improvements for TArrays. ARO will no longer call HandleObjectReference multiple times but instead will call HandleObjectReferences just once (currently only implemented for FGCCollector). Reduces the number of virtual function calls while GC'ing. Change 2782716 on 2015/11/30 by Steve.Robb@Dev-Core UObject serial number array initialized for debug visualization. Change 2782933 on 2015/11/30 by Steve.Robb@Dev-Core Critical sections are no longer copyable. Change 2783061 on 2015/11/30 by Steve.Robb@Dev-Core
2015-12-03 14:21:29 -05:00
const EProfilerSampleTypes::Type ProfilerSampleType = StatMetaData->GetSampleTypeForStatID( IntCounter.StatId );
DataProvider->AddCounterSample( StatMetaData->GetStatByID(IntCounter.StatId).OwningGroup().ID(), IntCounter.StatId, (double)IntCounter.Value, ProfilerSampleType );
}
// Process floating point counters.
for( int32 Index = 0; Index < CurrentProfilerData.FloatAccumulators.Num(); Index++ )
{
const FProfilerFloatAccumulator& FloatCounter = CurrentProfilerData.FloatAccumulators[Index];
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2783106 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Introduced GC UObject clusters. GC clusters provide means to create disregard for GC subsets at load time (e.g. Materials with material expressions and their textures). - Saves about 25ms in reachability analysis (58ms -> 33ms) - UObject classes/instances can now be marked as cluster root objects with CanBeClusterRoot() function override. - Cluster creation is automatic. Clusters don't require any manual handling for GC to collect them when nothing is referencing them. - Moved token stream processing to a new class FFastReferenceFinder to make it more generic and re-usable by other code - Removed REFERENCE_INFO macro from GC code and replaced it with a local variable (saves about ~1.9ms: 33.2ms -> 31.3ms) Change 2773094 on 2015/11/19 by Steve.Robb@Dev-Core Multicast script delegate check for existing bindings replaced with ensure. Multicast native delegate no longer checks for existing bindings. Removal of old delegate code. Some FORCEINLINEing to improve debugging experience of stepping into delegate code. Change 2782180 on 2015/11/27 by Graeme.Thornton@GThornton_DesktopMaster Make scoped seconds timer class available outside of stats build. Normal usage macros still remain guarded Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE which only times during the outmost instance of a recursive function Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE_BASE and SCOPE_SECONDS_COUNTER_BASE which are defined in all build types, for easy temporary timing in Test/Shipping builds. Added a boolean parameter to the timer class which can be used to disable it without having to mess around with scoping the calling code Change 2782635 on 2015/11/30 by Graeme.Thornton@GThornton_DesktopMaster Added GetTimeStampPair() to the filemanager and platformfile interfaces. Requests timestamps for a pair of files where we assume that both files would always exist at the same wrapper level. Allows us to skip file system queries for localization package lookups where the native file is in a pak but the localized file doesn't exist. Change 2775153 on 2015/11/20 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec CrashReportServer moved out of the not for licencees, a few fixes, removed RegisterPII Change 2775560 on 2015/11/20 by Steve.Robb@Dev-Core FDelegateBase::GetDelegateInstance deprecated and replaced with FDelegateBase::GetDelegateInstanceProtected. Change 2781138 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Converted is using a new stats reader, a few more optimizations, should be 10x times faster Change 2772990 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Fixing potential dead lock when suspending and resuming async loading multiple times Change 2773023 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Support for references added through AddReferencedObjects in FArchiveReplaceObjectRef Change 2781055 on 2015/11/25 by Steve.Robb@Dev-Core Changes to IDelegateInstance reverted to allow licensees an easier time when upgrading their use of the now-deprecated GetDelegateInstance() code path. New TryGetBoundFunctionName() to aid the debugging of delegate bindings in non-shipping configs. Change 2773114 on 2015/11/19 by Steve.Robb@Dev-Core FMath::IsPowerOfTwo is now templated to take any type. Change 2773643 on 2015/11/19 by Steve.Robb@Dev-Core GetDelegateInstance() calls replaced - delegate instances never compare equal unless you are comparing two unbound delegates (both null) or comparing a delegate with itself. Change 2777686 on 2015/11/23 by Steve.Robb@Dev-Core GitHub #1793 - File write flags argument Change 2780590 on 2015/11/25 by Steve.Robb@Dev-Core Fix for FArchiveProxy::operator<< overloads. Change 2780845 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec #jira UE-23358 - MDD relies on hard-coded P4 depot paths (fixed source context for streams) Change 2780962 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Added FStatsWriteStream for basic saving stat messages into a stream, initial support for reading a regular stats file, minor performance optimization, coding standard fixes #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781887 on 2015/11/26 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler/ProfilerClient - Removed unneeded synchronization points, replaces with task graph SendTo jobs, removed PROFILER_THREADED_LOAD, replaced with new stats loading mechanism, should be around 2x times faster (4x since the optimization pass) #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781893 on 2015/11/26 by Steve.Robb@Dev-Core TCachedOSPageAllocator abstracted from MallocBinned2. Misc tidy-ups. Change 2782198 on 2015/11/27 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Better indication of the loading progress, should no longer freeze without a progress bar #jira UECORE-170 - Improve profiler loading performance (wip) Change 2782446 on 2015/11/29 by Steve.Robb@Dev-Core Warn when calling delegates' Create* functions when they're not assigned to anything. #codereview robert.manuszewski Change 2782538 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 #UE4 Removed DiskCachedAssetDataBuffer as it was not strictly necessary and was triggering a crash when loading the cached registry from disk. This data is now stored directly in DiskCachedAssetDataMap. It was already true that this map does not change outside of SerializeCache but now it is critical since NewCachedAssetDataMap keeps pointers directly to its values. Asset registry fixes by Bob Tellez. Possible fix for UE-23783. Change 2782564 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 FReferenceCollector::AddReferenceObjects performance improvements for TArrays. ARO will no longer call HandleObjectReference multiple times but instead will call HandleObjectReferences just once (currently only implemented for FGCCollector). Reduces the number of virtual function calls while GC'ing. Change 2782716 on 2015/11/30 by Steve.Robb@Dev-Core UObject serial number array initialized for debug visualization. Change 2782933 on 2015/11/30 by Steve.Robb@Dev-Core Critical sections are no longer copyable. Change 2783061 on 2015/11/30 by Steve.Robb@Dev-Core
2015-12-03 14:21:29 -05:00
DataProvider->AddCounterSample( StatMetaData->GetStatByID(FloatCounter.StatId).OwningGroup().ID(), FloatCounter.StatId, (double)FloatCounter.Value, EProfilerSampleTypes::NumberFloat );
}
}
// Advance frame
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
const uint32 DataProviderFrameIndex = DataProvider->GetNumFrames();
DataProvider->AdvanceFrame( static_cast<float>(StatMetaData->ConvertCyclesToMS( MaxThreadCycles )) );
// Update aggregated stats
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
UpdateAggregatedStats( DataProviderFrameIndex );
Copying //UE4/Fortnite-Staging to //UE4/Dev-Main (Source: //Fortnite/Main @ 3115282) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 3114846 on 2016/09/06 by Bob.Tellez #UE4 The cooking process now respects the per-platform chunking manifest configuration in the game ini. If you specify -manifests it forces all platforms to generate a manifest. Change 3114805 on 2016/09/06 by Bob.Tellez #UE4 Attribute sets now work with their owning actor directly instead of asking the associated ability system component for the owning actor when updating the vis logger. #JIRA FORT-29511 Change 3112750 on 2016/09/02 by Bob.Tellez #UE4 bGenerateChunks from platform-specific Game.ini is now respected in pak generation code. Change 3108977 on 2016/08/31 by Jeff.Campeau Virtual keyboard support for Xbox One Text set by virtual keyboards is now submitted on the main thread through an internal tick Change 3108956 on 2016/08/31 by Chris.Gagnon Added "ClientOnly" module type to the build tools. Fixed "ServerOnly" which seems to have rotted, I assume it wasn't in use as it didn't work. Cleaned up some duplicated code which attributted to the rot most likely Change 3108879 on 2016/08/31 by Jeff.Campeau Eliminate binary renaming (allows side by side configs) Handle multiple binaries Temporary return of fixed extension SDK DLLs (required for multiplayer until they can be dynamically configured) Change 3108876 on 2016/08/31 by Jeff.Campeau Fix a manifest generation bug that was eating a character on conjoined values. Change 3108511 on 2016/08/31 by Billy.Bramer - Submit change from JoshM at my desk to make cloud mcp requests use shared pointers for net ids, enabling the use of AsShared on cloud-related callbacks which pass net ids as parameters - Note that this change does not have any validity checking as of yet Change 3108199 on 2016/08/31 by Ben.Woodhouse Disable r.lightshaftrendertoseparatetranslucency to 0 by default, but enable in fortnite via defaultEngine.ini. Change 3107825 on 2016/08/31 by Ben.Woodhouse Lightshaft rendering - add support for rendering the lightshafts to separate translucency (via the r.LightShaftRenderToSeparateTranslucency). This ensures postprocess materials with BL_BeforeTranslucency are rendered before lightshafts are applied. This fixes issues with the skin postprocess appearing too bright where it overlaps with lightshafts #jira UE-35359 Change 3107197 on 2016/08/30 by Chris.Gagnon Added ClientOnly option for Modules: ... "Modules" : [ { "Name" : "PluginName", "Type" : "ClientOnly", "LoadingPhase" : "Default" } ] ... (example taken from a plugin definition) Change 3104551 on 2016/08/29 by Lukasz.Furman potential fix for crash in ability cancelling #jira FORT-29200 Change 3104469 on 2016/08/29 by Lukasz.Furman added iteration limit to navmesh raycast loop to protect against invalid navmesh links creating an infinite loops #jira FORT-29198 Change 3103529 on 2016/08/26 by Jeff.Campeau Xbox One keyboard shift is sometimes unresponsive Change 3103523 on 2016/08/26 by Jeff.Campeau Aug XDK era launch bug fixed Change 3103183 on 2016/08/26 by Jeff.Campeau August XDK support Change 3102360 on 2016/08/26 by James.Hopkin Removed another load of float casts - these ones weren't causing problems, but are no longer necessary. Change 3099375 on 2016/08/24 by Lukasz.Furman added sanity check to UAnimInstance::Montage_Play #jira FORT-28140 Change 3097832 on 2016/08/23 by Chad.Garyet moving set_latest_build out of notifications section, was put there accidentally Change 3097139 on 2016/08/22 by Aaron.McLeran FORT-28502 Hard crash occurs on Win10 when locking computer and then unplugging audio device - Fix is modification of CL 3062338. Moving the checking of state change to head of audio update, adding new thread safe bool to immediately halt creatiing new voices if audio device changed. - Current theory is the xaudio2 in win10 doesn't properly handle audio device remove so this is a workaround till we update to XAudio2 2.8 -#rb Bob.Tellez #tests run game, lock computer, then disable or unplug audio device used by game, audio should stop gracefully without crashing Change 3096552 on 2016/08/22 by Ben.Marsh Fix killing adb.exe instead of notepad.exe. Change 3096473 on 2016/08/22 by Ben.Marsh Kill any ADB processes after a UAT command completes. The Android target platform in the editor spawns instances of ADB, and that spawns a background process to handle this and future requests. It can keep open handles to stdout, preventing the EC postprocessor from terminating. Change 3096459 on 2016/08/22 by Ben.Marsh Remove taskkill call for now. Change 3096450 on 2016/08/22 by Ben.Marsh Use system function instead of backticks to prevent errors killing job. Change 3096449 on 2016/08/22 by Ben.Marsh Kill ADB instances after running UAT; attempt to fix handle to stdout being kept open at the end of builds. Change 3096272 on 2016/08/22 by Chad.Garyet trying to remove postpfilter to see if that might be the stdout/err issue Change 3095369 on 2016/08/19 by Ben.Zeigler #Jira FORT-28683 Fix it so when using SimulateInEditor with Online PIE enabled, it disables trying to use the online service. Before it would half create the online instances, leading to issues in gameplay code when using simulate This will need updating when merging to Main to deal with the module changes Change 3095002 on 2016/08/19 by James.Hopkin Fixed another case of integers being cast to floats before being written to JSON. #jira FORT-28694 Change 3094834 on 2016/08/19 by Chad.Garyet trying a close of stdout and stderr to see if that remedies the ai test issue Change 3094719 on 2016/08/19 by John.Abercrombie Force a net update on the Avatar Actor whenever we start or stop a new Montage Change 3094487 on 2016/08/19 by James.Hopkin JSON writing of session settings no longer casts ints to floats (was causing INT_MIN to be written incorrectly). Change 3092389 on 2016/08/17 by Chad.Garyet more caveman debugging, skipping email notification if node is the fortnite ai test node. Change 3090898 on 2016/08/16 by Aaron.McLeran FORT-25911 Live OT7 crash in FVorbisAudioInfo::ReadCompressedData Implementing CL 3080958 in FN Change 3090761 on 2016/08/16 by Chris.Gagnon Added initial pass of safe zone suport to the front end. Change 3090734 on 2016/08/16 by John.Abercrombie Fix AbilitySystemComponent not ticking while playing a montage, and ticking when we're not playing a montage Here's the issue in the version of the code prior to this checkin: - UpdateShouldTick calls GetShouldTick, which checks the value of RepAnimMontageInfo.IsStopped - When we call UpdateShouldTick within AnimMontage_UpdateReplicatedData, we haven't set RepAnimMontageInfo.IsStopped yet to the correct value - So when we aren't playing any montages but are starting a new one, we were saying we shouldn't tick - It also means if we were playing a montage, and then stop, we'll start ticking - Ticking calls AnimMontage_UpdateReplicatedData, which should be called while we're playing Change 3090405 on 2016/08/16 by Chad.Garyet checking in caveman debugging for fortnite ai test node Change 3089743 on 2016/08/15 by Ben.Zeigler #jira FORT-28235 When a UWidget is added/removed from a UPanelWidget, invalidate layout. This fixes issues where removing a widget leaves it still visible on screen. There may be a better slate-level solution to this issue Change 3088178 on 2016/08/12 by Saul.Abreu Fixed bug in wrap box layout logic that would cause the inner slot vertical padding to only be added *after* the second row. Change 3087372 on 2016/08/12 by James.Hopkin Added a float overload from TJsonWriter::WriteValue - ever since I made doubles ultra precise to allow large numbers to be read properly, floats have been written with garbage on the end. Also removed 100 lines worth of code duplication while I was there. Automation tests still pass. Change 3084836 on 2016/08/10 by Lina.Halper Fix crash with retargeting additive anim montage Change 3083188 on 2016/08/09 by Bob.Tellez #UE4 UEnvQueryItemType_Point expects a FNavLocation instead of an FVector. Since passing an FVector in AddItemData() causes an assertion failure and the template specialization for FNavLocation has linkage problems, it is now required to pass in a FNavLocation instead of an FVector explicitly. Change 3082835 on 2016/08/09 by Bob.Tellez #UE4 Fix an issue where changing an array property in the defaults will leave the custom property chain stale until it is compiled, causing a crash in some circumstances. Change 3082621 on 2016/08/09 by Lukasz.Furman fixed accessing empty navigation data in crowd's path processing #jira FORT-27847 Change 3081749 on 2016/08/08 by Saul.Abreu #jira UE-34104 Implemented a customizable snapshot delay in the widget reflector - particularly handy for getting snapshots of tooltips. Change 3081596 on 2016/08/08 by John.Abercrombie Added a tick prerequisite for the mesh's primary actor tick of the FortGameState when a movement comp registers to be ticked by the game state Backed out change to CharacterMovementComponent to check to see if the pose had been ticked this frame. Tested root motion in PIE ded, PIE non-ded, and client/server configuration and it all looked good. (Basically it looks like there's some tick ordering issue with root motion in the engine, and I don't have the time right now to investigate it. This works.) #jira FORT-28139 - Hero's animation hitches when performing any action besides walking and jumping Change 3081536 on 2016/08/08 by Daniel.Broder Fixed bug in FGameplayTagContainer::AppendTags() where it was not reserving the correct amount of space for all of the tags it is about to add. #UE4 #NoReleaseNotes Change 3080679 on 2016/08/08 by Simon.Tovey Increased threshold to ignore stall warning on partilce async work. Increased precision of error message. May still fire and still needs looking into properly. If it does fire still I'll make it a higher priority. Change 3080652 on 2016/08/08 by Chad.Garyet Merging token scripts from ue4 main to fortnite changed fornite main json scheduled builds to all use skiptargetswithouttickets Change 3079357 on 2016/08/05 by John.Abercrombie Character movement components can now be throttled - This can be enabled/disabled by using the FortniteChar.ServerTickMovementAtNetUpdateRate console variable - game should be restarted after toggling it - Character movement components are throttled based on their current NetUpdateRate All character movement components are updated by the Game State - This can be enabled/disabled by using the FortniteChar.CentralCharMovementTick console variable - game should be restarted after toggling it Change 3078666 on 2016/08/05 by Simon.Tovey Disabling some log spam for particles. Change 3072992 on 2016/08/01 by Jonathan.Lindquist Fixing a bug related to weld object seams Change 3070991 on 2016/07/29 by Fred.Kimberley Allow aggregators to perform calculations while ignoring multiple GEs. Change 3070518 on 2016/07/29 by Bob.Tellez #UE4 Deprecated pin removal logic is now exclusively in UEdGraphNode::PostLoad. DeprecatedPinWatches fixup is now done in K2Node::PostLoad. Change 3069605 on 2016/07/28 by Bob.Tellez #UE4 SScrollBox now works with invalidation panels. Change 3069600 on 2016/07/28 by Bob.Tellez #UE4 SMenuAnchor now works with invalidation panels. Change 3069583 on 2016/07/28 by Bob.Tellez #UE4 Added some code to warn and recover from some invalid accounting of render instances in HierarchicalInstancedStaticMesh, if it exists in the future. Change 3068935 on 2016/07/28 by Bob.Tellez [AUTOMERGE] #UE4 Added a CVar to disable stencils on metal since they are very expensive right now. This is believed to be much better in OSX 10.12. #JIRA FORT-27836 -------- Integrated using branch //Fortnite/Main-To-//Fortnite/Release-Next (reversed) of change#3068932 by Bob.Tellez on 2016/07/28 15:50:40. Change 3068422 on 2016/07/28 by John.Pollard Fix FORT-27840 - Assertion failed: WriterState.Changed.Num() == 0 occurs when a Pitcher Husk hits the Player #tests Live game + replays Change 3067537 on 2016/07/27 by Bob.Tellez [AUTOMERGE] #UE4 Nullifying HierarchicalInstancedStaticMesh instances that were neither in the PerInstanceSMData list nor in the RemovedInstances list. #JIRA FORT-26696 -------- Integrated using branch //Fortnite/Main-To-//Fortnite/Release-Next (reversed) of change#3065681 by Bob.Tellez on 2016/07/26 21:02:55. Change 3065138 on 2016/07/26 by Josh.Markiewicz #UE4 - fixed rare case where CreateSession would crash (duplicate of Dev-Networking fix) - DestroySession now always adds a task to the async queue and never tries to complete its work within the same call - *BUG REPRO* - if CreateSession was called leaving a session in the Creating state followed by a call to DestroySession before session left Creating state this could happen - DestroySession would remove the named session while the previous CreateSession was in flight - A new CreateSession could be called afterward because the previous named session was removed - the first CreateSession would finish and give the session a valid SessionInfo - the second CreateSession would finish and assert that the SessionInfo should be invalid #tests contrived Create,Destroy,Create in same frame and saw crash, fixed code, crashes no more Change 3064932 on 2016/07/26 by Tim.Tillotson Fix for editor crash when loading unreal stats in the session frontend. Was a results of modifying EventMetadata while using a copy of the data. #JIRA UE-33426 Change 3064743 on 2016/07/26 by Mark.Satterthwaite Proper fix for FORT-27685 - on Metal it is invalid to fail to set uniform parameters on a shader - if you don't set the parameter the buffer binding may be nil or too small for the data accessed in the shader and the GPU will then crash. #jira FORT-27685 Change 3063870 on 2016/07/25 by Lukasz.Furman fixed navlink area class assignment, again custom link definitions were exporting from CDO without initializing data first #jira FORT-27713 Change 3063747 on 2016/07/25 by Bob.Tellez #Fortnite Fixed XB1 compile error due to use of DeviceDetails in XAudio2. Also removed a redundant #if XAUDIO_SUPPORTS_DEVICE_DETAILS #JIRA Change 3063500 on 2016/07/25 by Bob.Tellez #UE4 Fixing static analysis warning about not checking the return value of CoInitialize. Also initializing DeviceEnumerator to nullptr in case CoCreateInstance fails. Change 3063317 on 2016/07/25 by Lukasz.Furman fixed navlink deprecation in engine module, temporarily changed deprecation to private access since macro doesn't work with auto generated constructors #fortnite Change 3063224 on 2016/07/25 by Bob.Tellez #UE4 Unshelved change from Nick.Darnell. This is the less-invasive version of 3062014. Avoid adding widgets to the hittest grid more than once. Change 3063188 on 2016/07/25 by Lukasz.Furman removed all raw class pointers from link & area nav modifiers and replaced them with weak object pointers #jira FORT-27186 Change 3062338 on 2016/07/22 by Aaron.McLeran FORT-26470 Adding ability to stop sounds and switch audio engine into a no-sound mode when audio device is disabled/unplugged. #tests run game, disable or unplug audio device used by game, audio should stop gracefully without crashing Change 3061806 on 2016/07/22 by Ben.Zeigler #jira FORT-27519 Change error from moving a non registered component to an ensure instead of a fatal crash, this error is very old and I'm not sure what would cause it, but it went off without giving us a stack Change 3061790 on 2016/07/22 by Ben.Zeigler #jira FORT-26136 Stop a shipping game without blueprint guard enabled from printing useless stacks without an accompanying error message. This was slowing down shipping builds with no benefit Related to changes made on Orion in CL #2878992 Change 3060590 on 2016/07/21 by Mark.Satterthwaite Fix FORT-27340: Mac Metal cannot natively support PF_G8 + sRGB as not all Mac GPUs have single-channel sRGB formats (according to Apple) so we must manually pack & unpack to RGBA8_sRGB - the code to do this was missing from UpdateTexture2D. Change 3060542 on 2016/07/21 by Bob.Tellez #UE4 Made SetIsEnabled and SetVisibility virtual. Change 3058876 on 2016/07/20 by Aaron.McLeran FORT-25593 Mac crash when idling in zone with screen locked Adding logging when failing to update AuGraph and not asserting. Change 3058653 on 2016/07/20 by Bob.Tellez #UE4 Now actually removing deprecated pins from non-blueprint graphs. Also MarkPendingKill now happens in UEdGraphNode's BeginDestroy instead of its destructor to ensure supporting code can safely access references to other UObjects. Change 3058568 on 2016/07/20 by Bob.Tellez #UE4 Added an optional flag to IAssetRegistry::GetAssetByObjectPath to ignore in-memory assets for maxiumum performance. Change 3058203 on 2016/07/20 by Bob.Tellez #UE4 Clearing pin links for fixed up BT nodes so they are not asymmetrical by the time the node gets destroyed, causing an ensure to fail. Also removing the replaced nodes so they are no longer saved in the package. Change 3056767 on 2016/07/19 by Bob.Tellez #UE4 Speculative DetachLinker crash fix. #JIRA FORT-27335 Change 3056665 on 2016/07/19 by John.Abercrombie Fixed UPathFollowingComponent::HasReached not using the Goal's Radius when bUseNavAgentGoalLocation is false - When bUseNavAgentGoalLocation is true, we want to avoid using the Goal's location on the Nav Mesh, but the acceptability of a radius should be based on the Goal's radius Change 3054368 on 2016/07/18 by Lina.Halper - moved removing notifies to end of montage event - that way between blending out to terminate, it still can trigger notifies. #code review: Martin.Wilson, John.Abercrombie Change 3054109 on 2016/07/18 by Bob.Tellez #UE4 Fixed a bug where IAssetRegistry::GetAllAssets would not return data about live objects when passing bIncludeOnlyOnDiskAssets = false. Change 3053831 on 2016/07/18 by Lina.Halper #Anim montage recursive issue: Make sure to check valid before additive #code review: Bob.Tellez Change 3052641 on 2016/07/15 by Bob.Tellez #UE4 Fix a crash in OpusAudioInfo when InSrcBufferData is null. Change 3052601 on 2016/07/15 by Daniel.Broder EnvQueryInstanceBlueprintWrapper is now blueprintable, so you can make blueprints that allow more complex 'wrapper' behavior when using the blueprint node RunEQSQuery (on the EnvQueryManager). #ReleaseNoteAbove^^ Also, made EEnvQueryStatus a blueprint type, which makes it much easier to work with in blueprints. #UE4 #ReleaseNote! Change 3052201 on 2016/07/15 by Rob.Cannaday Fix for broken party state when timeout on receiving leave request response Execute delegate after marking the party in a disconnected state #jira FORT-25362 Change 3050944 on 2016/07/14 by Bob.Tellez #UE4 Fix an ensure that was incorrectly triggering when the number of hitches in a session is 0 Change 3050352 on 2016/07/14 by Olaf.Piesche #jira UE-32058 Making sure owned pointer to CurrentMaterial is set to RenderMaterial if we choose default material because of missing flags for particle systems. Change 3049049 on 2016/07/13 by Bob.Tellez #UE4 Fix an ensure and a crash in ParticleTrail2EmitterInstance for Ribbon particles. #JIRA FORT-27030 Change 3048186 on 2016/07/13 by John.Abercrombie Selecting Geometry trace mode will no longer project onto the nav mesh first in ProjectedPoints EQS generators Change 3046531 on 2016/07/12 by Bob.Tellez #UE4 Added more information to an ensure about BeginPlay being called on an actor that has already begun play. #JIRA FORT-26683 Change 3046134 on 2016/07/12 by Ian.Fox #UE4, #OnlineSubSystem - Hotfix in the ExpirationDate field early so we can update the OGF plugin Change 3045544 on 2016/07/11 by Bob.Tellez #UE4 Made Attribute fixup code only execute when loading the data from disk as it was intended. Change 3045101 on 2016/07/11 by Fred.Kimberley Changed PostSerialize logic to always use the attribute data if it is valid. Updated the details customization to set the owner and name properties when the attribute is changed. Change 3045035 on 2016/07/11 by John.Abercrombie UpdateMoveFocus will only clear the focus if the path following component is idle - Keeps the AI rotated in the correct direction when movements get paused Change 3044883 on 2016/07/11 by Mark.Satterthwaite Avoid FORT-26879 - when rendering into the viewport back-buffer the scene-viewport sets a null render-target array which MetalRHI wasn't handing, so add the necessary branches to clear the render-target array in MetalStateCache. #jira FORT-26879 Change 3044819 on 2016/07/11 by Carlos.Cuello Setting LOCKED_REPLAY_VERSION to 0 so that replays have valid changelists associated with them in ReplayMGR Change 3044683 on 2016/07/11 by Bob.Tellez #UE4 ActorPosition is now set to your AttachmentRootActor's position instead of your owning actor's position. Change 3044581 on 2016/07/11 by Nick.Cooper #UE4 - Added bSuppressStackingCues to UGameplayEffect, to allow the option avoid sending a GameplayCue RPC for each instance of a stacking UGameplayEffect #jira FORT-23140 Change 3043726 on 2016/07/08 by Billy.Bramer - Add ability for custom UGameplayModMagnitudeCalculations to specify that they have gameplay-code dependencies external to the ability system that can invalidate them aside from just routine attribute capture - UGameplayModMagnitudeCalculations can specify an external multicast delegate that the ability system component can bind to for notification of when the mod calculations are dirty and need to be refreshed - Add advanced support for UGameplayModMagnitudeCalculations opting into allowing this feature to work on client machines as well; Advanced feature to really only be used by games utilizing network dormancy on attributes that they don't mind the client attempting to calculate (ones that won't have gameplay impact); Client-based feature cannot work in tandem with attribute capture - Rename FGameplayEffectModifierMagnitude::AttemptRecalculateMagnitudeFromDependentChange to AttemptRecalculateMagnitudeFromDependentAggregatorChange to alleviate possible confusion from the newly added support for external dependencies - Rename FActiveGameplayEffectsContainer::PreDestroy to Uninitialize and move its call site from the destructor of the owning ASC to UnitializeComponents, where it can have enough information to be useful - Misc ability system cleanup (fix typos, etc.) Change 3043152 on 2016/07/08 by Daniel.Broder Re-enabled EQS details table on screen by default. (This matches the actual description of the variable, which says that enabled is the default. Also, we really need this as the default since those details are critical for debugging.) #UE4 #NoReleaseNotes Change 3041765 on 2016/07/07 by John.Abercrombie Fixed basing whether the AI should turn or not by comparing the current desired rotation vs the last update's desired rotation - The AI should be turning based on whether or not the current desired rotation is different from the rotation of the Pawn Change 3041664 on 2016/07/07 by Bob.Tellez #UE4 Removing UpdateActorPosition. This was not needed in a vast majority of use cases and was causing a crash due to multithreading issues during end of frame updates. #JIRA FORT-25983 Change 3040645 on 2016/07/06 by Bob.Tellez #UE4 Added a cvar to disable OpenGL support on Mac. If a mac that does not support Metal launches while this cvar is set to 1 then they will get a dialog box describing that they do not support metal and the process will close. Change 3039969 on 2016/07/06 by Billy.Bramer - Fix for non-snapshotted, attribute-based modifiers potentially not replicating correctly - When dependency magnitude results in a magnitude recalculation, mark the active effect dirty and wake the owner from dormancy, as the client is incapable of recalculating the value properly Change 3036256 on 2016/07/01 by Bob.Tellez #UE4 RequestExit(true) on Mac now exits without triggering exception handling, just like on Windows. Change 3036173 on 2016/07/01 by Ben.Salem Get FTests running sequentially. And, actually, running at all in non-editor. Known issues: Filename lookup needs to be changed to use asset registry instead of packages in directory. Will be worked on next. Change 3035551 on 2016/07/01 by John.Abercrombie Reworked use of the Montage pointer of the AnimNotifyEvent in UAnimInstance::OnMontageInstanceStopped based on Lina's feedback - CL 3034853 contained the original change Change 3035152 on 2016/06/30 by Daniel.Broder Added new API function for DrawDebugSolidBox, which takes an FBox instead of a Center and Extent. It also allows specifying a transform as well (but defaults to using the identity transform for convenience). #ReleaseNoteAbove The new version of DrawDebugSolidBox is more convenient and more efficient if you already have an FBox! No need to calculate the Center and Extent just to use them to recalculate the Box. Made the previous two versions of DrawDebugSolidBox call to the new one that takes an FBox and FTransform. This change keeps the implementation details more manageable for any future changes. Also, fixed typos in parameter names for DrawDebugSolidBox and DrawDebugBox versions where Extent was erroneously named "Box". NOTE: In the future, we should probably make the same changes to the DrawDebugBox API that were made for DrawDebugSolidBox, as well as similar changes for other shapes (such as DrawDebugSphere, Cylinder, etc.), which currently don't have versions that take the shape class directly/ #UE4 #ReleaseNoteAtTop Change 3034918 on 2016/06/30 by William.Ewen Updating Null RHI's max texture dimensions and max texture mip count to avoid a warning and match up with d3d11 and metal. Change 3034853 on 2016/06/30 by John.Abercrombie When a Montage is stopped we send out any anim notify state end notifications related to the Montage, and remove it from the list Change 3033507 on 2016/06/29 by Ben.Zeigler #jira UE-32651 Fix crash I had while auto saving a map with a reflection capture component. This has happened fairly often to licensees as well so we may want to merge it to a release branch Change 3033413 on 2016/06/29 by Daniel.Wright Added DistanceFieldBias to StaticMesh BuildSettings for mesh distance fields * Useful for reducing self shadowing on meshes that have ambient animation Change 3033343 on 2016/06/29 by Billy.Bramer - Fix typo in ability system: FMinimapReplicationTagCountMap should be FMinimalReplicationTagCountMap (it has nothing to do with minimaps!) Change 3032888 on 2016/06/29 by Billy.Bramer - Add ability to base a gameplay effect modifier's magnitude off of the magnitude of an attribute evaluated only up to a certain channel when using attribute-based modifiers Change 3031800 on 2016/06/28 by Jonathan.Lindquist new exr texture Change 3030807 on 2016/06/28 by Lukasz.Furman added more debug logs for rare navmesh raycast crash #jira FORT-22373 Change 3030624 on 2016/06/28 by Lukasz.Furman switching navgraph to use FMetaNavMeshPath #fortnite Change 3030002 on 2016/06/27 by Ben.Zeigler Fix crash I got in SGraphPin::OnDragEnter when the pin did not have an outer. GetOuter now calls the Unchecked version I'm not sure why it was allowed to be null here, but it was clearly supported on purpose before and was crashing with the pin changes. Change 3029720 on 2016/06/27 by Ben.Zeigler Fix TextFilterTests to pass the parameters in the correct order for > operators, and add tests that actually verify this. The real use cases were correct, only the test was broken Change 3029574 on 2016/06/27 by Bob.Tellez #UE4 Fixed a crash caused by attempting to render shadows while r.ShadowQuality was 0. Change 3027275 on 2016/06/24 by Billy.Bramer - First pass of adding evaluation channel support to non-instant gameplay effects - Evaluation channels allow for game-specific control over the order of modifier evaluation - Channels evaluate in order, with the output of one channel acting as the base value/input into the next channel in sequential order - Example: Sample Attribute: Base Value 100. Multiplicative Mod 1.1 in channel 0 and multplicative mod 1.1 in channel 1 will evaluate as ((100 * 1.1) * 1.1) instead of (100 * 1.2) - By default, evaluation channels are disabled (everything evaluates at channel 0), but a game can opt into using channels via INI - Game must specify bAllowGameplayModEvaluationChannels=true, as well as provide name aliases for the channels that the game is allowed to use via GameplayModEvaluationChannelAliases array - Game can also specify the DefaultGameplayModEvaluationChannel via INI; Gameplay effect modifiers will default into that channel - Evaluation channels show up per modifier (and per scoped modifier) in a new property on gameplay effects - Misc. clean-up and refactors within the ability system as a result of changes to support evaluation channels; Begin process of trying to remove heavy reliance on friend classes Change 3022931 on 2016/06/22 by Nick.Cooper #UE4 - Prevent camera anims without an FOV track from making any modifications to the camera FOV Change 3021845 on 2016/06/21 by Carlos.Cuello Fix for crash at startup on Mac, was asserting on !bPerformingOperation but there are codepaths where that wasn't being set to false at the end of an operation in failure cases. Fixed up those codepaths and changed the check() to an ensure() so we can still track where these cases happen but won't affect our shipping build. #jira Fort-25978 Change 3021800 on 2016/06/21 by Lukasz.Furman adding function to query if navmesh was initialized in given radius #jira FORT-24487 Change 3021777 on 2016/06/21 by Martin.Mittring UE-31921 The sub surface profile shader seems to be incorrectly ignoring post processes content that used SkyLight OcclusionTint feature will look different and might need a retweak. a brighter (~ 3-4 times) and less vibrant color results in a similar look #code_review:Jonathan.Lindquist [CL 3123852 by Bob Tellez in Main branch]
2016-09-13 18:15:38 -04:00
// Update aggregated events - NOTE: This may update the metadata and set bRequestStatMetadataUpdate = true
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
UpdateAggregatedEventGraphData( DataProviderFrameIndex );
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
// Update mini-view.
OnAddThreadTime.ExecuteIfBound( DataProviderFrameIndex, ThreadMS, StatMetaData );
FrameToProfilerDataMapping.Remove( TargetFrame );
Copying //UE4/Fortnite-Staging to //UE4/Dev-Main (Source: //Fortnite/Main @ 3115282) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 3114846 on 2016/09/06 by Bob.Tellez #UE4 The cooking process now respects the per-platform chunking manifest configuration in the game ini. If you specify -manifests it forces all platforms to generate a manifest. Change 3114805 on 2016/09/06 by Bob.Tellez #UE4 Attribute sets now work with their owning actor directly instead of asking the associated ability system component for the owning actor when updating the vis logger. #JIRA FORT-29511 Change 3112750 on 2016/09/02 by Bob.Tellez #UE4 bGenerateChunks from platform-specific Game.ini is now respected in pak generation code. Change 3108977 on 2016/08/31 by Jeff.Campeau Virtual keyboard support for Xbox One Text set by virtual keyboards is now submitted on the main thread through an internal tick Change 3108956 on 2016/08/31 by Chris.Gagnon Added "ClientOnly" module type to the build tools. Fixed "ServerOnly" which seems to have rotted, I assume it wasn't in use as it didn't work. Cleaned up some duplicated code which attributted to the rot most likely Change 3108879 on 2016/08/31 by Jeff.Campeau Eliminate binary renaming (allows side by side configs) Handle multiple binaries Temporary return of fixed extension SDK DLLs (required for multiplayer until they can be dynamically configured) Change 3108876 on 2016/08/31 by Jeff.Campeau Fix a manifest generation bug that was eating a character on conjoined values. Change 3108511 on 2016/08/31 by Billy.Bramer - Submit change from JoshM at my desk to make cloud mcp requests use shared pointers for net ids, enabling the use of AsShared on cloud-related callbacks which pass net ids as parameters - Note that this change does not have any validity checking as of yet Change 3108199 on 2016/08/31 by Ben.Woodhouse Disable r.lightshaftrendertoseparatetranslucency to 0 by default, but enable in fortnite via defaultEngine.ini. Change 3107825 on 2016/08/31 by Ben.Woodhouse Lightshaft rendering - add support for rendering the lightshafts to separate translucency (via the r.LightShaftRenderToSeparateTranslucency). This ensures postprocess materials with BL_BeforeTranslucency are rendered before lightshafts are applied. This fixes issues with the skin postprocess appearing too bright where it overlaps with lightshafts #jira UE-35359 Change 3107197 on 2016/08/30 by Chris.Gagnon Added ClientOnly option for Modules: ... "Modules" : [ { "Name" : "PluginName", "Type" : "ClientOnly", "LoadingPhase" : "Default" } ] ... (example taken from a plugin definition) Change 3104551 on 2016/08/29 by Lukasz.Furman potential fix for crash in ability cancelling #jira FORT-29200 Change 3104469 on 2016/08/29 by Lukasz.Furman added iteration limit to navmesh raycast loop to protect against invalid navmesh links creating an infinite loops #jira FORT-29198 Change 3103529 on 2016/08/26 by Jeff.Campeau Xbox One keyboard shift is sometimes unresponsive Change 3103523 on 2016/08/26 by Jeff.Campeau Aug XDK era launch bug fixed Change 3103183 on 2016/08/26 by Jeff.Campeau August XDK support Change 3102360 on 2016/08/26 by James.Hopkin Removed another load of float casts - these ones weren't causing problems, but are no longer necessary. Change 3099375 on 2016/08/24 by Lukasz.Furman added sanity check to UAnimInstance::Montage_Play #jira FORT-28140 Change 3097832 on 2016/08/23 by Chad.Garyet moving set_latest_build out of notifications section, was put there accidentally Change 3097139 on 2016/08/22 by Aaron.McLeran FORT-28502 Hard crash occurs on Win10 when locking computer and then unplugging audio device - Fix is modification of CL 3062338. Moving the checking of state change to head of audio update, adding new thread safe bool to immediately halt creatiing new voices if audio device changed. - Current theory is the xaudio2 in win10 doesn't properly handle audio device remove so this is a workaround till we update to XAudio2 2.8 -#rb Bob.Tellez #tests run game, lock computer, then disable or unplug audio device used by game, audio should stop gracefully without crashing Change 3096552 on 2016/08/22 by Ben.Marsh Fix killing adb.exe instead of notepad.exe. Change 3096473 on 2016/08/22 by Ben.Marsh Kill any ADB processes after a UAT command completes. The Android target platform in the editor spawns instances of ADB, and that spawns a background process to handle this and future requests. It can keep open handles to stdout, preventing the EC postprocessor from terminating. Change 3096459 on 2016/08/22 by Ben.Marsh Remove taskkill call for now. Change 3096450 on 2016/08/22 by Ben.Marsh Use system function instead of backticks to prevent errors killing job. Change 3096449 on 2016/08/22 by Ben.Marsh Kill ADB instances after running UAT; attempt to fix handle to stdout being kept open at the end of builds. Change 3096272 on 2016/08/22 by Chad.Garyet trying to remove postpfilter to see if that might be the stdout/err issue Change 3095369 on 2016/08/19 by Ben.Zeigler #Jira FORT-28683 Fix it so when using SimulateInEditor with Online PIE enabled, it disables trying to use the online service. Before it would half create the online instances, leading to issues in gameplay code when using simulate This will need updating when merging to Main to deal with the module changes Change 3095002 on 2016/08/19 by James.Hopkin Fixed another case of integers being cast to floats before being written to JSON. #jira FORT-28694 Change 3094834 on 2016/08/19 by Chad.Garyet trying a close of stdout and stderr to see if that remedies the ai test issue Change 3094719 on 2016/08/19 by John.Abercrombie Force a net update on the Avatar Actor whenever we start or stop a new Montage Change 3094487 on 2016/08/19 by James.Hopkin JSON writing of session settings no longer casts ints to floats (was causing INT_MIN to be written incorrectly). Change 3092389 on 2016/08/17 by Chad.Garyet more caveman debugging, skipping email notification if node is the fortnite ai test node. Change 3090898 on 2016/08/16 by Aaron.McLeran FORT-25911 Live OT7 crash in FVorbisAudioInfo::ReadCompressedData Implementing CL 3080958 in FN Change 3090761 on 2016/08/16 by Chris.Gagnon Added initial pass of safe zone suport to the front end. Change 3090734 on 2016/08/16 by John.Abercrombie Fix AbilitySystemComponent not ticking while playing a montage, and ticking when we're not playing a montage Here's the issue in the version of the code prior to this checkin: - UpdateShouldTick calls GetShouldTick, which checks the value of RepAnimMontageInfo.IsStopped - When we call UpdateShouldTick within AnimMontage_UpdateReplicatedData, we haven't set RepAnimMontageInfo.IsStopped yet to the correct value - So when we aren't playing any montages but are starting a new one, we were saying we shouldn't tick - It also means if we were playing a montage, and then stop, we'll start ticking - Ticking calls AnimMontage_UpdateReplicatedData, which should be called while we're playing Change 3090405 on 2016/08/16 by Chad.Garyet checking in caveman debugging for fortnite ai test node Change 3089743 on 2016/08/15 by Ben.Zeigler #jira FORT-28235 When a UWidget is added/removed from a UPanelWidget, invalidate layout. This fixes issues where removing a widget leaves it still visible on screen. There may be a better slate-level solution to this issue Change 3088178 on 2016/08/12 by Saul.Abreu Fixed bug in wrap box layout logic that would cause the inner slot vertical padding to only be added *after* the second row. Change 3087372 on 2016/08/12 by James.Hopkin Added a float overload from TJsonWriter::WriteValue - ever since I made doubles ultra precise to allow large numbers to be read properly, floats have been written with garbage on the end. Also removed 100 lines worth of code duplication while I was there. Automation tests still pass. Change 3084836 on 2016/08/10 by Lina.Halper Fix crash with retargeting additive anim montage Change 3083188 on 2016/08/09 by Bob.Tellez #UE4 UEnvQueryItemType_Point expects a FNavLocation instead of an FVector. Since passing an FVector in AddItemData() causes an assertion failure and the template specialization for FNavLocation has linkage problems, it is now required to pass in a FNavLocation instead of an FVector explicitly. Change 3082835 on 2016/08/09 by Bob.Tellez #UE4 Fix an issue where changing an array property in the defaults will leave the custom property chain stale until it is compiled, causing a crash in some circumstances. Change 3082621 on 2016/08/09 by Lukasz.Furman fixed accessing empty navigation data in crowd's path processing #jira FORT-27847 Change 3081749 on 2016/08/08 by Saul.Abreu #jira UE-34104 Implemented a customizable snapshot delay in the widget reflector - particularly handy for getting snapshots of tooltips. Change 3081596 on 2016/08/08 by John.Abercrombie Added a tick prerequisite for the mesh's primary actor tick of the FortGameState when a movement comp registers to be ticked by the game state Backed out change to CharacterMovementComponent to check to see if the pose had been ticked this frame. Tested root motion in PIE ded, PIE non-ded, and client/server configuration and it all looked good. (Basically it looks like there's some tick ordering issue with root motion in the engine, and I don't have the time right now to investigate it. This works.) #jira FORT-28139 - Hero's animation hitches when performing any action besides walking and jumping Change 3081536 on 2016/08/08 by Daniel.Broder Fixed bug in FGameplayTagContainer::AppendTags() where it was not reserving the correct amount of space for all of the tags it is about to add. #UE4 #NoReleaseNotes Change 3080679 on 2016/08/08 by Simon.Tovey Increased threshold to ignore stall warning on partilce async work. Increased precision of error message. May still fire and still needs looking into properly. If it does fire still I'll make it a higher priority. Change 3080652 on 2016/08/08 by Chad.Garyet Merging token scripts from ue4 main to fortnite changed fornite main json scheduled builds to all use skiptargetswithouttickets Change 3079357 on 2016/08/05 by John.Abercrombie Character movement components can now be throttled - This can be enabled/disabled by using the FortniteChar.ServerTickMovementAtNetUpdateRate console variable - game should be restarted after toggling it - Character movement components are throttled based on their current NetUpdateRate All character movement components are updated by the Game State - This can be enabled/disabled by using the FortniteChar.CentralCharMovementTick console variable - game should be restarted after toggling it Change 3078666 on 2016/08/05 by Simon.Tovey Disabling some log spam for particles. Change 3072992 on 2016/08/01 by Jonathan.Lindquist Fixing a bug related to weld object seams Change 3070991 on 2016/07/29 by Fred.Kimberley Allow aggregators to perform calculations while ignoring multiple GEs. Change 3070518 on 2016/07/29 by Bob.Tellez #UE4 Deprecated pin removal logic is now exclusively in UEdGraphNode::PostLoad. DeprecatedPinWatches fixup is now done in K2Node::PostLoad. Change 3069605 on 2016/07/28 by Bob.Tellez #UE4 SScrollBox now works with invalidation panels. Change 3069600 on 2016/07/28 by Bob.Tellez #UE4 SMenuAnchor now works with invalidation panels. Change 3069583 on 2016/07/28 by Bob.Tellez #UE4 Added some code to warn and recover from some invalid accounting of render instances in HierarchicalInstancedStaticMesh, if it exists in the future. Change 3068935 on 2016/07/28 by Bob.Tellez [AUTOMERGE] #UE4 Added a CVar to disable stencils on metal since they are very expensive right now. This is believed to be much better in OSX 10.12. #JIRA FORT-27836 -------- Integrated using branch //Fortnite/Main-To-//Fortnite/Release-Next (reversed) of change#3068932 by Bob.Tellez on 2016/07/28 15:50:40. Change 3068422 on 2016/07/28 by John.Pollard Fix FORT-27840 - Assertion failed: WriterState.Changed.Num() == 0 occurs when a Pitcher Husk hits the Player #tests Live game + replays Change 3067537 on 2016/07/27 by Bob.Tellez [AUTOMERGE] #UE4 Nullifying HierarchicalInstancedStaticMesh instances that were neither in the PerInstanceSMData list nor in the RemovedInstances list. #JIRA FORT-26696 -------- Integrated using branch //Fortnite/Main-To-//Fortnite/Release-Next (reversed) of change#3065681 by Bob.Tellez on 2016/07/26 21:02:55. Change 3065138 on 2016/07/26 by Josh.Markiewicz #UE4 - fixed rare case where CreateSession would crash (duplicate of Dev-Networking fix) - DestroySession now always adds a task to the async queue and never tries to complete its work within the same call - *BUG REPRO* - if CreateSession was called leaving a session in the Creating state followed by a call to DestroySession before session left Creating state this could happen - DestroySession would remove the named session while the previous CreateSession was in flight - A new CreateSession could be called afterward because the previous named session was removed - the first CreateSession would finish and give the session a valid SessionInfo - the second CreateSession would finish and assert that the SessionInfo should be invalid #tests contrived Create,Destroy,Create in same frame and saw crash, fixed code, crashes no more Change 3064932 on 2016/07/26 by Tim.Tillotson Fix for editor crash when loading unreal stats in the session frontend. Was a results of modifying EventMetadata while using a copy of the data. #JIRA UE-33426 Change 3064743 on 2016/07/26 by Mark.Satterthwaite Proper fix for FORT-27685 - on Metal it is invalid to fail to set uniform parameters on a shader - if you don't set the parameter the buffer binding may be nil or too small for the data accessed in the shader and the GPU will then crash. #jira FORT-27685 Change 3063870 on 2016/07/25 by Lukasz.Furman fixed navlink area class assignment, again custom link definitions were exporting from CDO without initializing data first #jira FORT-27713 Change 3063747 on 2016/07/25 by Bob.Tellez #Fortnite Fixed XB1 compile error due to use of DeviceDetails in XAudio2. Also removed a redundant #if XAUDIO_SUPPORTS_DEVICE_DETAILS #JIRA Change 3063500 on 2016/07/25 by Bob.Tellez #UE4 Fixing static analysis warning about not checking the return value of CoInitialize. Also initializing DeviceEnumerator to nullptr in case CoCreateInstance fails. Change 3063317 on 2016/07/25 by Lukasz.Furman fixed navlink deprecation in engine module, temporarily changed deprecation to private access since macro doesn't work with auto generated constructors #fortnite Change 3063224 on 2016/07/25 by Bob.Tellez #UE4 Unshelved change from Nick.Darnell. This is the less-invasive version of 3062014. Avoid adding widgets to the hittest grid more than once. Change 3063188 on 2016/07/25 by Lukasz.Furman removed all raw class pointers from link & area nav modifiers and replaced them with weak object pointers #jira FORT-27186 Change 3062338 on 2016/07/22 by Aaron.McLeran FORT-26470 Adding ability to stop sounds and switch audio engine into a no-sound mode when audio device is disabled/unplugged. #tests run game, disable or unplug audio device used by game, audio should stop gracefully without crashing Change 3061806 on 2016/07/22 by Ben.Zeigler #jira FORT-27519 Change error from moving a non registered component to an ensure instead of a fatal crash, this error is very old and I'm not sure what would cause it, but it went off without giving us a stack Change 3061790 on 2016/07/22 by Ben.Zeigler #jira FORT-26136 Stop a shipping game without blueprint guard enabled from printing useless stacks without an accompanying error message. This was slowing down shipping builds with no benefit Related to changes made on Orion in CL #2878992 Change 3060590 on 2016/07/21 by Mark.Satterthwaite Fix FORT-27340: Mac Metal cannot natively support PF_G8 + sRGB as not all Mac GPUs have single-channel sRGB formats (according to Apple) so we must manually pack & unpack to RGBA8_sRGB - the code to do this was missing from UpdateTexture2D. Change 3060542 on 2016/07/21 by Bob.Tellez #UE4 Made SetIsEnabled and SetVisibility virtual. Change 3058876 on 2016/07/20 by Aaron.McLeran FORT-25593 Mac crash when idling in zone with screen locked Adding logging when failing to update AuGraph and not asserting. Change 3058653 on 2016/07/20 by Bob.Tellez #UE4 Now actually removing deprecated pins from non-blueprint graphs. Also MarkPendingKill now happens in UEdGraphNode's BeginDestroy instead of its destructor to ensure supporting code can safely access references to other UObjects. Change 3058568 on 2016/07/20 by Bob.Tellez #UE4 Added an optional flag to IAssetRegistry::GetAssetByObjectPath to ignore in-memory assets for maxiumum performance. Change 3058203 on 2016/07/20 by Bob.Tellez #UE4 Clearing pin links for fixed up BT nodes so they are not asymmetrical by the time the node gets destroyed, causing an ensure to fail. Also removing the replaced nodes so they are no longer saved in the package. Change 3056767 on 2016/07/19 by Bob.Tellez #UE4 Speculative DetachLinker crash fix. #JIRA FORT-27335 Change 3056665 on 2016/07/19 by John.Abercrombie Fixed UPathFollowingComponent::HasReached not using the Goal's Radius when bUseNavAgentGoalLocation is false - When bUseNavAgentGoalLocation is true, we want to avoid using the Goal's location on the Nav Mesh, but the acceptability of a radius should be based on the Goal's radius Change 3054368 on 2016/07/18 by Lina.Halper - moved removing notifies to end of montage event - that way between blending out to terminate, it still can trigger notifies. #code review: Martin.Wilson, John.Abercrombie Change 3054109 on 2016/07/18 by Bob.Tellez #UE4 Fixed a bug where IAssetRegistry::GetAllAssets would not return data about live objects when passing bIncludeOnlyOnDiskAssets = false. Change 3053831 on 2016/07/18 by Lina.Halper #Anim montage recursive issue: Make sure to check valid before additive #code review: Bob.Tellez Change 3052641 on 2016/07/15 by Bob.Tellez #UE4 Fix a crash in OpusAudioInfo when InSrcBufferData is null. Change 3052601 on 2016/07/15 by Daniel.Broder EnvQueryInstanceBlueprintWrapper is now blueprintable, so you can make blueprints that allow more complex 'wrapper' behavior when using the blueprint node RunEQSQuery (on the EnvQueryManager). #ReleaseNoteAbove^^ Also, made EEnvQueryStatus a blueprint type, which makes it much easier to work with in blueprints. #UE4 #ReleaseNote! Change 3052201 on 2016/07/15 by Rob.Cannaday Fix for broken party state when timeout on receiving leave request response Execute delegate after marking the party in a disconnected state #jira FORT-25362 Change 3050944 on 2016/07/14 by Bob.Tellez #UE4 Fix an ensure that was incorrectly triggering when the number of hitches in a session is 0 Change 3050352 on 2016/07/14 by Olaf.Piesche #jira UE-32058 Making sure owned pointer to CurrentMaterial is set to RenderMaterial if we choose default material because of missing flags for particle systems. Change 3049049 on 2016/07/13 by Bob.Tellez #UE4 Fix an ensure and a crash in ParticleTrail2EmitterInstance for Ribbon particles. #JIRA FORT-27030 Change 3048186 on 2016/07/13 by John.Abercrombie Selecting Geometry trace mode will no longer project onto the nav mesh first in ProjectedPoints EQS generators Change 3046531 on 2016/07/12 by Bob.Tellez #UE4 Added more information to an ensure about BeginPlay being called on an actor that has already begun play. #JIRA FORT-26683 Change 3046134 on 2016/07/12 by Ian.Fox #UE4, #OnlineSubSystem - Hotfix in the ExpirationDate field early so we can update the OGF plugin Change 3045544 on 2016/07/11 by Bob.Tellez #UE4 Made Attribute fixup code only execute when loading the data from disk as it was intended. Change 3045101 on 2016/07/11 by Fred.Kimberley Changed PostSerialize logic to always use the attribute data if it is valid. Updated the details customization to set the owner and name properties when the attribute is changed. Change 3045035 on 2016/07/11 by John.Abercrombie UpdateMoveFocus will only clear the focus if the path following component is idle - Keeps the AI rotated in the correct direction when movements get paused Change 3044883 on 2016/07/11 by Mark.Satterthwaite Avoid FORT-26879 - when rendering into the viewport back-buffer the scene-viewport sets a null render-target array which MetalRHI wasn't handing, so add the necessary branches to clear the render-target array in MetalStateCache. #jira FORT-26879 Change 3044819 on 2016/07/11 by Carlos.Cuello Setting LOCKED_REPLAY_VERSION to 0 so that replays have valid changelists associated with them in ReplayMGR Change 3044683 on 2016/07/11 by Bob.Tellez #UE4 ActorPosition is now set to your AttachmentRootActor's position instead of your owning actor's position. Change 3044581 on 2016/07/11 by Nick.Cooper #UE4 - Added bSuppressStackingCues to UGameplayEffect, to allow the option avoid sending a GameplayCue RPC for each instance of a stacking UGameplayEffect #jira FORT-23140 Change 3043726 on 2016/07/08 by Billy.Bramer - Add ability for custom UGameplayModMagnitudeCalculations to specify that they have gameplay-code dependencies external to the ability system that can invalidate them aside from just routine attribute capture - UGameplayModMagnitudeCalculations can specify an external multicast delegate that the ability system component can bind to for notification of when the mod calculations are dirty and need to be refreshed - Add advanced support for UGameplayModMagnitudeCalculations opting into allowing this feature to work on client machines as well; Advanced feature to really only be used by games utilizing network dormancy on attributes that they don't mind the client attempting to calculate (ones that won't have gameplay impact); Client-based feature cannot work in tandem with attribute capture - Rename FGameplayEffectModifierMagnitude::AttemptRecalculateMagnitudeFromDependentChange to AttemptRecalculateMagnitudeFromDependentAggregatorChange to alleviate possible confusion from the newly added support for external dependencies - Rename FActiveGameplayEffectsContainer::PreDestroy to Uninitialize and move its call site from the destructor of the owning ASC to UnitializeComponents, where it can have enough information to be useful - Misc ability system cleanup (fix typos, etc.) Change 3043152 on 2016/07/08 by Daniel.Broder Re-enabled EQS details table on screen by default. (This matches the actual description of the variable, which says that enabled is the default. Also, we really need this as the default since those details are critical for debugging.) #UE4 #NoReleaseNotes Change 3041765 on 2016/07/07 by John.Abercrombie Fixed basing whether the AI should turn or not by comparing the current desired rotation vs the last update's desired rotation - The AI should be turning based on whether or not the current desired rotation is different from the rotation of the Pawn Change 3041664 on 2016/07/07 by Bob.Tellez #UE4 Removing UpdateActorPosition. This was not needed in a vast majority of use cases and was causing a crash due to multithreading issues during end of frame updates. #JIRA FORT-25983 Change 3040645 on 2016/07/06 by Bob.Tellez #UE4 Added a cvar to disable OpenGL support on Mac. If a mac that does not support Metal launches while this cvar is set to 1 then they will get a dialog box describing that they do not support metal and the process will close. Change 3039969 on 2016/07/06 by Billy.Bramer - Fix for non-snapshotted, attribute-based modifiers potentially not replicating correctly - When dependency magnitude results in a magnitude recalculation, mark the active effect dirty and wake the owner from dormancy, as the client is incapable of recalculating the value properly Change 3036256 on 2016/07/01 by Bob.Tellez #UE4 RequestExit(true) on Mac now exits without triggering exception handling, just like on Windows. Change 3036173 on 2016/07/01 by Ben.Salem Get FTests running sequentially. And, actually, running at all in non-editor. Known issues: Filename lookup needs to be changed to use asset registry instead of packages in directory. Will be worked on next. Change 3035551 on 2016/07/01 by John.Abercrombie Reworked use of the Montage pointer of the AnimNotifyEvent in UAnimInstance::OnMontageInstanceStopped based on Lina's feedback - CL 3034853 contained the original change Change 3035152 on 2016/06/30 by Daniel.Broder Added new API function for DrawDebugSolidBox, which takes an FBox instead of a Center and Extent. It also allows specifying a transform as well (but defaults to using the identity transform for convenience). #ReleaseNoteAbove The new version of DrawDebugSolidBox is more convenient and more efficient if you already have an FBox! No need to calculate the Center and Extent just to use them to recalculate the Box. Made the previous two versions of DrawDebugSolidBox call to the new one that takes an FBox and FTransform. This change keeps the implementation details more manageable for any future changes. Also, fixed typos in parameter names for DrawDebugSolidBox and DrawDebugBox versions where Extent was erroneously named "Box". NOTE: In the future, we should probably make the same changes to the DrawDebugBox API that were made for DrawDebugSolidBox, as well as similar changes for other shapes (such as DrawDebugSphere, Cylinder, etc.), which currently don't have versions that take the shape class directly/ #UE4 #ReleaseNoteAtTop Change 3034918 on 2016/06/30 by William.Ewen Updating Null RHI's max texture dimensions and max texture mip count to avoid a warning and match up with d3d11 and metal. Change 3034853 on 2016/06/30 by John.Abercrombie When a Montage is stopped we send out any anim notify state end notifications related to the Montage, and remove it from the list Change 3033507 on 2016/06/29 by Ben.Zeigler #jira UE-32651 Fix crash I had while auto saving a map with a reflection capture component. This has happened fairly often to licensees as well so we may want to merge it to a release branch Change 3033413 on 2016/06/29 by Daniel.Wright Added DistanceFieldBias to StaticMesh BuildSettings for mesh distance fields * Useful for reducing self shadowing on meshes that have ambient animation Change 3033343 on 2016/06/29 by Billy.Bramer - Fix typo in ability system: FMinimapReplicationTagCountMap should be FMinimalReplicationTagCountMap (it has nothing to do with minimaps!) Change 3032888 on 2016/06/29 by Billy.Bramer - Add ability to base a gameplay effect modifier's magnitude off of the magnitude of an attribute evaluated only up to a certain channel when using attribute-based modifiers Change 3031800 on 2016/06/28 by Jonathan.Lindquist new exr texture Change 3030807 on 2016/06/28 by Lukasz.Furman added more debug logs for rare navmesh raycast crash #jira FORT-22373 Change 3030624 on 2016/06/28 by Lukasz.Furman switching navgraph to use FMetaNavMeshPath #fortnite Change 3030002 on 2016/06/27 by Ben.Zeigler Fix crash I got in SGraphPin::OnDragEnter when the pin did not have an outer. GetOuter now calls the Unchecked version I'm not sure why it was allowed to be null here, but it was clearly supported on purpose before and was crashing with the pin changes. Change 3029720 on 2016/06/27 by Ben.Zeigler Fix TextFilterTests to pass the parameters in the correct order for > operators, and add tests that actually verify this. The real use cases were correct, only the test was broken Change 3029574 on 2016/06/27 by Bob.Tellez #UE4 Fixed a crash caused by attempting to render shadows while r.ShadowQuality was 0. Change 3027275 on 2016/06/24 by Billy.Bramer - First pass of adding evaluation channel support to non-instant gameplay effects - Evaluation channels allow for game-specific control over the order of modifier evaluation - Channels evaluate in order, with the output of one channel acting as the base value/input into the next channel in sequential order - Example: Sample Attribute: Base Value 100. Multiplicative Mod 1.1 in channel 0 and multplicative mod 1.1 in channel 1 will evaluate as ((100 * 1.1) * 1.1) instead of (100 * 1.2) - By default, evaluation channels are disabled (everything evaluates at channel 0), but a game can opt into using channels via INI - Game must specify bAllowGameplayModEvaluationChannels=true, as well as provide name aliases for the channels that the game is allowed to use via GameplayModEvaluationChannelAliases array - Game can also specify the DefaultGameplayModEvaluationChannel via INI; Gameplay effect modifiers will default into that channel - Evaluation channels show up per modifier (and per scoped modifier) in a new property on gameplay effects - Misc. clean-up and refactors within the ability system as a result of changes to support evaluation channels; Begin process of trying to remove heavy reliance on friend classes Change 3022931 on 2016/06/22 by Nick.Cooper #UE4 - Prevent camera anims without an FOV track from making any modifications to the camera FOV Change 3021845 on 2016/06/21 by Carlos.Cuello Fix for crash at startup on Mac, was asserting on !bPerformingOperation but there are codepaths where that wasn't being set to false at the end of an operation in failure cases. Fixed up those codepaths and changed the check() to an ensure() so we can still track where these cases happen but won't affect our shipping build. #jira Fort-25978 Change 3021800 on 2016/06/21 by Lukasz.Furman adding function to query if navmesh was initialized in given radius #jira FORT-24487 Change 3021777 on 2016/06/21 by Martin.Mittring UE-31921 The sub surface profile shader seems to be incorrectly ignoring post processes content that used SkyLight OcclusionTint feature will look different and might need a retweak. a brighter (~ 3-4 times) and less vibrant color results in a similar look #code_review:Jonathan.Lindquist [CL 3123852 by Bob Tellez in Main branch]
2016-09-13 18:15:38 -04:00
}
if( SessionType == EProfilerSessionTypes::StatsFile )
{
if( FrameToProcess.Num() == 0 && bHasAllProfilerData )
{
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2783106 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Introduced GC UObject clusters. GC clusters provide means to create disregard for GC subsets at load time (e.g. Materials with material expressions and their textures). - Saves about 25ms in reachability analysis (58ms -> 33ms) - UObject classes/instances can now be marked as cluster root objects with CanBeClusterRoot() function override. - Cluster creation is automatic. Clusters don't require any manual handling for GC to collect them when nothing is referencing them. - Moved token stream processing to a new class FFastReferenceFinder to make it more generic and re-usable by other code - Removed REFERENCE_INFO macro from GC code and replaced it with a local variable (saves about ~1.9ms: 33.2ms -> 31.3ms) Change 2773094 on 2015/11/19 by Steve.Robb@Dev-Core Multicast script delegate check for existing bindings replaced with ensure. Multicast native delegate no longer checks for existing bindings. Removal of old delegate code. Some FORCEINLINEing to improve debugging experience of stepping into delegate code. Change 2782180 on 2015/11/27 by Graeme.Thornton@GThornton_DesktopMaster Make scoped seconds timer class available outside of stats build. Normal usage macros still remain guarded Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE which only times during the outmost instance of a recursive function Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE_BASE and SCOPE_SECONDS_COUNTER_BASE which are defined in all build types, for easy temporary timing in Test/Shipping builds. Added a boolean parameter to the timer class which can be used to disable it without having to mess around with scoping the calling code Change 2782635 on 2015/11/30 by Graeme.Thornton@GThornton_DesktopMaster Added GetTimeStampPair() to the filemanager and platformfile interfaces. Requests timestamps for a pair of files where we assume that both files would always exist at the same wrapper level. Allows us to skip file system queries for localization package lookups where the native file is in a pak but the localized file doesn't exist. Change 2775153 on 2015/11/20 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec CrashReportServer moved out of the not for licencees, a few fixes, removed RegisterPII Change 2775560 on 2015/11/20 by Steve.Robb@Dev-Core FDelegateBase::GetDelegateInstance deprecated and replaced with FDelegateBase::GetDelegateInstanceProtected. Change 2781138 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Converted is using a new stats reader, a few more optimizations, should be 10x times faster Change 2772990 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Fixing potential dead lock when suspending and resuming async loading multiple times Change 2773023 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Support for references added through AddReferencedObjects in FArchiveReplaceObjectRef Change 2781055 on 2015/11/25 by Steve.Robb@Dev-Core Changes to IDelegateInstance reverted to allow licensees an easier time when upgrading their use of the now-deprecated GetDelegateInstance() code path. New TryGetBoundFunctionName() to aid the debugging of delegate bindings in non-shipping configs. Change 2773114 on 2015/11/19 by Steve.Robb@Dev-Core FMath::IsPowerOfTwo is now templated to take any type. Change 2773643 on 2015/11/19 by Steve.Robb@Dev-Core GetDelegateInstance() calls replaced - delegate instances never compare equal unless you are comparing two unbound delegates (both null) or comparing a delegate with itself. Change 2777686 on 2015/11/23 by Steve.Robb@Dev-Core GitHub #1793 - File write flags argument Change 2780590 on 2015/11/25 by Steve.Robb@Dev-Core Fix for FArchiveProxy::operator<< overloads. Change 2780845 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec #jira UE-23358 - MDD relies on hard-coded P4 depot paths (fixed source context for streams) Change 2780962 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Added FStatsWriteStream for basic saving stat messages into a stream, initial support for reading a regular stats file, minor performance optimization, coding standard fixes #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781887 on 2015/11/26 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler/ProfilerClient - Removed unneeded synchronization points, replaces with task graph SendTo jobs, removed PROFILER_THREADED_LOAD, replaced with new stats loading mechanism, should be around 2x times faster (4x since the optimization pass) #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781893 on 2015/11/26 by Steve.Robb@Dev-Core TCachedOSPageAllocator abstracted from MallocBinned2. Misc tidy-ups. Change 2782198 on 2015/11/27 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Better indication of the loading progress, should no longer freeze without a progress bar #jira UECORE-170 - Improve profiler loading performance (wip) Change 2782446 on 2015/11/29 by Steve.Robb@Dev-Core Warn when calling delegates' Create* functions when they're not assigned to anything. #codereview robert.manuszewski Change 2782538 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 #UE4 Removed DiskCachedAssetDataBuffer as it was not strictly necessary and was triggering a crash when loading the cached registry from disk. This data is now stored directly in DiskCachedAssetDataMap. It was already true that this map does not change outside of SerializeCache but now it is critical since NewCachedAssetDataMap keeps pointers directly to its values. Asset registry fixes by Bob Tellez. Possible fix for UE-23783. Change 2782564 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 FReferenceCollector::AddReferenceObjects performance improvements for TArrays. ARO will no longer call HandleObjectReference multiple times but instead will call HandleObjectReferences just once (currently only implemented for FGCCollector). Reduces the number of virtual function calls while GC'ing. Change 2782716 on 2015/11/30 by Steve.Robb@Dev-Core UObject serial number array initialized for debug visualization. Change 2782933 on 2015/11/30 by Steve.Robb@Dev-Core Critical sections are no longer copyable. Change 2783061 on 2015/11/30 by Steve.Robb@Dev-Core
2015-12-03 14:21:29 -05:00
CompletionSyncAggregatedEventGraphData();
// Advance event graphs.
if (DataProvider->GetNumFrames() == 0)
{
EventGraphDataTotal = MakeShareable(new FEventGraphData());
}
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2799478 on 2015/12/11 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Added Dev Stream custom versions. - Each stream now has its own custom version - Developers working in a stream should only modify their respective version Change 2789867 on 2015/12/04 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 UnrealHeaderTool plugins no longer need to be a separate plugin and don't require UnrealHeaderTool source code changes to work. - Merged ScriptGeneratorPlugin with ScriptPlugin - Introduced the concept of UHT plugin support for plugins so that UHT's source files don't need to be modified to make it work with external plugins - Added RuntimeNoProgram module type (module that can be used at runtime but not by program targets). - Fixed logic with project file path setting in the engine. It will no longer try to crate a full path from an already rooted path. Change 2796114 on 2015/12/09 by Steve.Robb@Dev-Core TEnumRange - enabled ranged-based for iteration over enum values. Change 2789843 on 2015/12/04 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 More thorough way of verifying GC cluster assumptions. Change 2794221 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Don't merge GC clusters by default Change 2797824 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Added the option to load all symbols for stack walking in non-monolithic builds. Change 2790539 on 2015/12/04 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats/Profiler - Better handling for live connection, using the same path as file profiles, added FStatsLoadedState to separate runtime stats state from the loaded one Change 2794183 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Always reset events when returning them to pool. Change 2794406 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Fixing -unversioned flag being completely ignored when cooking Change 2794563 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Making sure string referenced assets don't get cooked if referenced by editor-only properties. Change 2795124 on 2015/12/08 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Fixed bad data in min/max/avg inclusive times, added min/max/avg num calls, fixed event graph tooltip not displaying correct values Change 2796208 on 2015/12/09 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Remove support for multiple instances in the profiler (game thread is always visible, a few crash fixes, cleaned code a bit) Change 2797658 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Allocation verification helpers. Helps with tracking down memory stomps, freeing the same pointers multiple times. Change 2797699 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Fix incorrect asset loading in Cooked game data (by bozaro) PR #1844 Change 2798173 on 2015/12/10 by Steve.Robb@Dev-Core Migration of Fortnite to use engine's TEnumRange. Change 2798217 on 2015/12/10 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec PR #1331 [Core] Added a stomp allocator that allows finding memory overruns, underruns, and read/write after free. (Contributed by Pablo Zurita) Change 2799605 on 2015/12/11 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Fixing a crash when cancelling async loading caused by detaching linker from objects that had RF_NeedLoad flag set. Change 2799849 on 2015/12/11 by Steve.Robb@Dev-Core Migration of Ocean to use engine's TEnumRange. Change 2803144 on 2015/12/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changed export tagging archive to also serialize class default objects using the normal Serialize path so that it can collect all custom versions used by exports. Change 2803206 on 2015/12/15 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec #jira UE-24177 Audit ôshippingö defines in engine Change 2804868 on 2015/12/16 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. #lockdown Nick.Penwarden [CL 2805158 by Robert Manuszewski in Main branch]
2015-12-16 11:52:36 -05:00
UpdateAllEventGraphs( DataProvider->GetNumFrames() );
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2783106 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Introduced GC UObject clusters. GC clusters provide means to create disregard for GC subsets at load time (e.g. Materials with material expressions and their textures). - Saves about 25ms in reachability analysis (58ms -> 33ms) - UObject classes/instances can now be marked as cluster root objects with CanBeClusterRoot() function override. - Cluster creation is automatic. Clusters don't require any manual handling for GC to collect them when nothing is referencing them. - Moved token stream processing to a new class FFastReferenceFinder to make it more generic and re-usable by other code - Removed REFERENCE_INFO macro from GC code and replaced it with a local variable (saves about ~1.9ms: 33.2ms -> 31.3ms) Change 2773094 on 2015/11/19 by Steve.Robb@Dev-Core Multicast script delegate check for existing bindings replaced with ensure. Multicast native delegate no longer checks for existing bindings. Removal of old delegate code. Some FORCEINLINEing to improve debugging experience of stepping into delegate code. Change 2782180 on 2015/11/27 by Graeme.Thornton@GThornton_DesktopMaster Make scoped seconds timer class available outside of stats build. Normal usage macros still remain guarded Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE which only times during the outmost instance of a recursive function Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE_BASE and SCOPE_SECONDS_COUNTER_BASE which are defined in all build types, for easy temporary timing in Test/Shipping builds. Added a boolean parameter to the timer class which can be used to disable it without having to mess around with scoping the calling code Change 2782635 on 2015/11/30 by Graeme.Thornton@GThornton_DesktopMaster Added GetTimeStampPair() to the filemanager and platformfile interfaces. Requests timestamps for a pair of files where we assume that both files would always exist at the same wrapper level. Allows us to skip file system queries for localization package lookups where the native file is in a pak but the localized file doesn't exist. Change 2775153 on 2015/11/20 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec CrashReportServer moved out of the not for licencees, a few fixes, removed RegisterPII Change 2775560 on 2015/11/20 by Steve.Robb@Dev-Core FDelegateBase::GetDelegateInstance deprecated and replaced with FDelegateBase::GetDelegateInstanceProtected. Change 2781138 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Converted is using a new stats reader, a few more optimizations, should be 10x times faster Change 2772990 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Fixing potential dead lock when suspending and resuming async loading multiple times Change 2773023 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Support for references added through AddReferencedObjects in FArchiveReplaceObjectRef Change 2781055 on 2015/11/25 by Steve.Robb@Dev-Core Changes to IDelegateInstance reverted to allow licensees an easier time when upgrading their use of the now-deprecated GetDelegateInstance() code path. New TryGetBoundFunctionName() to aid the debugging of delegate bindings in non-shipping configs. Change 2773114 on 2015/11/19 by Steve.Robb@Dev-Core FMath::IsPowerOfTwo is now templated to take any type. Change 2773643 on 2015/11/19 by Steve.Robb@Dev-Core GetDelegateInstance() calls replaced - delegate instances never compare equal unless you are comparing two unbound delegates (both null) or comparing a delegate with itself. Change 2777686 on 2015/11/23 by Steve.Robb@Dev-Core GitHub #1793 - File write flags argument Change 2780590 on 2015/11/25 by Steve.Robb@Dev-Core Fix for FArchiveProxy::operator<< overloads. Change 2780845 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec #jira UE-23358 - MDD relies on hard-coded P4 depot paths (fixed source context for streams) Change 2780962 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Added FStatsWriteStream for basic saving stat messages into a stream, initial support for reading a regular stats file, minor performance optimization, coding standard fixes #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781887 on 2015/11/26 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler/ProfilerClient - Removed unneeded synchronization points, replaces with task graph SendTo jobs, removed PROFILER_THREADED_LOAD, replaced with new stats loading mechanism, should be around 2x times faster (4x since the optimization pass) #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781893 on 2015/11/26 by Steve.Robb@Dev-Core TCachedOSPageAllocator abstracted from MallocBinned2. Misc tidy-ups. Change 2782198 on 2015/11/27 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Better indication of the loading progress, should no longer freeze without a progress bar #jira UECORE-170 - Improve profiler loading performance (wip) Change 2782446 on 2015/11/29 by Steve.Robb@Dev-Core Warn when calling delegates' Create* functions when they're not assigned to anything. #codereview robert.manuszewski Change 2782538 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 #UE4 Removed DiskCachedAssetDataBuffer as it was not strictly necessary and was triggering a crash when loading the cached registry from disk. This data is now stored directly in DiskCachedAssetDataMap. It was already true that this map does not change outside of SerializeCache but now it is critical since NewCachedAssetDataMap keeps pointers directly to its values. Asset registry fixes by Bob Tellez. Possible fix for UE-23783. Change 2782564 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 FReferenceCollector::AddReferenceObjects performance improvements for TArrays. ARO will no longer call HandleObjectReference multiple times but instead will call HandleObjectReferences just once (currently only implemented for FGCCollector). Reduces the number of virtual function calls while GC'ing. Change 2782716 on 2015/11/30 by Steve.Robb@Dev-Core UObject serial number array initialized for debug visualization. Change 2782933 on 2015/11/30 by Steve.Robb@Dev-Core Critical sections are no longer copyable. Change 2783061 on 2015/11/30 by Steve.Robb@Dev-Core
2015-12-03 14:21:29 -05:00
// Broadcast that a capture file has been fully processed.
OnCaptureFileProcessed.ExecuteIfBound( GetInstanceID() );
// Disable tick method as we no longer need to tick.
return false;
}
}
return true;
}
void FProfilerSession::PopulateHierarchy_Recurrent
(
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
const uint32 StatThreadID,
const FProfilerCycleGraph& ParentGraph,
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
const uint32 ParentDurationCycles,
const uint32 ParentSampleIndex,
TMap<uint32, FInclusiveTime>& StatIDToInclusiveTime
)
{
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3178529) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3149443 on 2016/10/03 by Max.Preussner MediaAssets: Better parameter names for MediaPlayer BP functions Change 3149756 on 2016/10/03 by Max.Chen Sequence Recorder: Set some settings to be clamped at 0 (sequence length, recording delay, audio gain, audio input buffer size, nearby actor recording proximity) #jira UE-35233 Change 3149795 on 2016/10/03 by Max.Chen Curve Editor: Set tangent to user when flattening or straightening tangents only when the tangent mode is auto and the interp mode is cubic. #jira UE-36734 Change 3150378 on 2016/10/04 by Max.Preussner PS4Media: Made video buffer sizes for file and HLS sources configurable (UE-36807) #jira UE-36807 Change 3151414 on 2016/10/05 by Max.Chen Sequencer: Fix case where restoring the last view target was getting skipped. It should always restore if the camera object and the unlock if camera actor object is null. #jira UE-35285 Change 3152038 on 2016/10/05 by Max.Preussner UdpMessaging: Code & documentation modernization pass Change 3152471 on 2016/10/05 by Max.Chen Cine Camera: Don't enable/disable actor ticking based soley on actor tracking since actor ticking is needed for other purposes. Instead, always enable actor ticking and only update actor tracking on tick if necessary. This fixes a bug where the cine camera actor won't tick if you hook in event tick. #jira UE-36625 Change 3152692 on 2016/10/05 by Max.Preussner Messaging: API code & documentation modernization pass Mostly removed shared pointer/ref typedefs as they prevent forward declarations and increase include complexity. Change 3153824 on 2016/10/06 by Max.Preussner Messaging: Renamed IConnectionBasedMessagingModule to ITcpMessagingModule and moved it into TcpMessaging I recommend that we refactor this API. The dependency should be reversed, i.e. instead of AndroidDeviceDiscovery depending on the TcpMessaging plug-in module, the Engine should provide a central registry that device discovery modules can notify, and that message transport plug-ins can register with and listen to OnConnectionAdded/Removed events etc. That way it supports an arbitrary number of transport plug-ins, and the Engine is not coupled to any of them. This functionality is not necessarily related to messaging, and the Messaging API is transport agnostic anyway. I'll think about this some more. Change 3153826 on 2016/10/06 by Max.Preussner Messaging: Removed remaining typedefs in IMessageTracer to enable forward declaration and reduce include dependencies Change 3153857 on 2016/10/06 by Max.Chen Sequencer: Set snap time to dragged key on by default. Change 3153980 on 2016/10/06 by Max.Preussner SessionServices: Removed typedefs; code and documentation modernization pass Change 3154313 on 2016/10/06 by Max.Chen Sequencer: Set the paste keys time to the current time, rather than the mouse time. Change 3154332 on 2016/10/06 by Max.Chen Sequencer: Remove click to rename shot functionality in the shot thumbnail. Added rename shot to the shot context menu. Change 3154377 on 2016/10/07 by Max.Chen Sequencer: Add ability to step to beginning and ends of sections/shots using the hotkeys: , and . Change 3154788 on 2016/10/07 by Max.Chen Sequencer: Fix offsets that created when moving multiple sections. The offsets were being created because section bounds were being generated for all sections except for the current section. Instead, they should be computed for all sections except for any that aren't being moved. #jira UE-29152 Change 3159274 on 2016/10/11 by Max.Preussner Core: Documentation fixes Change 3159275 on 2016/10/11 by Max.Preussner UdpMessaging: Added missing header Change 3160746 on 2016/10/12 by Max.Preussner MediaAssets: Added BP functions to query width, height, and aspect ratio of UMediaTexture instances #jira UE-37241 Change 3160975 on 2016/10/12 by Max.Preussner PS4Media: Better logging for SetRate failures Change 3160995 on 2016/10/12 by Max.Preussner MediaPlayerEditor: Fixed Media player selection is ignored if media specifies player overrides (UE-37248) #jira UE-37248 Change 3161066 on 2016/10/12 by Max.Preussner PS4Media: Enforcing minimum 8 byte alignment for media allocations Change 3161069 on 2016/10/12 by Max.Preussner PS4Media: Fixed log spam when setting play rate to current rate Change 3162567 on 2016/10/13 by Max.Preussner PS4Media: Made track switching code more readable Change 3163447 on 2016/10/14 by Max.Preussner PS4Media: Fixed array out of bounds assertions Change 3163772 on 2016/10/14 by Max.Preussner MfMedia: Fixed a number of timing related issues Change 3163980 on 2016/10/15 by Max.Chen Sequencer: Remove folder name numeric padding so that the naming convention is similar to creating objects in the level. Change 3164581 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure global pre-animated state is restored in reverse order Change 3164582 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure pre animated state is restored for all actor components before saving default state Change 3164583 on 2016/10/17 by Andrew.Rodham Sequencer: Re-enabled support for pre and post roll Change 3165464 on 2016/10/17 by Max.Chen Sequencer: Default number frame handles to 0 so that there's no change in behavior when rendering out a master sequence of shots. Handle frames need to enabled explicitly by the user. Copy from Release-4.14 #jira UE-37416 Change 3165483 on 2016/10/17 by Max.Chen Sequencer: Enable restore state for attach section completion Change 3165771 on 2016/10/18 by Andrew.Rodham Sequencer: Force evaluate when rendering thumbnails #jira UE-37321 Change 3166057 on 2016/10/18 by Andrew.Rodham Sequencer: Only set defaults for tracks that have no keys, and where the requested default has changed #jira UE-37285 Change 3166218 on 2016/10/18 by Max.Preussner MediaPlayerEditor: Failure opening media, even though it opened successfully (UE-37470) #jira UE-37470 Change 3166247 on 2016/10/18 by Max.Preussner WmfMedia: Showing progress bar while media is being resolved Change 3166289 on 2016/10/18 by Max.Preussner MfMedia: Showing progress bar while media is being resolved Change 3166993 on 2016/10/18 by Max.Preussner MfMedia: Fixed info string not reset on media close. Change 3166999 on 2016/10/19 by Max.Preussner Media: Fixed NV12 and NV21 support Change 3167008 on 2016/10/19 by Max.Preussner Media: Removed vertical NV12 alignment Change 3167029 on 2016/10/19 by Max.Preussner WmfMedia: Temp fix for RGB32 encoded AVIs rendering upside-down and too bright (UE-37505) #jira UE-37505 Change 3168593 on 2016/10/19 by Max.Chen Sequencer: Change paste at time to local time, so that the paste happens in the local time of the sequence rather than the global time if pasting in a shot level sequence. Change 3168626 on 2016/10/19 by Max.Chen Sequencer: Clamp to view bounds should snap to frame if frame snapping is on. Change 3168627 on 2016/10/19 by Max.Chen Sequencer: Initialize working and view range to be 10% larger than playback range. Change 3168760 on 2016/10/20 by Max.Preussner Media: Revamped media texture buffer management to support padded frames Added support for Windows bitmap buffers. Fixed a number of format, conversion and/or looping issues in WmfMedia and MfMedia. Not all shaders have been updated yet. Change 3169640 on 2016/10/20 by Max.Chen Sequencer: Add current camera to FLevelSequencePlayerSnapshot. Adjust DefaultBurnIn to include a few more parameters like focal length and focus distance. #jira UE-37407 Change 3170677 on 2016/10/21 by Max.Chen Movie Scene Capture: Add toggle to override engine scalability settings to cinematic scalability. #jira UE-36560 Change 3170710 on 2016/10/21 by Max.Preussner Media: Optimized handling of RGB input Change 3170712 on 2016/10/21 by Max.Preussner Media: Fixed NV21 conversion shader scaling Change 3170923 on 2016/10/21 by Max.Preussner UBT: Copied XboxOne project generator fix from Fortnite CL# 3170868 Change 3171494 on 2016/10/23 by Max.Chen Sequencer: Fix fbx export from master sequence not finding bound objects. #jira UE-35752 Change 3171506 on 2016/10/23 by Max.Chen Sequencer: Draw where in and out points of the shot section are, just like subsequences do. Change to only draw the green starting line if StartOffset is negative. #jira UE-35473 Change 3171743 on 2016/10/24 by Andrew.Rodham Editor: Added support for detail customizations on root structs - Also added the ability to add external struct data onto a detail category builder, and property type customization. Change 3171752 on 2016/10/24 by Andrew.Rodham Sequencer: Fixed spawnable ownership - Spawnables are no longer destroyed when the cursor leaves the master playback range. - Spawnable ownership now operates as it previously did before the evaluation rework. - bIgnoreOwnershipInEditor has been removed since its existence was a work around for when we didn't evaluate sub sequences from the master sequence. - FMovieSceneSequenceID is now a struct so that it can be used in array properties - Meta data now exists for each segment of an evaluation field. Currently this only includes the sub sequence IDs that exist at that time, but it may be expanded to include all evaluation entities (tracks + sections) in future so we don't have to calculate that at runtime. Change 3171756 on 2016/10/24 by Andrew.Rodham Sequencer: Added ability to trigger events with parameters - It's now possible to supply an event payload on event track keys which are to be passed to a given event. The structure must match the signature of the event, or a warning will be emitted. - Added a templated TGenericKeyArea, TKeyFrameManipulator and TCurveInterface that allow to generic manipulation of keyframe section data. In time we will port the other key areas over to this representation. - This new architecture affords the common manipulation of time-based keyframes in a value-agnostic manner. Change 3172935 on 2016/10/24 by Max.Preussner MediaPlayerEditor: Fixed MediaPlayer asset not being dirtied when creating media sound wave or texture for it Change 3173947 on 2016/10/25 by Max.Preussner SlateRemote: Disabled plug-in, but enabled server by default Change 3174510 on 2016/10/26 by Max.Chen Sequencer: Fix slomo track crash #jira UE-37802 Change 3174698 on 2016/10/26 by Andrew.Rodham UMG: Fixed objects bound to a panel slot animating their slot's content instead of the slot itself #jira UE-37775 Change 3174780 on 2016/10/26 by Max.Preussner MediaAssets: Accepting decoder defined buffer dimensions for RGB buffers Change 3174789 on 2016/10/26 by Max.Preussner MediaPlayerEditor: Showing desired player name instead of current player name if no media loaded Change 3174817 on 2016/10/26 by Max.Preussner WmfMedia: Added support for Motion JPEG (MJPG) Change 3174825 on 2016/10/26 by Max.Preussner WmfMedia: Added support for non-RGB32 uncompressed formats Change 3174834 on 2016/10/26 by Max.Preussner MediaPlayerAssets: Allow pausing while buffering media Change 3174886 on 2016/10/26 by Andrew.Rodham Core: Fixed range test that was testing incorrect behavior Change 3174889 on 2016/10/26 by Andrew.Rodham Sequencer: Fixed AssignActor behavior - Also ensure that cached object state is invalidated when playback context changes #jira UE-37798 Change 3174905 on 2016/10/26 by Andrew.Rodham Sequencer: Changed assert when failing to create an audio component to a log message - Audio no longer plays when GEngine->UseSound() is false #jira UE-37772 Change 3174980 on 2016/10/26 by Andrew.Rodham Sequencer: Remove warning when event endpoint could not be found for a given context #jira UE-37824 Change 3175001 on 2016/10/26 by Andrew.Rodham Sequencer: Evaluate sequence with EMovieScenePlaybackStatus::Jumping on Pause. - Also protect Pause() against reentrancy when being called from an event Change 3175012 on 2016/10/26 by Max.Chen Sequence Recorder: Fixes an empty working and view range after recording. On StopRecording() update playback range after nullifying the current sequence so that the playback range isn't empty. Added SetViewRange and SetWorkingRange. #jira UE-34191 Change 3177760 on 2016/10/28 by Max.Chen Sequence Recorder: Don't update the current sequence name if it's already set. This fixes a bug where if you pass in a sequence name to record to, it gets reset to the name in the sequence recorder settings. #jira UE-37808 Change 3178529 on 2016/10/28 by Max.Chen Matinee to Level Sequence: Added interface to extend the matinee to level sequence converter #jira UE-37328 #2864 [CL 3178562 by Max Chen in Main branch]
2016-10-28 15:04:38 -04:00
const TSharedRef<FProfilerStatMetaData> MetaData = GetMetaData();
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
#if UE_BUILD_DEBUG
const FName& ParentStatName = MetaData->GetStatByID( ParentGraph.StatId ).Name();
const FName& ParentGroupName = MetaData->GetStatByID( ParentGraph.StatId ).OwningGroup().Name();
#endif // UE_BUILD_DEBUG
{
FInclusiveTime& InclusiveTime = StatIDToInclusiveTime.FindOrAdd( ParentGraph.StatId );
InclusiveTime.Recursion++;
}
const uint32 SampleIndex = DataProvider->AddHierarchicalSample
(
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
StatThreadID,
MetaData->GetStatByID(ParentGraph.StatId).OwningGroup().ID(),
ParentGraph.StatId,
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
ParentDurationCycles, ParentGraph.CallsPerFrame,
ParentSampleIndex
);
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
uint32 ChildrenDurationCycles = 0;
for( int32 DataIndex = 0; DataIndex < ParentGraph.Children.Num(); DataIndex++ )
{
const FProfilerCycleGraph& ChildCyclesCounter = ParentGraph.Children[DataIndex];
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
const uint32 ChildDurationCycles = ChildCyclesCounter.Value;
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
if (ChildDurationCycles > 0.0)
{
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
PopulateHierarchy_Recurrent( StatThreadID, ChildCyclesCounter, ChildDurationCycles, SampleIndex, StatIDToInclusiveTime );
}
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
ChildrenDurationCycles += ChildDurationCycles;
}
if (ParentDurationCycles > ChildrenDurationCycles && ParentGraph.Children.Num() > 0)
{
const uint32 SelfTimeCycles = ParentDurationCycles - ChildrenDurationCycles;
// Create a fake stat that represents this profiler sample's exclusive time.
// This is required if we want to create correct combined event graphs later.
DataProvider->AddHierarchicalSample
(
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
StatThreadID,
MetaData->GetStatByID(0).OwningGroup().ID(),
0, // @see FProfilerStatMetaData.Update, 0 means "Self"
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
SelfTimeCycles, 1,
SampleIndex
);
}
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
{
FInclusiveTime& InclusiveTime = StatIDToInclusiveTime.FindChecked( ParentGraph.StatId );
InclusiveTime.Recursion--;
if (InclusiveTime.Recursion == 0)
{
InclusiveTime.DurationCycles += ParentDurationCycles;
InclusiveTime.CallCount++;
}
}
}
void FProfilerSession::LoadComplete()
{
bHasAllProfilerData = true;
}
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
void FProfilerSession::SetNumberOfFrames( int32 InNumFrames )
{
NumFrames = InNumFrames;
InclusiveAggregateStackStats.Reserve( NumFrames );
AggregatedStats.Reserve( 4096 );
FrameToProfilerDataMapping.Reserve( 256 );
}
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2783106 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Introduced GC UObject clusters. GC clusters provide means to create disregard for GC subsets at load time (e.g. Materials with material expressions and their textures). - Saves about 25ms in reachability analysis (58ms -> 33ms) - UObject classes/instances can now be marked as cluster root objects with CanBeClusterRoot() function override. - Cluster creation is automatic. Clusters don't require any manual handling for GC to collect them when nothing is referencing them. - Moved token stream processing to a new class FFastReferenceFinder to make it more generic and re-usable by other code - Removed REFERENCE_INFO macro from GC code and replaced it with a local variable (saves about ~1.9ms: 33.2ms -> 31.3ms) Change 2773094 on 2015/11/19 by Steve.Robb@Dev-Core Multicast script delegate check for existing bindings replaced with ensure. Multicast native delegate no longer checks for existing bindings. Removal of old delegate code. Some FORCEINLINEing to improve debugging experience of stepping into delegate code. Change 2782180 on 2015/11/27 by Graeme.Thornton@GThornton_DesktopMaster Make scoped seconds timer class available outside of stats build. Normal usage macros still remain guarded Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE which only times during the outmost instance of a recursive function Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE_BASE and SCOPE_SECONDS_COUNTER_BASE which are defined in all build types, for easy temporary timing in Test/Shipping builds. Added a boolean parameter to the timer class which can be used to disable it without having to mess around with scoping the calling code Change 2782635 on 2015/11/30 by Graeme.Thornton@GThornton_DesktopMaster Added GetTimeStampPair() to the filemanager and platformfile interfaces. Requests timestamps for a pair of files where we assume that both files would always exist at the same wrapper level. Allows us to skip file system queries for localization package lookups where the native file is in a pak but the localized file doesn't exist. Change 2775153 on 2015/11/20 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec CrashReportServer moved out of the not for licencees, a few fixes, removed RegisterPII Change 2775560 on 2015/11/20 by Steve.Robb@Dev-Core FDelegateBase::GetDelegateInstance deprecated and replaced with FDelegateBase::GetDelegateInstanceProtected. Change 2781138 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Converted is using a new stats reader, a few more optimizations, should be 10x times faster Change 2772990 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Fixing potential dead lock when suspending and resuming async loading multiple times Change 2773023 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Support for references added through AddReferencedObjects in FArchiveReplaceObjectRef Change 2781055 on 2015/11/25 by Steve.Robb@Dev-Core Changes to IDelegateInstance reverted to allow licensees an easier time when upgrading their use of the now-deprecated GetDelegateInstance() code path. New TryGetBoundFunctionName() to aid the debugging of delegate bindings in non-shipping configs. Change 2773114 on 2015/11/19 by Steve.Robb@Dev-Core FMath::IsPowerOfTwo is now templated to take any type. Change 2773643 on 2015/11/19 by Steve.Robb@Dev-Core GetDelegateInstance() calls replaced - delegate instances never compare equal unless you are comparing two unbound delegates (both null) or comparing a delegate with itself. Change 2777686 on 2015/11/23 by Steve.Robb@Dev-Core GitHub #1793 - File write flags argument Change 2780590 on 2015/11/25 by Steve.Robb@Dev-Core Fix for FArchiveProxy::operator<< overloads. Change 2780845 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec #jira UE-23358 - MDD relies on hard-coded P4 depot paths (fixed source context for streams) Change 2780962 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Added FStatsWriteStream for basic saving stat messages into a stream, initial support for reading a regular stats file, minor performance optimization, coding standard fixes #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781887 on 2015/11/26 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler/ProfilerClient - Removed unneeded synchronization points, replaces with task graph SendTo jobs, removed PROFILER_THREADED_LOAD, replaced with new stats loading mechanism, should be around 2x times faster (4x since the optimization pass) #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781893 on 2015/11/26 by Steve.Robb@Dev-Core TCachedOSPageAllocator abstracted from MallocBinned2. Misc tidy-ups. Change 2782198 on 2015/11/27 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Better indication of the loading progress, should no longer freeze without a progress bar #jira UECORE-170 - Improve profiler loading performance (wip) Change 2782446 on 2015/11/29 by Steve.Robb@Dev-Core Warn when calling delegates' Create* functions when they're not assigned to anything. #codereview robert.manuszewski Change 2782538 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 #UE4 Removed DiskCachedAssetDataBuffer as it was not strictly necessary and was triggering a crash when loading the cached registry from disk. This data is now stored directly in DiskCachedAssetDataMap. It was already true that this map does not change outside of SerializeCache but now it is critical since NewCachedAssetDataMap keeps pointers directly to its values. Asset registry fixes by Bob Tellez. Possible fix for UE-23783. Change 2782564 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 FReferenceCollector::AddReferenceObjects performance improvements for TArrays. ARO will no longer call HandleObjectReference multiple times but instead will call HandleObjectReferences just once (currently only implemented for FGCCollector). Reduces the number of virtual function calls while GC'ing. Change 2782716 on 2015/11/30 by Steve.Robb@Dev-Core UObject serial number array initialized for debug visualization. Change 2782933 on 2015/11/30 by Steve.Robb@Dev-Core Critical sections are no longer copyable. Change 2783061 on 2015/11/30 by Steve.Robb@Dev-Core
2015-12-03 14:21:29 -05:00
float FProfilerSession::GetProgress() const
{
if (NumFrames > 0)
{
return (float)NumFramesProcessed / (float)NumFrames;
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2783106 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Introduced GC UObject clusters. GC clusters provide means to create disregard for GC subsets at load time (e.g. Materials with material expressions and their textures). - Saves about 25ms in reachability analysis (58ms -> 33ms) - UObject classes/instances can now be marked as cluster root objects with CanBeClusterRoot() function override. - Cluster creation is automatic. Clusters don't require any manual handling for GC to collect them when nothing is referencing them. - Moved token stream processing to a new class FFastReferenceFinder to make it more generic and re-usable by other code - Removed REFERENCE_INFO macro from GC code and replaced it with a local variable (saves about ~1.9ms: 33.2ms -> 31.3ms) Change 2773094 on 2015/11/19 by Steve.Robb@Dev-Core Multicast script delegate check for existing bindings replaced with ensure. Multicast native delegate no longer checks for existing bindings. Removal of old delegate code. Some FORCEINLINEing to improve debugging experience of stepping into delegate code. Change 2782180 on 2015/11/27 by Graeme.Thornton@GThornton_DesktopMaster Make scoped seconds timer class available outside of stats build. Normal usage macros still remain guarded Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE which only times during the outmost instance of a recursive function Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE_BASE and SCOPE_SECONDS_COUNTER_BASE which are defined in all build types, for easy temporary timing in Test/Shipping builds. Added a boolean parameter to the timer class which can be used to disable it without having to mess around with scoping the calling code Change 2782635 on 2015/11/30 by Graeme.Thornton@GThornton_DesktopMaster Added GetTimeStampPair() to the filemanager and platformfile interfaces. Requests timestamps for a pair of files where we assume that both files would always exist at the same wrapper level. Allows us to skip file system queries for localization package lookups where the native file is in a pak but the localized file doesn't exist. Change 2775153 on 2015/11/20 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec CrashReportServer moved out of the not for licencees, a few fixes, removed RegisterPII Change 2775560 on 2015/11/20 by Steve.Robb@Dev-Core FDelegateBase::GetDelegateInstance deprecated and replaced with FDelegateBase::GetDelegateInstanceProtected. Change 2781138 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Converted is using a new stats reader, a few more optimizations, should be 10x times faster Change 2772990 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Fixing potential dead lock when suspending and resuming async loading multiple times Change 2773023 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Support for references added through AddReferencedObjects in FArchiveReplaceObjectRef Change 2781055 on 2015/11/25 by Steve.Robb@Dev-Core Changes to IDelegateInstance reverted to allow licensees an easier time when upgrading their use of the now-deprecated GetDelegateInstance() code path. New TryGetBoundFunctionName() to aid the debugging of delegate bindings in non-shipping configs. Change 2773114 on 2015/11/19 by Steve.Robb@Dev-Core FMath::IsPowerOfTwo is now templated to take any type. Change 2773643 on 2015/11/19 by Steve.Robb@Dev-Core GetDelegateInstance() calls replaced - delegate instances never compare equal unless you are comparing two unbound delegates (both null) or comparing a delegate with itself. Change 2777686 on 2015/11/23 by Steve.Robb@Dev-Core GitHub #1793 - File write flags argument Change 2780590 on 2015/11/25 by Steve.Robb@Dev-Core Fix for FArchiveProxy::operator<< overloads. Change 2780845 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec #jira UE-23358 - MDD relies on hard-coded P4 depot paths (fixed source context for streams) Change 2780962 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Added FStatsWriteStream for basic saving stat messages into a stream, initial support for reading a regular stats file, minor performance optimization, coding standard fixes #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781887 on 2015/11/26 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler/ProfilerClient - Removed unneeded synchronization points, replaces with task graph SendTo jobs, removed PROFILER_THREADED_LOAD, replaced with new stats loading mechanism, should be around 2x times faster (4x since the optimization pass) #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781893 on 2015/11/26 by Steve.Robb@Dev-Core TCachedOSPageAllocator abstracted from MallocBinned2. Misc tidy-ups. Change 2782198 on 2015/11/27 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Better indication of the loading progress, should no longer freeze without a progress bar #jira UECORE-170 - Improve profiler loading performance (wip) Change 2782446 on 2015/11/29 by Steve.Robb@Dev-Core Warn when calling delegates' Create* functions when they're not assigned to anything. #codereview robert.manuszewski Change 2782538 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 #UE4 Removed DiskCachedAssetDataBuffer as it was not strictly necessary and was triggering a crash when loading the cached registry from disk. This data is now stored directly in DiskCachedAssetDataMap. It was already true that this map does not change outside of SerializeCache but now it is critical since NewCachedAssetDataMap keeps pointers directly to its values. Asset registry fixes by Bob Tellez. Possible fix for UE-23783. Change 2782564 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 FReferenceCollector::AddReferenceObjects performance improvements for TArrays. ARO will no longer call HandleObjectReference multiple times but instead will call HandleObjectReferences just once (currently only implemented for FGCCollector). Reduces the number of virtual function calls while GC'ing. Change 2782716 on 2015/11/30 by Steve.Robb@Dev-Core UObject serial number array initialized for debug visualization. Change 2782933 on 2015/11/30 by Steve.Robb@Dev-Core Critical sections are no longer copyable. Change 2783061 on 2015/11/30 by Steve.Robb@Dev-Core
2015-12-03 14:21:29 -05:00
}
return 0.0f;
}
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
const SIZE_T FProfilerSession::GetMemoryUsage() const
{
SIZE_T MemoryUsage = 0;
MemoryUsage += DataProvider->GetMemoryUsage();
MemoryUsage += StatMetaData->GetMemoryUsage();
MemoryUsage += AggregatedStats.GetAllocatedSize();
MemoryUsage += InclusiveAggregateStackStats.GetAllocatedSize();
for (const auto& It : InclusiveAggregateStackStats)
{
MemoryUsage += It.GetAllocatedSize();
}
MemoryUsage += FPSAnalyzer->GetMemoryUsage();
return MemoryUsage;
}
void FProfilerSession::UpdateProfilerData( const FProfilerDataFrame& Content )
{
FrameToProfilerDataMapping.FindOrAdd( Content.Frame ) = Content;
FrameToProcess.Add( Content.Frame );
}
void FProfilerSession::UpdateMetadata( const FStatMetaData& InClientStatMetaData )
{
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2783106 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Introduced GC UObject clusters. GC clusters provide means to create disregard for GC subsets at load time (e.g. Materials with material expressions and their textures). - Saves about 25ms in reachability analysis (58ms -> 33ms) - UObject classes/instances can now be marked as cluster root objects with CanBeClusterRoot() function override. - Cluster creation is automatic. Clusters don't require any manual handling for GC to collect them when nothing is referencing them. - Moved token stream processing to a new class FFastReferenceFinder to make it more generic and re-usable by other code - Removed REFERENCE_INFO macro from GC code and replaced it with a local variable (saves about ~1.9ms: 33.2ms -> 31.3ms) Change 2773094 on 2015/11/19 by Steve.Robb@Dev-Core Multicast script delegate check for existing bindings replaced with ensure. Multicast native delegate no longer checks for existing bindings. Removal of old delegate code. Some FORCEINLINEing to improve debugging experience of stepping into delegate code. Change 2782180 on 2015/11/27 by Graeme.Thornton@GThornton_DesktopMaster Make scoped seconds timer class available outside of stats build. Normal usage macros still remain guarded Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE which only times during the outmost instance of a recursive function Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE_BASE and SCOPE_SECONDS_COUNTER_BASE which are defined in all build types, for easy temporary timing in Test/Shipping builds. Added a boolean parameter to the timer class which can be used to disable it without having to mess around with scoping the calling code Change 2782635 on 2015/11/30 by Graeme.Thornton@GThornton_DesktopMaster Added GetTimeStampPair() to the filemanager and platformfile interfaces. Requests timestamps for a pair of files where we assume that both files would always exist at the same wrapper level. Allows us to skip file system queries for localization package lookups where the native file is in a pak but the localized file doesn't exist. Change 2775153 on 2015/11/20 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec CrashReportServer moved out of the not for licencees, a few fixes, removed RegisterPII Change 2775560 on 2015/11/20 by Steve.Robb@Dev-Core FDelegateBase::GetDelegateInstance deprecated and replaced with FDelegateBase::GetDelegateInstanceProtected. Change 2781138 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Converted is using a new stats reader, a few more optimizations, should be 10x times faster Change 2772990 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Fixing potential dead lock when suspending and resuming async loading multiple times Change 2773023 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Support for references added through AddReferencedObjects in FArchiveReplaceObjectRef Change 2781055 on 2015/11/25 by Steve.Robb@Dev-Core Changes to IDelegateInstance reverted to allow licensees an easier time when upgrading their use of the now-deprecated GetDelegateInstance() code path. New TryGetBoundFunctionName() to aid the debugging of delegate bindings in non-shipping configs. Change 2773114 on 2015/11/19 by Steve.Robb@Dev-Core FMath::IsPowerOfTwo is now templated to take any type. Change 2773643 on 2015/11/19 by Steve.Robb@Dev-Core GetDelegateInstance() calls replaced - delegate instances never compare equal unless you are comparing two unbound delegates (both null) or comparing a delegate with itself. Change 2777686 on 2015/11/23 by Steve.Robb@Dev-Core GitHub #1793 - File write flags argument Change 2780590 on 2015/11/25 by Steve.Robb@Dev-Core Fix for FArchiveProxy::operator<< overloads. Change 2780845 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec #jira UE-23358 - MDD relies on hard-coded P4 depot paths (fixed source context for streams) Change 2780962 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Added FStatsWriteStream for basic saving stat messages into a stream, initial support for reading a regular stats file, minor performance optimization, coding standard fixes #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781887 on 2015/11/26 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler/ProfilerClient - Removed unneeded synchronization points, replaces with task graph SendTo jobs, removed PROFILER_THREADED_LOAD, replaced with new stats loading mechanism, should be around 2x times faster (4x since the optimization pass) #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781893 on 2015/11/26 by Steve.Robb@Dev-Core TCachedOSPageAllocator abstracted from MallocBinned2. Misc tidy-ups. Change 2782198 on 2015/11/27 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Better indication of the loading progress, should no longer freeze without a progress bar #jira UECORE-170 - Improve profiler loading performance (wip) Change 2782446 on 2015/11/29 by Steve.Robb@Dev-Core Warn when calling delegates' Create* functions when they're not assigned to anything. #codereview robert.manuszewski Change 2782538 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 #UE4 Removed DiskCachedAssetDataBuffer as it was not strictly necessary and was triggering a crash when loading the cached registry from disk. This data is now stored directly in DiskCachedAssetDataMap. It was already true that this map does not change outside of SerializeCache but now it is critical since NewCachedAssetDataMap keeps pointers directly to its values. Asset registry fixes by Bob Tellez. Possible fix for UE-23783. Change 2782564 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 FReferenceCollector::AddReferenceObjects performance improvements for TArrays. ARO will no longer call HandleObjectReference multiple times but instead will call HandleObjectReferences just once (currently only implemented for FGCCollector). Reduces the number of virtual function calls while GC'ing. Change 2782716 on 2015/11/30 by Steve.Robb@Dev-Core UObject serial number array initialized for debug visualization. Change 2782933 on 2015/11/30 by Steve.Robb@Dev-Core Critical sections are no longer copyable. Change 2783061 on 2015/11/30 by Steve.Robb@Dev-Core
2015-12-03 14:21:29 -05:00
const uint32 NewStatMetaDataSize = InClientStatMetaData.GetMetaDataSize();
if( NewStatMetaDataSize != StatMetaDataSize )
{
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2783106 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Introduced GC UObject clusters. GC clusters provide means to create disregard for GC subsets at load time (e.g. Materials with material expressions and their textures). - Saves about 25ms in reachability analysis (58ms -> 33ms) - UObject classes/instances can now be marked as cluster root objects with CanBeClusterRoot() function override. - Cluster creation is automatic. Clusters don't require any manual handling for GC to collect them when nothing is referencing them. - Moved token stream processing to a new class FFastReferenceFinder to make it more generic and re-usable by other code - Removed REFERENCE_INFO macro from GC code and replaced it with a local variable (saves about ~1.9ms: 33.2ms -> 31.3ms) Change 2773094 on 2015/11/19 by Steve.Robb@Dev-Core Multicast script delegate check for existing bindings replaced with ensure. Multicast native delegate no longer checks for existing bindings. Removal of old delegate code. Some FORCEINLINEing to improve debugging experience of stepping into delegate code. Change 2782180 on 2015/11/27 by Graeme.Thornton@GThornton_DesktopMaster Make scoped seconds timer class available outside of stats build. Normal usage macros still remain guarded Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE which only times during the outmost instance of a recursive function Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE_BASE and SCOPE_SECONDS_COUNTER_BASE which are defined in all build types, for easy temporary timing in Test/Shipping builds. Added a boolean parameter to the timer class which can be used to disable it without having to mess around with scoping the calling code Change 2782635 on 2015/11/30 by Graeme.Thornton@GThornton_DesktopMaster Added GetTimeStampPair() to the filemanager and platformfile interfaces. Requests timestamps for a pair of files where we assume that both files would always exist at the same wrapper level. Allows us to skip file system queries for localization package lookups where the native file is in a pak but the localized file doesn't exist. Change 2775153 on 2015/11/20 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec CrashReportServer moved out of the not for licencees, a few fixes, removed RegisterPII Change 2775560 on 2015/11/20 by Steve.Robb@Dev-Core FDelegateBase::GetDelegateInstance deprecated and replaced with FDelegateBase::GetDelegateInstanceProtected. Change 2781138 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Converted is using a new stats reader, a few more optimizations, should be 10x times faster Change 2772990 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Fixing potential dead lock when suspending and resuming async loading multiple times Change 2773023 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Support for references added through AddReferencedObjects in FArchiveReplaceObjectRef Change 2781055 on 2015/11/25 by Steve.Robb@Dev-Core Changes to IDelegateInstance reverted to allow licensees an easier time when upgrading their use of the now-deprecated GetDelegateInstance() code path. New TryGetBoundFunctionName() to aid the debugging of delegate bindings in non-shipping configs. Change 2773114 on 2015/11/19 by Steve.Robb@Dev-Core FMath::IsPowerOfTwo is now templated to take any type. Change 2773643 on 2015/11/19 by Steve.Robb@Dev-Core GetDelegateInstance() calls replaced - delegate instances never compare equal unless you are comparing two unbound delegates (both null) or comparing a delegate with itself. Change 2777686 on 2015/11/23 by Steve.Robb@Dev-Core GitHub #1793 - File write flags argument Change 2780590 on 2015/11/25 by Steve.Robb@Dev-Core Fix for FArchiveProxy::operator<< overloads. Change 2780845 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec #jira UE-23358 - MDD relies on hard-coded P4 depot paths (fixed source context for streams) Change 2780962 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Added FStatsWriteStream for basic saving stat messages into a stream, initial support for reading a regular stats file, minor performance optimization, coding standard fixes #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781887 on 2015/11/26 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler/ProfilerClient - Removed unneeded synchronization points, replaces with task graph SendTo jobs, removed PROFILER_THREADED_LOAD, replaced with new stats loading mechanism, should be around 2x times faster (4x since the optimization pass) #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781893 on 2015/11/26 by Steve.Robb@Dev-Core TCachedOSPageAllocator abstracted from MallocBinned2. Misc tidy-ups. Change 2782198 on 2015/11/27 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Better indication of the loading progress, should no longer freeze without a progress bar #jira UECORE-170 - Improve profiler loading performance (wip) Change 2782446 on 2015/11/29 by Steve.Robb@Dev-Core Warn when calling delegates' Create* functions when they're not assigned to anything. #codereview robert.manuszewski Change 2782538 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 #UE4 Removed DiskCachedAssetDataBuffer as it was not strictly necessary and was triggering a crash when loading the cached registry from disk. This data is now stored directly in DiskCachedAssetDataMap. It was already true that this map does not change outside of SerializeCache but now it is critical since NewCachedAssetDataMap keeps pointers directly to its values. Asset registry fixes by Bob Tellez. Possible fix for UE-23783. Change 2782564 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 FReferenceCollector::AddReferenceObjects performance improvements for TArrays. ARO will no longer call HandleObjectReference multiple times but instead will call HandleObjectReferences just once (currently only implemented for FGCCollector). Reduces the number of virtual function calls while GC'ing. Change 2782716 on 2015/11/30 by Steve.Robb@Dev-Core UObject serial number array initialized for debug visualization. Change 2782933 on 2015/11/30 by Steve.Robb@Dev-Core Critical sections are no longer copyable. Change 2783061 on 2015/11/30 by Steve.Robb@Dev-Core
2015-12-03 14:21:29 -05:00
ClientStatMetadata = InClientStatMetaData;
bRequestStatMetadataUpdate = true;
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2783106 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Introduced GC UObject clusters. GC clusters provide means to create disregard for GC subsets at load time (e.g. Materials with material expressions and their textures). - Saves about 25ms in reachability analysis (58ms -> 33ms) - UObject classes/instances can now be marked as cluster root objects with CanBeClusterRoot() function override. - Cluster creation is automatic. Clusters don't require any manual handling for GC to collect them when nothing is referencing them. - Moved token stream processing to a new class FFastReferenceFinder to make it more generic and re-usable by other code - Removed REFERENCE_INFO macro from GC code and replaced it with a local variable (saves about ~1.9ms: 33.2ms -> 31.3ms) Change 2773094 on 2015/11/19 by Steve.Robb@Dev-Core Multicast script delegate check for existing bindings replaced with ensure. Multicast native delegate no longer checks for existing bindings. Removal of old delegate code. Some FORCEINLINEing to improve debugging experience of stepping into delegate code. Change 2782180 on 2015/11/27 by Graeme.Thornton@GThornton_DesktopMaster Make scoped seconds timer class available outside of stats build. Normal usage macros still remain guarded Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE which only times during the outmost instance of a recursive function Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE_BASE and SCOPE_SECONDS_COUNTER_BASE which are defined in all build types, for easy temporary timing in Test/Shipping builds. Added a boolean parameter to the timer class which can be used to disable it without having to mess around with scoping the calling code Change 2782635 on 2015/11/30 by Graeme.Thornton@GThornton_DesktopMaster Added GetTimeStampPair() to the filemanager and platformfile interfaces. Requests timestamps for a pair of files where we assume that both files would always exist at the same wrapper level. Allows us to skip file system queries for localization package lookups where the native file is in a pak but the localized file doesn't exist. Change 2775153 on 2015/11/20 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec CrashReportServer moved out of the not for licencees, a few fixes, removed RegisterPII Change 2775560 on 2015/11/20 by Steve.Robb@Dev-Core FDelegateBase::GetDelegateInstance deprecated and replaced with FDelegateBase::GetDelegateInstanceProtected. Change 2781138 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Converted is using a new stats reader, a few more optimizations, should be 10x times faster Change 2772990 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Fixing potential dead lock when suspending and resuming async loading multiple times Change 2773023 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Support for references added through AddReferencedObjects in FArchiveReplaceObjectRef Change 2781055 on 2015/11/25 by Steve.Robb@Dev-Core Changes to IDelegateInstance reverted to allow licensees an easier time when upgrading their use of the now-deprecated GetDelegateInstance() code path. New TryGetBoundFunctionName() to aid the debugging of delegate bindings in non-shipping configs. Change 2773114 on 2015/11/19 by Steve.Robb@Dev-Core FMath::IsPowerOfTwo is now templated to take any type. Change 2773643 on 2015/11/19 by Steve.Robb@Dev-Core GetDelegateInstance() calls replaced - delegate instances never compare equal unless you are comparing two unbound delegates (both null) or comparing a delegate with itself. Change 2777686 on 2015/11/23 by Steve.Robb@Dev-Core GitHub #1793 - File write flags argument Change 2780590 on 2015/11/25 by Steve.Robb@Dev-Core Fix for FArchiveProxy::operator<< overloads. Change 2780845 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec #jira UE-23358 - MDD relies on hard-coded P4 depot paths (fixed source context for streams) Change 2780962 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Added FStatsWriteStream for basic saving stat messages into a stream, initial support for reading a regular stats file, minor performance optimization, coding standard fixes #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781887 on 2015/11/26 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler/ProfilerClient - Removed unneeded synchronization points, replaces with task graph SendTo jobs, removed PROFILER_THREADED_LOAD, replaced with new stats loading mechanism, should be around 2x times faster (4x since the optimization pass) #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781893 on 2015/11/26 by Steve.Robb@Dev-Core TCachedOSPageAllocator abstracted from MallocBinned2. Misc tidy-ups. Change 2782198 on 2015/11/27 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Better indication of the loading progress, should no longer freeze without a progress bar #jira UECORE-170 - Improve profiler loading performance (wip) Change 2782446 on 2015/11/29 by Steve.Robb@Dev-Core Warn when calling delegates' Create* functions when they're not assigned to anything. #codereview robert.manuszewski Change 2782538 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 #UE4 Removed DiskCachedAssetDataBuffer as it was not strictly necessary and was triggering a crash when loading the cached registry from disk. This data is now stored directly in DiskCachedAssetDataMap. It was already true that this map does not change outside of SerializeCache but now it is critical since NewCachedAssetDataMap keeps pointers directly to its values. Asset registry fixes by Bob Tellez. Possible fix for UE-23783. Change 2782564 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 FReferenceCollector::AddReferenceObjects performance improvements for TArrays. ARO will no longer call HandleObjectReference multiple times but instead will call HandleObjectReferences just once (currently only implemented for FGCCollector). Reduces the number of virtual function calls while GC'ing. Change 2782716 on 2015/11/30 by Steve.Robb@Dev-Core UObject serial number array initialized for debug visualization. Change 2782933 on 2015/11/30 by Steve.Robb@Dev-Core Critical sections are no longer copyable. Change 2783061 on 2015/11/30 by Steve.Robb@Dev-Core
2015-12-03 14:21:29 -05:00
StatMetaDataSize = NewStatMetaDataSize;
}
}
void FProfilerStatMetaData::Update( const FStatMetaData& ClientStatMetaData )
{
PROFILER_SCOPE_LOG_TIME( TEXT( "FProfilerStatMetaData.Update" ), nullptr );
// Iterate through all thread descriptions.
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2783106 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Introduced GC UObject clusters. GC clusters provide means to create disregard for GC subsets at load time (e.g. Materials with material expressions and their textures). - Saves about 25ms in reachability analysis (58ms -> 33ms) - UObject classes/instances can now be marked as cluster root objects with CanBeClusterRoot() function override. - Cluster creation is automatic. Clusters don't require any manual handling for GC to collect them when nothing is referencing them. - Moved token stream processing to a new class FFastReferenceFinder to make it more generic and re-usable by other code - Removed REFERENCE_INFO macro from GC code and replaced it with a local variable (saves about ~1.9ms: 33.2ms -> 31.3ms) Change 2773094 on 2015/11/19 by Steve.Robb@Dev-Core Multicast script delegate check for existing bindings replaced with ensure. Multicast native delegate no longer checks for existing bindings. Removal of old delegate code. Some FORCEINLINEing to improve debugging experience of stepping into delegate code. Change 2782180 on 2015/11/27 by Graeme.Thornton@GThornton_DesktopMaster Make scoped seconds timer class available outside of stats build. Normal usage macros still remain guarded Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE which only times during the outmost instance of a recursive function Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE_BASE and SCOPE_SECONDS_COUNTER_BASE which are defined in all build types, for easy temporary timing in Test/Shipping builds. Added a boolean parameter to the timer class which can be used to disable it without having to mess around with scoping the calling code Change 2782635 on 2015/11/30 by Graeme.Thornton@GThornton_DesktopMaster Added GetTimeStampPair() to the filemanager and platformfile interfaces. Requests timestamps for a pair of files where we assume that both files would always exist at the same wrapper level. Allows us to skip file system queries for localization package lookups where the native file is in a pak but the localized file doesn't exist. Change 2775153 on 2015/11/20 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec CrashReportServer moved out of the not for licencees, a few fixes, removed RegisterPII Change 2775560 on 2015/11/20 by Steve.Robb@Dev-Core FDelegateBase::GetDelegateInstance deprecated and replaced with FDelegateBase::GetDelegateInstanceProtected. Change 2781138 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Converted is using a new stats reader, a few more optimizations, should be 10x times faster Change 2772990 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Fixing potential dead lock when suspending and resuming async loading multiple times Change 2773023 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Support for references added through AddReferencedObjects in FArchiveReplaceObjectRef Change 2781055 on 2015/11/25 by Steve.Robb@Dev-Core Changes to IDelegateInstance reverted to allow licensees an easier time when upgrading their use of the now-deprecated GetDelegateInstance() code path. New TryGetBoundFunctionName() to aid the debugging of delegate bindings in non-shipping configs. Change 2773114 on 2015/11/19 by Steve.Robb@Dev-Core FMath::IsPowerOfTwo is now templated to take any type. Change 2773643 on 2015/11/19 by Steve.Robb@Dev-Core GetDelegateInstance() calls replaced - delegate instances never compare equal unless you are comparing two unbound delegates (both null) or comparing a delegate with itself. Change 2777686 on 2015/11/23 by Steve.Robb@Dev-Core GitHub #1793 - File write flags argument Change 2780590 on 2015/11/25 by Steve.Robb@Dev-Core Fix for FArchiveProxy::operator<< overloads. Change 2780845 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec #jira UE-23358 - MDD relies on hard-coded P4 depot paths (fixed source context for streams) Change 2780962 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Added FStatsWriteStream for basic saving stat messages into a stream, initial support for reading a regular stats file, minor performance optimization, coding standard fixes #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781887 on 2015/11/26 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler/ProfilerClient - Removed unneeded synchronization points, replaces with task graph SendTo jobs, removed PROFILER_THREADED_LOAD, replaced with new stats loading mechanism, should be around 2x times faster (4x since the optimization pass) #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781893 on 2015/11/26 by Steve.Robb@Dev-Core TCachedOSPageAllocator abstracted from MallocBinned2. Misc tidy-ups. Change 2782198 on 2015/11/27 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Better indication of the loading progress, should no longer freeze without a progress bar #jira UECORE-170 - Improve profiler loading performance (wip) Change 2782446 on 2015/11/29 by Steve.Robb@Dev-Core Warn when calling delegates' Create* functions when they're not assigned to anything. #codereview robert.manuszewski Change 2782538 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 #UE4 Removed DiskCachedAssetDataBuffer as it was not strictly necessary and was triggering a crash when loading the cached registry from disk. This data is now stored directly in DiskCachedAssetDataMap. It was already true that this map does not change outside of SerializeCache but now it is critical since NewCachedAssetDataMap keeps pointers directly to its values. Asset registry fixes by Bob Tellez. Possible fix for UE-23783. Change 2782564 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 FReferenceCollector::AddReferenceObjects performance improvements for TArrays. ARO will no longer call HandleObjectReference multiple times but instead will call HandleObjectReferences just once (currently only implemented for FGCCollector). Reduces the number of virtual function calls while GC'ing. Change 2782716 on 2015/11/30 by Steve.Robb@Dev-Core UObject serial number array initialized for debug visualization. Change 2782933 on 2015/11/30 by Steve.Robb@Dev-Core Critical sections are no longer copyable. Change 2783061 on 2015/11/30 by Steve.Robb@Dev-Core
2015-12-03 14:21:29 -05:00
ThreadDescriptions.Append( ClientStatMetaData.ThreadDescriptions );
// Initialize fake stat for Self.
const uint32 NoGroupID = 0;
InitializeGroup( NoGroupID, "NoGroup" );
InitializeStat( 0, NoGroupID, TEXT( "Self" ), STATTYPE_CycleCounter );
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
InitializeStat( ProfilerThreadRoot, NoGroupID, FStatConstants::NAME_ThreadRoot.GetPlainNameString(), STATTYPE_CycleCounter, FStatConstants::NAME_ThreadRoot );
// Iterate through all stat group descriptions.
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2783106 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Introduced GC UObject clusters. GC clusters provide means to create disregard for GC subsets at load time (e.g. Materials with material expressions and their textures). - Saves about 25ms in reachability analysis (58ms -> 33ms) - UObject classes/instances can now be marked as cluster root objects with CanBeClusterRoot() function override. - Cluster creation is automatic. Clusters don't require any manual handling for GC to collect them when nothing is referencing them. - Moved token stream processing to a new class FFastReferenceFinder to make it more generic and re-usable by other code - Removed REFERENCE_INFO macro from GC code and replaced it with a local variable (saves about ~1.9ms: 33.2ms -> 31.3ms) Change 2773094 on 2015/11/19 by Steve.Robb@Dev-Core Multicast script delegate check for existing bindings replaced with ensure. Multicast native delegate no longer checks for existing bindings. Removal of old delegate code. Some FORCEINLINEing to improve debugging experience of stepping into delegate code. Change 2782180 on 2015/11/27 by Graeme.Thornton@GThornton_DesktopMaster Make scoped seconds timer class available outside of stats build. Normal usage macros still remain guarded Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE which only times during the outmost instance of a recursive function Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE_BASE and SCOPE_SECONDS_COUNTER_BASE which are defined in all build types, for easy temporary timing in Test/Shipping builds. Added a boolean parameter to the timer class which can be used to disable it without having to mess around with scoping the calling code Change 2782635 on 2015/11/30 by Graeme.Thornton@GThornton_DesktopMaster Added GetTimeStampPair() to the filemanager and platformfile interfaces. Requests timestamps for a pair of files where we assume that both files would always exist at the same wrapper level. Allows us to skip file system queries for localization package lookups where the native file is in a pak but the localized file doesn't exist. Change 2775153 on 2015/11/20 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec CrashReportServer moved out of the not for licencees, a few fixes, removed RegisterPII Change 2775560 on 2015/11/20 by Steve.Robb@Dev-Core FDelegateBase::GetDelegateInstance deprecated and replaced with FDelegateBase::GetDelegateInstanceProtected. Change 2781138 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Converted is using a new stats reader, a few more optimizations, should be 10x times faster Change 2772990 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Fixing potential dead lock when suspending and resuming async loading multiple times Change 2773023 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Support for references added through AddReferencedObjects in FArchiveReplaceObjectRef Change 2781055 on 2015/11/25 by Steve.Robb@Dev-Core Changes to IDelegateInstance reverted to allow licensees an easier time when upgrading their use of the now-deprecated GetDelegateInstance() code path. New TryGetBoundFunctionName() to aid the debugging of delegate bindings in non-shipping configs. Change 2773114 on 2015/11/19 by Steve.Robb@Dev-Core FMath::IsPowerOfTwo is now templated to take any type. Change 2773643 on 2015/11/19 by Steve.Robb@Dev-Core GetDelegateInstance() calls replaced - delegate instances never compare equal unless you are comparing two unbound delegates (both null) or comparing a delegate with itself. Change 2777686 on 2015/11/23 by Steve.Robb@Dev-Core GitHub #1793 - File write flags argument Change 2780590 on 2015/11/25 by Steve.Robb@Dev-Core Fix for FArchiveProxy::operator<< overloads. Change 2780845 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec #jira UE-23358 - MDD relies on hard-coded P4 depot paths (fixed source context for streams) Change 2780962 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Added FStatsWriteStream for basic saving stat messages into a stream, initial support for reading a regular stats file, minor performance optimization, coding standard fixes #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781887 on 2015/11/26 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler/ProfilerClient - Removed unneeded synchronization points, replaces with task graph SendTo jobs, removed PROFILER_THREADED_LOAD, replaced with new stats loading mechanism, should be around 2x times faster (4x since the optimization pass) #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781893 on 2015/11/26 by Steve.Robb@Dev-Core TCachedOSPageAllocator abstracted from MallocBinned2. Misc tidy-ups. Change 2782198 on 2015/11/27 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Better indication of the loading progress, should no longer freeze without a progress bar #jira UECORE-170 - Improve profiler loading performance (wip) Change 2782446 on 2015/11/29 by Steve.Robb@Dev-Core Warn when calling delegates' Create* functions when they're not assigned to anything. #codereview robert.manuszewski Change 2782538 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 #UE4 Removed DiskCachedAssetDataBuffer as it was not strictly necessary and was triggering a crash when loading the cached registry from disk. This data is now stored directly in DiskCachedAssetDataMap. It was already true that this map does not change outside of SerializeCache but now it is critical since NewCachedAssetDataMap keeps pointers directly to its values. Asset registry fixes by Bob Tellez. Possible fix for UE-23783. Change 2782564 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 FReferenceCollector::AddReferenceObjects performance improvements for TArrays. ARO will no longer call HandleObjectReference multiple times but instead will call HandleObjectReferences just once (currently only implemented for FGCCollector). Reduces the number of virtual function calls while GC'ing. Change 2782716 on 2015/11/30 by Steve.Robb@Dev-Core UObject serial number array initialized for debug visualization. Change 2782933 on 2015/11/30 by Steve.Robb@Dev-Core Critical sections are no longer copyable. Change 2783061 on 2015/11/30 by Steve.Robb@Dev-Core
2015-12-03 14:21:29 -05:00
for( auto It = ClientStatMetaData.GroupDescriptions.CreateConstIterator(); It; ++It )
{
const FStatGroupDescription& GroupDesc = It.Value();
InitializeGroup( GroupDesc.ID, GroupDesc.Name );
}
// Iterate through all stat descriptions.
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2783106 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Introduced GC UObject clusters. GC clusters provide means to create disregard for GC subsets at load time (e.g. Materials with material expressions and their textures). - Saves about 25ms in reachability analysis (58ms -> 33ms) - UObject classes/instances can now be marked as cluster root objects with CanBeClusterRoot() function override. - Cluster creation is automatic. Clusters don't require any manual handling for GC to collect them when nothing is referencing them. - Moved token stream processing to a new class FFastReferenceFinder to make it more generic and re-usable by other code - Removed REFERENCE_INFO macro from GC code and replaced it with a local variable (saves about ~1.9ms: 33.2ms -> 31.3ms) Change 2773094 on 2015/11/19 by Steve.Robb@Dev-Core Multicast script delegate check for existing bindings replaced with ensure. Multicast native delegate no longer checks for existing bindings. Removal of old delegate code. Some FORCEINLINEing to improve debugging experience of stepping into delegate code. Change 2782180 on 2015/11/27 by Graeme.Thornton@GThornton_DesktopMaster Make scoped seconds timer class available outside of stats build. Normal usage macros still remain guarded Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE which only times during the outmost instance of a recursive function Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE_BASE and SCOPE_SECONDS_COUNTER_BASE which are defined in all build types, for easy temporary timing in Test/Shipping builds. Added a boolean parameter to the timer class which can be used to disable it without having to mess around with scoping the calling code Change 2782635 on 2015/11/30 by Graeme.Thornton@GThornton_DesktopMaster Added GetTimeStampPair() to the filemanager and platformfile interfaces. Requests timestamps for a pair of files where we assume that both files would always exist at the same wrapper level. Allows us to skip file system queries for localization package lookups where the native file is in a pak but the localized file doesn't exist. Change 2775153 on 2015/11/20 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec CrashReportServer moved out of the not for licencees, a few fixes, removed RegisterPII Change 2775560 on 2015/11/20 by Steve.Robb@Dev-Core FDelegateBase::GetDelegateInstance deprecated and replaced with FDelegateBase::GetDelegateInstanceProtected. Change 2781138 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Converted is using a new stats reader, a few more optimizations, should be 10x times faster Change 2772990 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Fixing potential dead lock when suspending and resuming async loading multiple times Change 2773023 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Support for references added through AddReferencedObjects in FArchiveReplaceObjectRef Change 2781055 on 2015/11/25 by Steve.Robb@Dev-Core Changes to IDelegateInstance reverted to allow licensees an easier time when upgrading their use of the now-deprecated GetDelegateInstance() code path. New TryGetBoundFunctionName() to aid the debugging of delegate bindings in non-shipping configs. Change 2773114 on 2015/11/19 by Steve.Robb@Dev-Core FMath::IsPowerOfTwo is now templated to take any type. Change 2773643 on 2015/11/19 by Steve.Robb@Dev-Core GetDelegateInstance() calls replaced - delegate instances never compare equal unless you are comparing two unbound delegates (both null) or comparing a delegate with itself. Change 2777686 on 2015/11/23 by Steve.Robb@Dev-Core GitHub #1793 - File write flags argument Change 2780590 on 2015/11/25 by Steve.Robb@Dev-Core Fix for FArchiveProxy::operator<< overloads. Change 2780845 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec #jira UE-23358 - MDD relies on hard-coded P4 depot paths (fixed source context for streams) Change 2780962 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Added FStatsWriteStream for basic saving stat messages into a stream, initial support for reading a regular stats file, minor performance optimization, coding standard fixes #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781887 on 2015/11/26 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler/ProfilerClient - Removed unneeded synchronization points, replaces with task graph SendTo jobs, removed PROFILER_THREADED_LOAD, replaced with new stats loading mechanism, should be around 2x times faster (4x since the optimization pass) #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781893 on 2015/11/26 by Steve.Robb@Dev-Core TCachedOSPageAllocator abstracted from MallocBinned2. Misc tidy-ups. Change 2782198 on 2015/11/27 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Better indication of the loading progress, should no longer freeze without a progress bar #jira UECORE-170 - Improve profiler loading performance (wip) Change 2782446 on 2015/11/29 by Steve.Robb@Dev-Core Warn when calling delegates' Create* functions when they're not assigned to anything. #codereview robert.manuszewski Change 2782538 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 #UE4 Removed DiskCachedAssetDataBuffer as it was not strictly necessary and was triggering a crash when loading the cached registry from disk. This data is now stored directly in DiskCachedAssetDataMap. It was already true that this map does not change outside of SerializeCache but now it is critical since NewCachedAssetDataMap keeps pointers directly to its values. Asset registry fixes by Bob Tellez. Possible fix for UE-23783. Change 2782564 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 FReferenceCollector::AddReferenceObjects performance improvements for TArrays. ARO will no longer call HandleObjectReference multiple times but instead will call HandleObjectReferences just once (currently only implemented for FGCCollector). Reduces the number of virtual function calls while GC'ing. Change 2782716 on 2015/11/30 by Steve.Robb@Dev-Core UObject serial number array initialized for debug visualization. Change 2782933 on 2015/11/30 by Steve.Robb@Dev-Core Critical sections are no longer copyable. Change 2783061 on 2015/11/30 by Steve.Robb@Dev-Core
2015-12-03 14:21:29 -05:00
for( auto It = ClientStatMetaData.StatDescriptions.CreateConstIterator(); It; ++It )
{
const FStatDescription& StatDesc = It.Value();
InitializeStat( StatDesc.ID, StatDesc.GroupID, StatDesc.Name, (EStatType)StatDesc.StatType );
}
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2783106 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Introduced GC UObject clusters. GC clusters provide means to create disregard for GC subsets at load time (e.g. Materials with material expressions and their textures). - Saves about 25ms in reachability analysis (58ms -> 33ms) - UObject classes/instances can now be marked as cluster root objects with CanBeClusterRoot() function override. - Cluster creation is automatic. Clusters don't require any manual handling for GC to collect them when nothing is referencing them. - Moved token stream processing to a new class FFastReferenceFinder to make it more generic and re-usable by other code - Removed REFERENCE_INFO macro from GC code and replaced it with a local variable (saves about ~1.9ms: 33.2ms -> 31.3ms) Change 2773094 on 2015/11/19 by Steve.Robb@Dev-Core Multicast script delegate check for existing bindings replaced with ensure. Multicast native delegate no longer checks for existing bindings. Removal of old delegate code. Some FORCEINLINEing to improve debugging experience of stepping into delegate code. Change 2782180 on 2015/11/27 by Graeme.Thornton@GThornton_DesktopMaster Make scoped seconds timer class available outside of stats build. Normal usage macros still remain guarded Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE which only times during the outmost instance of a recursive function Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE_BASE and SCOPE_SECONDS_COUNTER_BASE which are defined in all build types, for easy temporary timing in Test/Shipping builds. Added a boolean parameter to the timer class which can be used to disable it without having to mess around with scoping the calling code Change 2782635 on 2015/11/30 by Graeme.Thornton@GThornton_DesktopMaster Added GetTimeStampPair() to the filemanager and platformfile interfaces. Requests timestamps for a pair of files where we assume that both files would always exist at the same wrapper level. Allows us to skip file system queries for localization package lookups where the native file is in a pak but the localized file doesn't exist. Change 2775153 on 2015/11/20 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec CrashReportServer moved out of the not for licencees, a few fixes, removed RegisterPII Change 2775560 on 2015/11/20 by Steve.Robb@Dev-Core FDelegateBase::GetDelegateInstance deprecated and replaced with FDelegateBase::GetDelegateInstanceProtected. Change 2781138 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Converted is using a new stats reader, a few more optimizations, should be 10x times faster Change 2772990 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Fixing potential dead lock when suspending and resuming async loading multiple times Change 2773023 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Support for references added through AddReferencedObjects in FArchiveReplaceObjectRef Change 2781055 on 2015/11/25 by Steve.Robb@Dev-Core Changes to IDelegateInstance reverted to allow licensees an easier time when upgrading their use of the now-deprecated GetDelegateInstance() code path. New TryGetBoundFunctionName() to aid the debugging of delegate bindings in non-shipping configs. Change 2773114 on 2015/11/19 by Steve.Robb@Dev-Core FMath::IsPowerOfTwo is now templated to take any type. Change 2773643 on 2015/11/19 by Steve.Robb@Dev-Core GetDelegateInstance() calls replaced - delegate instances never compare equal unless you are comparing two unbound delegates (both null) or comparing a delegate with itself. Change 2777686 on 2015/11/23 by Steve.Robb@Dev-Core GitHub #1793 - File write flags argument Change 2780590 on 2015/11/25 by Steve.Robb@Dev-Core Fix for FArchiveProxy::operator<< overloads. Change 2780845 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec #jira UE-23358 - MDD relies on hard-coded P4 depot paths (fixed source context for streams) Change 2780962 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Stats - Added FStatsWriteStream for basic saving stat messages into a stream, initial support for reading a regular stats file, minor performance optimization, coding standard fixes #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781887 on 2015/11/26 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler/ProfilerClient - Removed unneeded synchronization points, replaces with task graph SendTo jobs, removed PROFILER_THREADED_LOAD, replaced with new stats loading mechanism, should be around 2x times faster (4x since the optimization pass) #jira UECORE-170 - Improve profiler loading performance (wip) Change 2781893 on 2015/11/26 by Steve.Robb@Dev-Core TCachedOSPageAllocator abstracted from MallocBinned2. Misc tidy-ups. Change 2782198 on 2015/11/27 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec Profiler - Better indication of the loading progress, should no longer freeze without a progress bar #jira UECORE-170 - Improve profiler loading performance (wip) Change 2782446 on 2015/11/29 by Steve.Robb@Dev-Core Warn when calling delegates' Create* functions when they're not assigned to anything. #codereview robert.manuszewski Change 2782538 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 #UE4 Removed DiskCachedAssetDataBuffer as it was not strictly necessary and was triggering a crash when loading the cached registry from disk. This data is now stored directly in DiskCachedAssetDataMap. It was already true that this map does not change outside of SerializeCache but now it is critical since NewCachedAssetDataMap keeps pointers directly to its values. Asset registry fixes by Bob Tellez. Possible fix for UE-23783. Change 2782564 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 FReferenceCollector::AddReferenceObjects performance improvements for TArrays. ARO will no longer call HandleObjectReference multiple times but instead will call HandleObjectReferences just once (currently only implemented for FGCCollector). Reduces the number of virtual function calls while GC'ing. Change 2782716 on 2015/11/30 by Steve.Robb@Dev-Core UObject serial number array initialized for debug visualization. Change 2782933 on 2015/11/30 by Steve.Robb@Dev-Core Critical sections are no longer copyable. Change 2783061 on 2015/11/30 by Steve.Robb@Dev-Core
2015-12-03 14:21:29 -05:00
SecondsPerCycle = ClientStatMetaData.SecondsPerCycle;
}
void FProfilerStatMetaData::UpdateFromStatsState( const FStatsThreadState& StatsThreadStats )
{
TMap<FName, int32> GroupFNameIDs;
for( auto It = StatsThreadStats.Threads.CreateConstIterator(); It; ++It )
{
ThreadDescriptions.Add( It.Key(), It.Value().ToString() );
}
const uint32 NoGroupID = 0;
const uint32 ThreadGroupID = 1;
// Special groups.
InitializeGroup( NoGroupID, "NoGroup" );
// Self must be 0.
InitializeStat( 0, NoGroupID, TEXT( "Self" ), STATTYPE_CycleCounter );
// ThreadRoot must be 1.
InitializeStat( 1, NoGroupID, FStatConstants::NAME_ThreadRoot.GetPlainNameString(), STATTYPE_CycleCounter, FStatConstants::NAME_ThreadRoot );
int32 UniqueID = 15;
TArray<FName> GroupFNames;
StatsThreadStats.Groups.MultiFind( NAME_Groups, GroupFNames );
for( const auto& GroupFName : GroupFNames )
{
UniqueID++;
InitializeGroup( UniqueID, GroupFName.ToString() );
GroupFNameIDs.Add( GroupFName, UniqueID );
}
for( auto It = StatsThreadStats.ShortNameToLongName.CreateConstIterator(); It; ++It )
{
const FStatMessage& LongName = It.Value();
const FName GroupName = LongName.NameAndInfo.GetGroupName();
if( GroupName == NAME_Groups )
{
continue;
}
const int32 GroupID = GroupFNameIDs.FindChecked( GroupName );
const FName StatName = It.Key();
UniqueID++;
EStatType StatType = STATTYPE_Error;
if( LongName.NameAndInfo.GetField<EStatDataType>() == EStatDataType::ST_int64 )
{
if( LongName.NameAndInfo.GetFlag( EStatMetaFlags::IsCycle ) )
{
StatType = STATTYPE_CycleCounter;
}
else if( LongName.NameAndInfo.GetFlag( EStatMetaFlags::IsMemory ) )
{
StatType = STATTYPE_MemoryCounter;
}
else
{
StatType = STATTYPE_AccumulatorDWORD;
}
}
else if( LongName.NameAndInfo.GetField<EStatDataType>() == EStatDataType::ST_double )
{
StatType = STATTYPE_AccumulatorFLOAT;
}
else if( LongName.NameAndInfo.GetField<EStatDataType>() == EStatDataType::ST_Ptr )
{
// Not supported at this moment.
continue;
}
check( StatType != STATTYPE_Error );
int32 StatID = UniqueID;
// Some hackery.
if( StatName == TEXT( "STAT_FrameTime" ) )
{
StatID = 2;
}
Simple and Group Stat Exec commands can now be triggered from the level viewport Show menu directly. #ttp 306334 - ROCKET: TASK: PUNTABLE: Stats: FN: Make diagnostic stats discoverable and available in the UI (don't require console to toggle) #branch UE4 #change DECLARE_STATS_GROUP û Added additional param GroupCategory, for subfolder use in the UI. Fixedup all Stats Group usage so the category is now propagated through where it needs to be. Currently all Group stats have the Category æAdvancedÆ, and all engine stats have the Category æSimpleÆ û this is just to differentiate them for now, better categories will come along in future. Modified FindOrAddMetaData as it now broadcasts a delegate (via a TaskGraph) whenever a new stat meta data is added û this was needed as not all the stat groups are æregisteredÆ when the level viewports are created (they are drip loaded), so the viewports need to listen for any additions thereafter... GroupDescription is displayed as a tooltip in the UI for the stat entry and we may want to localize these. RenderStats & RenderGroupedWithHierarchy: Modified so that it now takes the viewport that it should render to as a param (which is also used to determine if each stat should be visible). Removed StatsEnabled delegate in favour of StatCheckEnabled, StatEnabled, StatDisabled, StatDisableAll for more finite usage and feedback when toggling them. Modified FHUDGroupManager HandleCommand It now uses the new delegates to work out whether it needs to enable or disable for the current viewport, so itÆs more involved than a simple toggle, itÆs more ôis the stat enabled for the current viewport, and is it enabled for any viewportö delegate querying so it can react accordingly. Added struct FSimpleStatFuncs: Which contains info on each æSimple StatÆ such as; name, category, description, renderfunc, togglefunc and the side of the viewport it should be rendered to ExecSimpleStat û Calls Exec for a registered Simple Stat, ensuring the correct viewport is set IsSimpleStat û Checks to see if a stat is a registered Simple Stat or not SetSimpleStat û Sets the state of a specified Simple Stats SetSimpleStats - Sets the state of the specified Simple Stats RenderSimpleStats û Renders the Simple Stats if they are enabled, and have Render functions assigned. Each Exec function had the code it executes which itÆs toggled and rendered into functions Added FStatUnitData & FStatHitchesData: Moved all the globals/static variables used when enabling Stat Unit/Hitches into a struct as itÆs now used by multiple viewports and they needed their own copies. Also moved their draw functions here too. FSceneViewport: SwapStatCommands û Exchanges the enabled stats between two viewports, this is so when PIEing the stats which were enabled on the Level Viewport (if playing in active viewport only) get transposed to the Game Viewport, and then restored when PIE ends. SEditorViewport: ToggleStatCommand û Called when a stat is enabled/disabled from the UI IsStatCommandVisible û Checks to see if a stat command should appear as visible in the UI SEditorViewportViewMenu: GenerateViewMenuContent û Made protected and virtual so it could be called externally. FLevelViewportCommands: Added the code needed to generate commands for each of the Stat menu entries, however because not all stats are registered when this happens, it also creates some delegates to listen out for others that are registered later Destructor û Needed to reset delegates HandleNewGroupStat û Creates the new group stat commands HandleNewStat û Creates the new stat command FindStatIndex û Looks for where a stat should be inserted in the menu in order to maintain alphabetical order SLevelViewport: Modified the code so that the states of all the SimpleStats are saved so they can be restored next time the editor is ran (previously just handled FPS). OnFloatingButtonClicked û Called whenever any of the level viewports floating buttons are clicked in order to correctly set the ælastÆ viewport global OnToggleAllStatCommands û Called when the user selects æHide AllÆ from the viewport. ToggleStatCommand û Called when the user selects any other stat option from the viewport. BindStatCommand û Used to bind the menu action to the command name (used by delegate) Added SLevelEditorViewportViewMenu (extends SEditorViewportViewMenu), and overrode GenerateViewMenuContent so that OnFloatingButtonClicked can be called whenever the menu is clicked on. This is also called during GenerateOptionsMenu, GenerateCameraMenu, GenerateShowMenu & OnToggleMaximize Added global ptr GStatProcessingViewportClient (sim to Current, Last) used to keep track of which viewport the stat should be applied too (only valid within the scope of the Exec call). FViewportClient: Moved global ESoundShowFlags enum list into this class. FCommonViewportClient: Destructor û Needed to reset GStatProcessingViewportClient FLevelEditorViewportClient SetCurrentViewport û moved code responsible for setting the global æcurrentÆ viewport ptr into a func SetLastKeyViewport û moved the code responsible for settings the global ælastÆ viewport ptr into a func UGameViewportClient: Destructor û Needed to cleanup delegate usage. FViewportClient & FLevelEditorViewportClient & UGameViewportClient* GetStatUnitData û The viewports copy of the variables needed when running the Stat Unit Exec GetStatHitchesData û The viewports copy of the variables needed when running the Stat Hitches Exec GetEnabledStats û Gets a list of all the stats which are enabled for the viewport SetEnabledStats û Sets a list of all the stats which should be enabled for the viewport IsStatEnabled û Checks to see if a specific stat is enabled for the viewport SetStatEnabled û Sets a specifics stats state to enabled or disabled GetSoundShowFlags û Gets which flags are enabled for the Stat Sounds Exec SetSoundShowFlags û Sets which flags are enabled for the Stat Sounds Exec HandleViewportStatCheckEnabled (delegate) û checks to see if a specific stat is enabled on this viewport HandleViewportStatEnabled (delegate) û enables a specific stat for the viewport HandleViewportStatDisabled (delegate) û disables a specific stat for the viewport HandleViewportStatDisableAll (delegate) û disables all stats for the viewport *FViewportClient has dummy virtual funcs and LevelEditor/Game both have the same implementations, the only differences is the GameViewports member variables are static so that the stat info persists between runs. FLevelEditorViewportInstanceSettings deprecated bShowFPS in favour of an EnabledStats array (so we can track the state of all stats, not just FPS). Added new config var bSaveSimpleStats: if enabled, restores previously enabled level viewport simple stats the next time the editor runs (defaults to false). Modified FillShowFlagMenu so that thereÆs just one func and you specify where (if any) youÆd like a separator to occur. Added FillShowStatsSubMenus so that menus can be generated which have submenus Added the Stats sub menu to the View menu Modified Execs so that the GStatProcessingViewportClient is set to the correct default viewport (if it wasnÆt specified), and clears again after itÆs been processed HandleStatCommand now takes World and ViewportClient as params too û needed when Execs enabled other Execs so the world/viewport persists. SetAverageUnitTimes û Added as a Setter func for GetAverageUnitTimes (moved code out of Stat Unit renderer and modified so that it only updates once per frame). Stripped out all unneeded globals [CL 2058522 by Andrew Brown in Main branch]
2014-04-29 04:04:27 -04:00
const FString Description = LongName.NameAndInfo.GetDescription();
const FString StatDesc = !Description.IsEmpty() ? Description : StatName.ToString();
InitializeStat( StatID, GroupID, StatDesc, StatType, StatName );
// Setup thread id to stat id.
if( GroupName == FStatConstants::NAME_ThreadGroup )
{
uint32 ThreadID = 0;
for( auto ThreadsIt = StatsThreadStats.Threads.CreateConstIterator(); ThreadsIt; ++ThreadsIt )
{
if (ThreadsIt.Value() == StatName)
{
ThreadID = ThreadsIt.Key();
break;
}
}
ThreadIDtoStatID.Add( ThreadID, StatID );
// Game thread is always NAME_GameThread
if( StatName == NAME_GameThread )
{
GameThreadID = ThreadID;
}
// Rendering thread may be "Rendering thread" or NAME_RenderThread with an index
else if( StatName.GetPlainNameString().Contains( FName(NAME_RenderThread).GetPlainNameString() ) )
{
RenderThreadIDs.AddUnique( ThreadID );
}
else if( StatName.GetPlainNameString().Contains( TEXT( "RenderingThread" ) ) )
{
RenderThreadIDs.AddUnique( ThreadID );
}
}
}
}
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
/*-----------------------------------------------------------------------------
FProfilerAggregatedStat
-----------------------------------------------------------------------------*/
FProfilerAggregatedStat::FProfilerAggregatedStat( const FName& InStatName, const FName& InGroupName, EProfilerSampleTypes::Type InStatType ) : _StatName( InStatName )
, _GroupName( InGroupName )
, _ValueOneFrame( 0.0f )
, _ValueAllFrames( 0.0f )
, _MinValueAllFrames( FLT_MAX )
, _MaxValueAllFrames( FLT_MIN )
, _NumCallsAllFrames( 0 )
, _NumCallsOneFrame( 0 )
, _MinNumCallsAllFrames( MAX_uint32 )
, _MaxNumCallsAllFrames( 0 )
, _NumFrames( 0 )
, _NumFramesWithCall( 0 )
, StatType( InStatType )
{
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
}
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
FString FProfilerAggregatedStat::ToString() const
{
FString FormattedValueStr;
if (StatType == EProfilerSampleTypes::HierarchicalTime)
{
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
FormattedValueStr = FString::Printf( TEXT( "{Value Min:%.3f Avg:%.3f Max:%.3f (MS) / Calls (%.1f%%) Min:%.1f Avg:%.1f Max:%.1f}" ),
MinValue(), AvgValue(), MaxValue(),
FramesWithCallPct(), MinNumCalls(), AvgNumCalls(), MaxNumCalls() );
}
else if (StatType == EProfilerSampleTypes::Memory)
{
FormattedValueStr = FString::Printf( TEXT( "{Min:%.2f Avg:%.2f Max:%.2f (KB)}" ), MinValue(), AvgValue(), MaxValue() );
}
else if (StatType == EProfilerSampleTypes::NumberInt)
{
FormattedValueStr = FString::Printf( TEXT( "{Min:%.2f Avg:%.2f Max:%.2f}" ), MinValue(), AvgValue(), MaxValue() );
}
else if (StatType == EProfilerSampleTypes::NumberFloat)
{
FormattedValueStr = FString::Printf( TEXT( "{Min:%.2f Avg:%.2f Max:%.2f}" ), MinValue(), AvgValue(), MaxValue() );
}
else
{
check( 0 );
}
return FormattedValueStr;
}
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
FString FProfilerAggregatedStat::GetFormattedValue( const Type ValueType ) const
{
check( ValueType < Type::EInvalidOrMax );
const double ValueArray[Type::EInvalidOrMax] =
{
AvgValue(),
MinValue(),
MaxValue(),
AvgNumCalls(),
MinNumCalls(),
MaxNumCalls(),
FramesWithCallPct(),
};
FString FormatValueStr;
if (StatType == EProfilerSampleTypes::HierarchicalTime)
{
if (ValueType == EMinValue || ValueType == EAvgValue || ValueType == EMaxValue)
{
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
FormatValueStr = FString::Printf( TEXT( "%.3f (MS)" ), ValueArray[ValueType] );
}
else if (ValueType == EFramesWithCallPct)
{
FormatValueStr = FString::Printf( TEXT( "%.1f%%" ), ValueArray[EFramesWithCallPct] );
}
else
{
FormatValueStr = FString::Printf( TEXT( "%.1f" ), ValueArray[ValueType] );
}
}
else if (StatType == EProfilerSampleTypes::Memory)
{
FormatValueStr = FString::Printf( TEXT( "%.2f (KB)" ), ValueArray[ValueType] );
}
else if (StatType == EProfilerSampleTypes::NumberInt)
{
FormatValueStr = FString::Printf( TEXT( "%.2f" ), ValueArray[ValueType] );
}
else if (StatType == EProfilerSampleTypes::NumberFloat)
{
FormatValueStr = FString::Printf( TEXT( "%.2f" ), ValueArray[ValueType] );
}
else
{
check( 0 );
}
return FormatValueStr;
}
void FProfilerAggregatedStat::Advance()
{
_NumFrames++;
_NumCallsAllFrames += _NumCallsOneFrame;
_ValueAllFrames += _ValueOneFrame;
// Calculate new extreme values.
if (StatType == EProfilerSampleTypes::HierarchicalTime)
{
// Update the extreme values only if this stat has been called at least once.
if (_NumCallsOneFrame > 0)
{
_NumFramesWithCall++;
}
{
_MinValueAllFrames = FMath::Min<double>( _MinValueAllFrames, _ValueOneFrame );
_MaxValueAllFrames = FMath::Max<double>( _MaxValueAllFrames, _ValueOneFrame );
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
_MinNumCallsAllFrames = FMath::Min<uint32>( _MinNumCallsAllFrames, _NumCallsOneFrame );
_MaxNumCallsAllFrames = FMath::Max<uint32>( _MaxNumCallsAllFrames, _NumCallsOneFrame );
}
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
}
else
{
_MinValueAllFrames = FMath::Min<double>( _MinValueAllFrames, _ValueOneFrame );
_MaxValueAllFrames = FMath::Max<double>( _MaxValueAllFrames, _ValueOneFrame );
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
}
_ValueOneFrame = 0.0f;
_NumCallsOneFrame = 0;
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3178529) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3149443 on 2016/10/03 by Max.Preussner MediaAssets: Better parameter names for MediaPlayer BP functions Change 3149756 on 2016/10/03 by Max.Chen Sequence Recorder: Set some settings to be clamped at 0 (sequence length, recording delay, audio gain, audio input buffer size, nearby actor recording proximity) #jira UE-35233 Change 3149795 on 2016/10/03 by Max.Chen Curve Editor: Set tangent to user when flattening or straightening tangents only when the tangent mode is auto and the interp mode is cubic. #jira UE-36734 Change 3150378 on 2016/10/04 by Max.Preussner PS4Media: Made video buffer sizes for file and HLS sources configurable (UE-36807) #jira UE-36807 Change 3151414 on 2016/10/05 by Max.Chen Sequencer: Fix case where restoring the last view target was getting skipped. It should always restore if the camera object and the unlock if camera actor object is null. #jira UE-35285 Change 3152038 on 2016/10/05 by Max.Preussner UdpMessaging: Code & documentation modernization pass Change 3152471 on 2016/10/05 by Max.Chen Cine Camera: Don't enable/disable actor ticking based soley on actor tracking since actor ticking is needed for other purposes. Instead, always enable actor ticking and only update actor tracking on tick if necessary. This fixes a bug where the cine camera actor won't tick if you hook in event tick. #jira UE-36625 Change 3152692 on 2016/10/05 by Max.Preussner Messaging: API code & documentation modernization pass Mostly removed shared pointer/ref typedefs as they prevent forward declarations and increase include complexity. Change 3153824 on 2016/10/06 by Max.Preussner Messaging: Renamed IConnectionBasedMessagingModule to ITcpMessagingModule and moved it into TcpMessaging I recommend that we refactor this API. The dependency should be reversed, i.e. instead of AndroidDeviceDiscovery depending on the TcpMessaging plug-in module, the Engine should provide a central registry that device discovery modules can notify, and that message transport plug-ins can register with and listen to OnConnectionAdded/Removed events etc. That way it supports an arbitrary number of transport plug-ins, and the Engine is not coupled to any of them. This functionality is not necessarily related to messaging, and the Messaging API is transport agnostic anyway. I'll think about this some more. Change 3153826 on 2016/10/06 by Max.Preussner Messaging: Removed remaining typedefs in IMessageTracer to enable forward declaration and reduce include dependencies Change 3153857 on 2016/10/06 by Max.Chen Sequencer: Set snap time to dragged key on by default. Change 3153980 on 2016/10/06 by Max.Preussner SessionServices: Removed typedefs; code and documentation modernization pass Change 3154313 on 2016/10/06 by Max.Chen Sequencer: Set the paste keys time to the current time, rather than the mouse time. Change 3154332 on 2016/10/06 by Max.Chen Sequencer: Remove click to rename shot functionality in the shot thumbnail. Added rename shot to the shot context menu. Change 3154377 on 2016/10/07 by Max.Chen Sequencer: Add ability to step to beginning and ends of sections/shots using the hotkeys: , and . Change 3154788 on 2016/10/07 by Max.Chen Sequencer: Fix offsets that created when moving multiple sections. The offsets were being created because section bounds were being generated for all sections except for the current section. Instead, they should be computed for all sections except for any that aren't being moved. #jira UE-29152 Change 3159274 on 2016/10/11 by Max.Preussner Core: Documentation fixes Change 3159275 on 2016/10/11 by Max.Preussner UdpMessaging: Added missing header Change 3160746 on 2016/10/12 by Max.Preussner MediaAssets: Added BP functions to query width, height, and aspect ratio of UMediaTexture instances #jira UE-37241 Change 3160975 on 2016/10/12 by Max.Preussner PS4Media: Better logging for SetRate failures Change 3160995 on 2016/10/12 by Max.Preussner MediaPlayerEditor: Fixed Media player selection is ignored if media specifies player overrides (UE-37248) #jira UE-37248 Change 3161066 on 2016/10/12 by Max.Preussner PS4Media: Enforcing minimum 8 byte alignment for media allocations Change 3161069 on 2016/10/12 by Max.Preussner PS4Media: Fixed log spam when setting play rate to current rate Change 3162567 on 2016/10/13 by Max.Preussner PS4Media: Made track switching code more readable Change 3163447 on 2016/10/14 by Max.Preussner PS4Media: Fixed array out of bounds assertions Change 3163772 on 2016/10/14 by Max.Preussner MfMedia: Fixed a number of timing related issues Change 3163980 on 2016/10/15 by Max.Chen Sequencer: Remove folder name numeric padding so that the naming convention is similar to creating objects in the level. Change 3164581 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure global pre-animated state is restored in reverse order Change 3164582 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure pre animated state is restored for all actor components before saving default state Change 3164583 on 2016/10/17 by Andrew.Rodham Sequencer: Re-enabled support for pre and post roll Change 3165464 on 2016/10/17 by Max.Chen Sequencer: Default number frame handles to 0 so that there's no change in behavior when rendering out a master sequence of shots. Handle frames need to enabled explicitly by the user. Copy from Release-4.14 #jira UE-37416 Change 3165483 on 2016/10/17 by Max.Chen Sequencer: Enable restore state for attach section completion Change 3165771 on 2016/10/18 by Andrew.Rodham Sequencer: Force evaluate when rendering thumbnails #jira UE-37321 Change 3166057 on 2016/10/18 by Andrew.Rodham Sequencer: Only set defaults for tracks that have no keys, and where the requested default has changed #jira UE-37285 Change 3166218 on 2016/10/18 by Max.Preussner MediaPlayerEditor: Failure opening media, even though it opened successfully (UE-37470) #jira UE-37470 Change 3166247 on 2016/10/18 by Max.Preussner WmfMedia: Showing progress bar while media is being resolved Change 3166289 on 2016/10/18 by Max.Preussner MfMedia: Showing progress bar while media is being resolved Change 3166993 on 2016/10/18 by Max.Preussner MfMedia: Fixed info string not reset on media close. Change 3166999 on 2016/10/19 by Max.Preussner Media: Fixed NV12 and NV21 support Change 3167008 on 2016/10/19 by Max.Preussner Media: Removed vertical NV12 alignment Change 3167029 on 2016/10/19 by Max.Preussner WmfMedia: Temp fix for RGB32 encoded AVIs rendering upside-down and too bright (UE-37505) #jira UE-37505 Change 3168593 on 2016/10/19 by Max.Chen Sequencer: Change paste at time to local time, so that the paste happens in the local time of the sequence rather than the global time if pasting in a shot level sequence. Change 3168626 on 2016/10/19 by Max.Chen Sequencer: Clamp to view bounds should snap to frame if frame snapping is on. Change 3168627 on 2016/10/19 by Max.Chen Sequencer: Initialize working and view range to be 10% larger than playback range. Change 3168760 on 2016/10/20 by Max.Preussner Media: Revamped media texture buffer management to support padded frames Added support for Windows bitmap buffers. Fixed a number of format, conversion and/or looping issues in WmfMedia and MfMedia. Not all shaders have been updated yet. Change 3169640 on 2016/10/20 by Max.Chen Sequencer: Add current camera to FLevelSequencePlayerSnapshot. Adjust DefaultBurnIn to include a few more parameters like focal length and focus distance. #jira UE-37407 Change 3170677 on 2016/10/21 by Max.Chen Movie Scene Capture: Add toggle to override engine scalability settings to cinematic scalability. #jira UE-36560 Change 3170710 on 2016/10/21 by Max.Preussner Media: Optimized handling of RGB input Change 3170712 on 2016/10/21 by Max.Preussner Media: Fixed NV21 conversion shader scaling Change 3170923 on 2016/10/21 by Max.Preussner UBT: Copied XboxOne project generator fix from Fortnite CL# 3170868 Change 3171494 on 2016/10/23 by Max.Chen Sequencer: Fix fbx export from master sequence not finding bound objects. #jira UE-35752 Change 3171506 on 2016/10/23 by Max.Chen Sequencer: Draw where in and out points of the shot section are, just like subsequences do. Change to only draw the green starting line if StartOffset is negative. #jira UE-35473 Change 3171743 on 2016/10/24 by Andrew.Rodham Editor: Added support for detail customizations on root structs - Also added the ability to add external struct data onto a detail category builder, and property type customization. Change 3171752 on 2016/10/24 by Andrew.Rodham Sequencer: Fixed spawnable ownership - Spawnables are no longer destroyed when the cursor leaves the master playback range. - Spawnable ownership now operates as it previously did before the evaluation rework. - bIgnoreOwnershipInEditor has been removed since its existence was a work around for when we didn't evaluate sub sequences from the master sequence. - FMovieSceneSequenceID is now a struct so that it can be used in array properties - Meta data now exists for each segment of an evaluation field. Currently this only includes the sub sequence IDs that exist at that time, but it may be expanded to include all evaluation entities (tracks + sections) in future so we don't have to calculate that at runtime. Change 3171756 on 2016/10/24 by Andrew.Rodham Sequencer: Added ability to trigger events with parameters - It's now possible to supply an event payload on event track keys which are to be passed to a given event. The structure must match the signature of the event, or a warning will be emitted. - Added a templated TGenericKeyArea, TKeyFrameManipulator and TCurveInterface that allow to generic manipulation of keyframe section data. In time we will port the other key areas over to this representation. - This new architecture affords the common manipulation of time-based keyframes in a value-agnostic manner. Change 3172935 on 2016/10/24 by Max.Preussner MediaPlayerEditor: Fixed MediaPlayer asset not being dirtied when creating media sound wave or texture for it Change 3173947 on 2016/10/25 by Max.Preussner SlateRemote: Disabled plug-in, but enabled server by default Change 3174510 on 2016/10/26 by Max.Chen Sequencer: Fix slomo track crash #jira UE-37802 Change 3174698 on 2016/10/26 by Andrew.Rodham UMG: Fixed objects bound to a panel slot animating their slot's content instead of the slot itself #jira UE-37775 Change 3174780 on 2016/10/26 by Max.Preussner MediaAssets: Accepting decoder defined buffer dimensions for RGB buffers Change 3174789 on 2016/10/26 by Max.Preussner MediaPlayerEditor: Showing desired player name instead of current player name if no media loaded Change 3174817 on 2016/10/26 by Max.Preussner WmfMedia: Added support for Motion JPEG (MJPG) Change 3174825 on 2016/10/26 by Max.Preussner WmfMedia: Added support for non-RGB32 uncompressed formats Change 3174834 on 2016/10/26 by Max.Preussner MediaPlayerAssets: Allow pausing while buffering media Change 3174886 on 2016/10/26 by Andrew.Rodham Core: Fixed range test that was testing incorrect behavior Change 3174889 on 2016/10/26 by Andrew.Rodham Sequencer: Fixed AssignActor behavior - Also ensure that cached object state is invalidated when playback context changes #jira UE-37798 Change 3174905 on 2016/10/26 by Andrew.Rodham Sequencer: Changed assert when failing to create an audio component to a log message - Audio no longer plays when GEngine->UseSound() is false #jira UE-37772 Change 3174980 on 2016/10/26 by Andrew.Rodham Sequencer: Remove warning when event endpoint could not be found for a given context #jira UE-37824 Change 3175001 on 2016/10/26 by Andrew.Rodham Sequencer: Evaluate sequence with EMovieScenePlaybackStatus::Jumping on Pause. - Also protect Pause() against reentrancy when being called from an event Change 3175012 on 2016/10/26 by Max.Chen Sequence Recorder: Fixes an empty working and view range after recording. On StopRecording() update playback range after nullifying the current sequence so that the playback range isn't empty. Added SetViewRange and SetWorkingRange. #jira UE-34191 Change 3177760 on 2016/10/28 by Max.Chen Sequence Recorder: Don't update the current sequence name if it's already set. This fixes a bug where if you pass in a sequence name to record to, it gets reset to the name in the sequence recorder settings. #jira UE-37808 Change 3178529 on 2016/10/28 by Max.Chen Matinee to Level Sequence: Added interface to extend the matinee to level sequence converter #jira UE-37328 #2864 [CL 3178562 by Max Chen in Main branch]
2016-10-28 15:04:38 -04:00
void FProfilerAggregatedStat::Aggregate(const FProfilerSample& Sample, const TSharedRef<FProfilerStatMetaData>& Metadata)
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
{
double TypedValue = 0.0;
// Determine whether to we are reading a time hierarchical sample or not.
if (Sample.Type() == EProfilerSampleTypes::HierarchicalTime)
{
TypedValue = Metadata->ConvertCyclesToMS( Sample.GetDurationCycles() );
_NumCallsOneFrame += Sample.GetCallCount();
}
else
{
TypedValue = Sample.GetDoubleValue();
if (Sample.Type() == EProfilerSampleTypes::Memory)
{
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
// @TODO: Remove later
TypedValue *= 1.0f / 1024.0f;
}
}
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
_ValueOneFrame += TypedValue;
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
}
#endif // STATS