Commit Graph

19 Commits

Author SHA1 Message Date
daren cheng
2205e3e974 Remove payload indirection on slate elements.
Yields better cache coherency and measured better performance

#jira UE-186900
#rb patrick.boutot

[CL 26188706 by daren cheng in ue5-main branch]
2023-06-22 14:29:09 -04:00
daren cheng
5d0a57fecf Re-submit 25720195 with arg struct definition moved for non-debug builds.
-----------------------------------------------------------------
Slate batching improvements for large element sets
---
Group similar elements at compile time using tuples instead of maps (Also preps for slate payload removal).
Merge similar renderbatches in same-typed element buckets (Currently for box and lines only).
Reserve verticies / elements in a batch before using them
Add some comments to invalidation.

#rb Patrick.Boutot
#preflight 646ff8505b484acfee7cc9fa
#jira UE-173455

[CL 25738553 by daren cheng in ue5-main branch]
2023-06-01 15:57:14 -04:00
daren cheng
d7d121f724 [Backout] - CL25717383
[FYI] daren.cheng
Original CL Desc
-----------------------------------------------------------------
Re-submit 25712585 with manual tuple expansion to prevent use before define.
-----------------------------------------------------------------
Slate batching improvements for large element sets
---
Group similar elements at compile time using tuples instead of maps
Merge similar renderbatches in same-typed element buckets (Currently for box and lines only).
Reserve verticies / elements in a batch before using them
Add some comments to invalidation.

#rb Patrick.Boutot
#preflight 646ff8505b484acfee7cc9fa
#jira UE-173455

[CL 25720199 by daren cheng in ue5-main branch]
2023-05-31 23:37:20 -04:00
daren cheng
30e7727aaf Re-submit 25712585 with manual tuple expansion to prevent use before define.
-----------------------------------------------------------------
Slate batching improvements for large element sets
---
Group similar elements at compile time using tuples instead of maps
Merge similar renderbatches in same-typed element buckets (Currently for box and lines only).
Reserve verticies / elements in a batch before using them
Add some comments to invalidation.

#rb Patrick.Boutot
#preflight 646ff8505b484acfee7cc9fa
#jira UE-173455

[CL 25717402 by daren cheng in ue5-main branch]
2023-05-31 18:57:56 -04:00
daren cheng
7622b67782 [Backout] - CL25712585
[FYI] daren.cheng
Original CL Desc
-----------------------------------------------------------------
Slate batching improvements for large element sets
---
Group similar elements at compile time using tuples instead of maps
Merge similar renderbatches in same-typed element buckets (Currently for box and lines only).
Reserve verticies / elements in a batch before using them
Add some comments to invalidation.

#rb Patrick.Boutot
#preflight 646ff8505b484acfee7cc9fa
#jira UE-173455

[CL 25716613 by daren cheng in ue5-main branch]
2023-05-31 18:20:34 -04:00
daren cheng
6165a76847 Slate batching improvements for large element sets
---
Group similar elements at compile time using tuples instead of maps
Merge similar renderbatches in same-typed element buckets (Currently for box and lines only).
Reserve verticies / elements in a batch before using them
Add some comments to invalidation.

#rb Patrick.Boutot
#preflight 646ff8505b484acfee7cc9fa
#jira UE-173455

[CL 25712708 by daren cheng in ue5-main branch]
2023-05-31 16:20:47 -04:00
daren cheng
106978757a Undo 23600931 backout with fixes to pick painted widgets
#jira UE-173455
#rb Patrick.Boutot, Yohann.Dossantos
#preflight 64502ef16538e45f75d516b1

[CL 25309579 by daren cheng in ue5-main branch]
2023-05-02 18:21:44 -04:00
daren cheng
4187de1509 Backout CL 23600931. Breaks pick painted widgets.
#jira UE-173455
#rb trivial
#preflight skip

[CL 23633947 by daren cheng in ue5-main branch]
2023-01-10 16:41:02 -05:00
daren cheng
95ff3fd343 Prep for element generation for possible bulk batch creation per element type.
Migrate FSlateRenderBatch index poputation to a simple static array return in boxes, borders, and aliased lines.

#rb Patrick.Boutot, Yohann.Dossantos
#jira UE-173455
#preflight 63b745c1d862fdd347cc2d35

[CL 23602247 by daren cheng in ue5-main branch]
2023-01-06 15:25:29 -05:00
Patrick Boutot
bdae98ad4e Slate: Transform some ElementPayload from Vector2D to Vector2f. Use FDeprecateVector2D to create a deprecation path for function that returns a FVector2D.
#jira UE-137340
#rb sebastian.nordgren
#preflight 6273e2f3230c8997ad94b076

[CL 20059075 by Patrick Boutot in ue5-main branch]
2022-05-05 12:02:42 -04:00
Patrick Boutot
595e36d594 WidgetReflector: Add support for GlobalInvalidation.
#rb vincent.gauthier

[CL 14781816 by Patrick Boutot in ue5-main branch]
2020-11-18 16:33:17 -04:00
Marc Audy
a7c9001a94 Merging //UE5/Release-Engine-Staging to Main (//UE5/Main) @ 14075166
#rb
#rnx

[CL 14075271 by Marc Audy in ue5-main branch]
2020-08-11 01:36:57 -04:00
nick darnell
fd881a89b8 Slate - Avoid a rare crash in the Widget Reflector when the clipping states don't match.
#ROBOMERGE-SOURCE: CL 11566549 via CL 11566555 via CL 11566562
#ROBOMERGE-BOT: (v654-11333218)

[CL 11566567 by nick darnell in Main branch]
2020-02-20 12:05:42 -05:00
ryan durand
471d972e62 Updating copyright for Engine Developer.
#rnx
#rb none


#ROBOMERGE-SOURCE: CL 10869240 via CL 10869516 via CL 10869902
#ROBOMERGE-BOT: (v613-10869866)

[CL 10870584 by ryan durand in Main branch]
2019-12-26 15:32:37 -05:00
matt kuhlenschmidt
c64ca632c7 Slate Global Invalidation System
This change makes it possible to remove the layout and painting overhead that Slate performs every frame.  The system is off by default as we continue to iterate on it.

However, this includes massive changes to batching, rendering, hit testing, and invalidation panels which are permanent changes and cannot be disabled.

#rb chris.gagnon, nick.darnell
[CODEREVIEW] nick.darnell


#ROBOMERGE-OWNER: matt.kuhlenschmidt
#ROBOMERGE-AUTHOR: matt.kuhlenschmidt
#ROBOMERGE-SOURCE: CL 7232617 via CL 7235502
#ROBOMERGE-BOT: (v367-6836689)

[CL 7235503 by matt kuhlenschmidt in Main branch]
2019-07-08 23:50:34 -04:00
nick darnell
061ecbdf63 Slate - Introducing a metadata you can attach to widgets to make it be ignored by the picker in Widget Reflector for paint hit testing. The debug paint canvas can ruin the experience when you're trying to pick against painted widgets, so now it gets ignored.
Matt.Kuhlenschmidt


#ROBOMERGE-SOURCE: CL 5830878 via CL 5830881 via CL 5835228

[CL 5836028 by nick darnell in Main branch]
2019-04-12 10:07:05 -04:00
nick darnell
96a936ca71 WidgetReflector - Make sure to reset the visual tree capture after switching to hittesting reflecting, otherwise, it gets stuck in visual picking mode, which we don't want.
[FYI] Aaron.Johnson


#ROBOMERGE-SOURCE: CL 4712887

[CL 4712895 by nick darnell in Main branch]
2019-01-11 15:17:17 -05:00
Ben Marsh
7598af0532 Update copyright notices to 2019.
#rb none
#lockdown Nick.Penwarden

[CL 4662404 by Ben Marsh in Main branch]
2018-12-14 13:41:00 -05:00
Marc Audy
af90b7bcd4 Copying //UE4/Fortnite-Staging to Dev-Main (//UE4/Dev-Main) @ 4395008
#rb
#rnx
#lockdown Nick.Penwarden

[CL 4395058 by Marc Audy in Main branch]
2018-09-25 10:11:35 -04:00