perf(rendering): retain synchronous frame scratch
Reuse the PView frame input, publish mutation-invalidated landblock views, and avoid constructing optional shadow iterators while preserving title and lifecycle visibility facts.
This commit is contained in:
parent
b9cbf5e040
commit
b3427554c3
10 changed files with 397 additions and 129 deletions
|
|
@ -418,34 +418,32 @@ public sealed class RetailPViewPassExecutorTests
|
|||
null));
|
||||
}
|
||||
|
||||
return new RetailPViewFrameInput
|
||||
{
|
||||
RootCell = root,
|
||||
NearbyBuildingCells = nearbyBuildingCells,
|
||||
ViewerEyePos = Vector3.Zero,
|
||||
ViewProjection = TestCamera.ViewProjection,
|
||||
Cells = new DictionaryCellSource(cells),
|
||||
Camera = new TestCamera(),
|
||||
CameraWorldPosition = Vector3.Zero,
|
||||
Frustum = null,
|
||||
PlayerLandblockId = root.CellId & 0xFFFF0000u,
|
||||
AnimatedEntityIds = null,
|
||||
RenderCenterLbX = 0,
|
||||
RenderCenterLbY = 0,
|
||||
RenderRadius = 1,
|
||||
LandblockEntries = entries,
|
||||
RenderSky = true,
|
||||
RenderWeather = true,
|
||||
DayFraction = 0f,
|
||||
ActiveDayGroup = null,
|
||||
SkyKeyframe = default,
|
||||
EnvironOverrideActive = false,
|
||||
ViewerCellId = root.CellId,
|
||||
PlayerCellId = root.CellId,
|
||||
PlayerViewPosition = Vector3.Zero,
|
||||
CameraView = TestCamera.ViewMatrix,
|
||||
CameraCellResolution = CameraCellResolution.None,
|
||||
};
|
||||
return new RetailPViewFrameInput().Reset(
|
||||
root,
|
||||
nearbyBuildingCells,
|
||||
Vector3.Zero,
|
||||
TestCamera.ViewProjection,
|
||||
new DictionaryCellSource(cells),
|
||||
new TestCamera(),
|
||||
Vector3.Zero,
|
||||
frustum: null,
|
||||
playerLandblockId: root.CellId & 0xFFFF0000u,
|
||||
animatedEntityIds: null,
|
||||
renderCenterLbX: 0,
|
||||
renderCenterLbY: 0,
|
||||
renderRadius: 1,
|
||||
landblockEntries: entries,
|
||||
renderSky: true,
|
||||
renderWeather: true,
|
||||
dayFraction: 0f,
|
||||
activeDayGroup: null,
|
||||
skyKeyframe: default,
|
||||
environOverrideActive: false,
|
||||
viewerCellId: root.CellId,
|
||||
playerCellId: root.CellId,
|
||||
playerViewPosition: Vector3.Zero,
|
||||
cameraView: TestCamera.ViewMatrix,
|
||||
cameraCellResolution: CameraCellResolution.None);
|
||||
}
|
||||
|
||||
private static LoadedCell InteriorWithExit(uint cellId)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue