[UE4] UMG에서 UserWidget을 나란히했을 때와 BP로 동적 추가했을 때의 검증. 및 WidgetAnimation의로드 검증

11421 단어 위 4UnrealEngine4
UE4를 이용한 TPS 제작 사례 ~Earth Defense Force:Iron Rain의 경우~

뭔가 할 것 같다! 은하 영웅 전설 봐! #UE4PM 피 c. 라고 r. 이 m / S2 rx3 Q0 — 반찬 (@pafuhana1213) September 20, 2019


의 로드 시간 주위의 이야기였습니다. UMG에서 UserWidget을 자식 위젯에 등록하는 것보다 BP에서 추가하는 것이 로드 시간 빨라진 이야기가 있었습니다.

(코코 자료 업로드 대기)



가볍게 확인해 보았습니다.

가와만이므로 내부 처리까지 쫓고 있지 않습니다. 잘못하면 미안해.

UE4.22.3에서 검증



검증 데이터





이런 한 줄의 위젯을



이런 느낌으로 13행*2열, 늘어놓는 위젯입니다. 옵션 화면이라든지.



패턴 1





UMG에 전부 돌진한 데이터입니다



패턴 2







UMG 자체에는 추가하지 않고 BP에서 Widget 만들어 추가



검증 방법





UMG를 동적으로 로드하고 적용



다음에 패키징하고 항상 obj list에서 UObject 수를 조사했습니다.

[UE4] GarbageCollect의 대상 주위를 조사해 보았다



결과




























Object 총수한 줄 위젯 수
생성 전360040
패턴 1: UMG 포함3704879
패턴 2:BP 추가3657427


표시되는 13*2개와 로드한 1개를 포함해 27개.

UMG에 전 돌진한 패턴 1은 Widget수가 3배로.

패턴 1 쪽은 CDO나 자산의 로드 자체에 1행 Widget이 타 버리는 분으로 늘어나고 있는 느낌입니까?



GC적으로는 Cluster되어 있으면 큰 영향은 없을 것 같아?

로딩 시간적으로 여분의 제품이 있기 때문에 낭비가있을 것 같습니다.

(PC라면 이 규모에서는 거의 차이가 나지 않으므로 검증 결과는 없음)



추가 검증



애니메이션 로드 정보



UMG에 넣으면 Widget의 애니메이션이 그만큼 로드되는, 적인 이야기가 있던 것 같은 기억이 있습니다.

간단하지만 조사했습니다.

"TestAnimation"이라는 이름의 애니메이션을 하나만 포함한 위젯(UMG_Item)을 3개 정도 돌진한 UMG를 로드해 보았습니다



UE4.19: 위젯에 돌진



Obj List: Class=WidgetAnimation
Objects:
                                                                                                                                  Object      NumKB      MaxKB   ResExcKB  ResExcDedSysKB  ResExcShrSysKB  ResExcDedVidKB  ResExcShrVidKB     ResExcUnkKB
                                               WidgetAnimation /Game/419/UMG_All.WidgetArchetype:WidgetTree_0.UMG_Item.WidgetAnimation_0       1.14       1.16       0.00            0.00            0.00            0.00            0.00            0.00
                                                                   WidgetAnimation /Game/419/UMG_Item.WidgetArchetype:TestAnimation_INST       1.14       1.16       0.00            0.00            0.00            0.00            0.00            0.00
                                                      WidgetAnimation /Game/419/UMG_All.UMG_All_C:WidgetTree.UMG_Item.TestAnimation_INST       1.14       1.16       0.00            0.00            0.00            0.00            0.00            0.00
                                                    WidgetAnimation /Game/419/UMG_All.UMG_All_C:WidgetTree.UMG_Item_0.TestAnimation_INST       1.14       1.16       0.00            0.00            0.00            0.00            0.00            0.00
                                                    WidgetAnimation /Game/419/UMG_All.UMG_All_C:WidgetTree.UMG_Item_1.TestAnimation_INST       1.14       1.16       0.00            0.00            0.00            0.00            0.00            0.00
                                                                        WidgetAnimation /Game/419/UMG_Item.UMG_Item_C:TestAnimation_INST       1.14       1.16       0.00            0.00            0.00            0.00            0.00            0.00
                                             WidgetAnimation /Game/419/UMG_All.WidgetArchetype:WidgetTree_0.UMG_Item_0.WidgetAnimation_1       1.14       1.16       0.00            0.00            0.00            0.00            0.00            0.00
                                             WidgetAnimation /Game/419/UMG_All.WidgetArchetype:WidgetTree_0.UMG_Item_1.WidgetAnimation_2       1.14       1.16       0.00            0.00            0.00            0.00            0.00            0.00
                       WidgetAnimation /Engine/Transient.GameEngine_0:GameInstance_0.UMG_All_C_0.WidgetTree_0.UMG_Item.WidgetAnimation_0       1.14       1.16       0.00            0.00            0.00            0.00            0.00            0.00
                     WidgetAnimation /Engine/Transient.GameEngine_0:GameInstance_0.UMG_All_C_0.WidgetTree_0.UMG_Item_0.WidgetAnimation_1       1.14       1.16       0.00            0.00            0.00            0.00            0.00            0.00
                     WidgetAnimation /Engine/Transient.GameEngine_0:GameInstance_0.UMG_All_C_0.WidgetTree_0.UMG_Item_1.WidgetAnimation_2       1.14       1.16       0.00            0.00            0.00            0.00            0.00            0.00

                                                                                            Class    Count      NumKB      MaxKB   ResExcKB  ResExcDedSysKB  ResExcShrSysKB  ResExcDedVidKB  ResExcShrVidKB     ResExcUnkKB
                                                                                  WidgetAnimation       11      12.59      12.72       0.00            0.00            0.00            0.00            0.00            0.00

11 Objects (Total: 0.012M / Max: 0.012M / Res: 0.000M | ResDedSys: 0.000M / ResShrSys: 0.000M / ResDedVid: 0.000M / ResShrVid: 0.000M / ResUnknown: 0.000M)


UE4.19: BP에서 추가됨



Obj List: Class=WidgetAnimation
Objects:
                                                                                                                                  Object      NumKB      MaxKB   ResExcKB  ResExcDedSysKB  ResExcShrSysKB  ResExcDedVidKB  ResExcShrVidKB     ResExcUnkKB
                                                                   WidgetAnimation /Game/419/UMG_Item.WidgetArchetype:TestAnimation_INST       1.14       1.16       0.00            0.00            0.00            0.00            0.00            0.00
                                           WidgetAnimation /Engine/Transient.GameEngine_0:GameInstance_0.UMG_Item_C_0.TestAnimation_INST       1.14       1.16       0.00            0.00            0.00            0.00            0.00            0.00
                                           WidgetAnimation /Engine/Transient.GameEngine_0:GameInstance_0.UMG_Item_C_1.TestAnimation_INST       1.14       1.16       0.00            0.00            0.00            0.00            0.00            0.00
                                           WidgetAnimation /Engine/Transient.GameEngine_0:GameInstance_0.UMG_Item_C_2.TestAnimation_INST       1.14       1.16       0.00            0.00            0.00            0.00            0.00            0.00
                                                                        WidgetAnimation /Game/419/UMG_Item.UMG_Item_C:TestAnimation_INST       1.14       1.16       0.00            0.00            0.00            0.00            0.00            0.00

                                                                                            Class    Count      NumKB      MaxKB   ResExcKB  ResExcDedSysKB  ResExcShrSysKB  ResExcDedVidKB  ResExcShrVidKB     ResExcUnkKB
                                                                                  WidgetAnimation        5       5.72       5.78       0.00            0.00            0.00            0.00            0.00            0.00

5 Objects (Total: 0.006M / Max: 0.006M / Res: 0.000M | ResDedSys: 0.000M / ResShrSys: 0.000M / ResDedVid: 0.000M / ResShrVid: 0.000M / ResUnknown: 0.000M)


UE4.22: 위젯에 돌진



Obj List: Class=WidgetAnimation
Objects:
                                                                                                                                  Object      NumKB      MaxKB   ResExcKB  ResExcDedSysKB  ResExcShrSysKB  ResExcDedVidKB  ResExcShrVidKB     ResExcUnkKB
                                                                        WidgetAnimation /Game/419/UMG_Item.UMG_Item_C:TestAnimation_INST       1.04       1.05       0.00            0.00            0.00            0.00            0.00            0.00

                                                                                            Class    Count      NumKB      MaxKB   ResExcKB  ResExcDedSysKB  ResExcShrSysKB  ResExcDedVidKB  ResExcShrVidKB     ResExcUnkKB
                                                                                  WidgetAnimation        1       1.04       1.05       0.00            0.00            0.00            0.00            0.00            0.00

1 Objects (Total: 0.001M / Max: 0.001M / Res: 0.000M | ResDedSys: 0.000M / ResShrSys: 0.000M / ResDedVid: 0.000M / ResShrVid: 0.000M / ResUnknown: 0.000M)


돌진한 사람은 부모 UserWidget 내에 포함된 아이 UserWidget의 애니메이션까지 붙어 있는 느낌일까요?

BP에서 추가한 사람은 인스턴스별로만 애니메이션 수가 있는 것 같습니다.



단, UE4.22에서 조사하면 인스턴스 복수 생성해도 애니메이션은 공통화되고 있는 것 같은 거동을 볼 수 있었습니다. 어쩌면.


좋은 웹페이지 즐겨찾기