- With 'r.UseAsyncShaderPrecompilation' enabled shader precompilation is now executed on the render thread alongside the predraw, not as a single operation on loading the binary cache.
- The setting 'r.TargetPrecompileFrameTime' controls what the target frame rate should be when performing async. precompile and the shader cache will try and adjust how many shaders to precompile to stay within this limit, with a minimum of 1 shader per frame.
- The shader cache is now updated during initial loading to take advantage of the time spent loading essential data to do as much of the precompile as possible.
- It is possible to accelerate the shader cache's precompilation by specifying 'r.AccelPredrawBatchTime' and 'r.AccelTargetPrecompileFrameTime' to larger values, then calling FShaderCache::BeginAcceleratedBatching() to start using the more aggressive values and FShaderCache::EndAcceleratedBatching() to go back to the normal values.
- Calling FShaderCache::FlushOutstandingBatches() will force completion of all outstanding batched precompilation and predraws during the next frame.
[CL 2706016 by Mark Satterthwaite in Main branch]
- All movie scene capture responsiblities are now encapsulated inside the MovieSceneCapture module. Corresponding logic has been moved out of engine classes.
- Fixed time-step capture is fullly supported on PC and mac, real-time capture is still experimental.
- Matinee now goes through the same MovieSceneCapture module logic as actor animations
- AVIWriter can now be instantiated (used to be a single static w/ globals) to give greater control of capturing.
- This mostly addresses UETOOL-446
[CL 2700384 by Andrew Rodham in Main branch]
#UE4 Added the initial revision of the slate null renderer. When using -nullrhi, this renderer is used instead of SlateRHIRenderer.
#rb Matt.Kuhlenschmidt
#codereview Matt.Kuhlenschmidt
--------
Integrated using branch Ue4-To-UE4-Fortnite-Simple (reversed) of change#2692587 by Bob.Tellez on 2015/09/15 18:41:09.
[CL 2692588 by Bob Tellez in Main branch]
Changing GetUObjectArray() -> GUObjectArray to avoid redundant function calls in places like weak pointers/GC/object iterators
[CL 2686461 by Robert Manuszewski in Main branch]
- New filter flags in automationtest.h
- Compile time errors if proper flags are not specified
- Existing tests converted to new flags
- New "disabled" flag
- Filter dropdown in automation UI replaces Smoke Tests button
- Automation features are no longer compiled out in Test configuration at runtime (except in Shipping)
- Enabled automation tests to be triggered from in-game console in non-editor builds (automation controller is enabled)
NOTE: This will force licensees who use automation to update their tests.
#codereview: jason.bestimt, mike.fricker, ben.salem
[CL 2672561 by Adric Worley in Main branch]