You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
Major fix is to ensure use of a consistent GFrameCounter value in animation and rendering with the rest of the frame, by moving increment of this value until after the OnEndFrame delegate, where MRQ rendering occurs. CSV stat generation end frame call is moved after the GFrameCounter increment, to preserve a side effect when the code calls PlatformMemoryHelpers::GetFrameMemoryStats, which caches platform memory by frame, so that continues to happen at a consistent time (will always be the first call for a given GFrameCounter value, which was the case before). Removed support for OverrideFrameCounter value in FSceneViewFamily previously used as a workaround (the value is still in the structure, but no longer set or used). A further minor fix is necessary, which involves moving logic that sets "PreviousBoneTransformRevisionNumber" to "CurrentBoneTransformRevisionNumber" so it happens in UpdateBoneTransformRevisionNumber instead of CreateRenderState_Concurrent and SendRenderDynamicData_Concurrent. This makes it so additional calls to CreateRenderState_Concurrent in a frame (due to material changes) see the same value for "PreviousBoneTransformRevisionNumber". Animation updates can be called more than once during Tick, so a frame number is added to track when bone transforms were updated, so the previous revision number is only updated once. We also send that frame number to the render state instead of the current GFrameCounter. With these changes, render state exactly mirrors the component state, producing consistent results following re-creation. #jira UE-206217 #rnx #rb Josie.Yang [CL 31545289 by jason hoerner in ue5-main branch]