Weitere ähnliche Inhalte
Ähnlich wie 【UE4.25 新機能】新しいシリアライゼーション機能「Unversioned Property Serialization」について (15)
Mehr von エピック・ゲームズ・ジャパン Epic Games Japan (20)
【UE4.25 新機能】新しいシリアライゼーション機能「Unversioned Property Serialization」について
- 56. #UE4 | @UNREALENGINE
有効化方法
● (Default)Engine.iniファイルで以下のフラグを有効化する
● パッケージ作成時に ‘Save packages without versions’にチェックを入れる
○ コマンドラインでパッケージしている場合はオプションに ‘-unversioned’ を追加する
● UATを利用している場合は、
常にクッカーに-Unversionedが指定されるため特別な操作は不要です。
○ CIでクッカーを直接呼び出している場合、-unversioned指定が必要です。
[Core.System]
CanUseUnversionedPropertySerialization=True
以下 2020/11/15 追記
- 61. #UE4 | @UNREALENGINE
BP読み込み検証用アセット
下のようなたくさんのプロパティを持ったBPをレベルに配置して検証
UCLASS()
class LOADINGTEST425_API AActorWithManyProperties : public
AActor
{
GENERATED_BODY()
public:
// Sets default values for this actor's properties
AActorWithManyProperties();
UFUNCTION(BlueprintCallable)
static void RandomizeProperty( UObject* Ptr );
UPROPERTY(EditDefaultsOnly)
int32 Value1;
UPROPERTY(EditDefaultsOnly)
int32 Value2;
UPROPERTY(EditDefaultsOnly)
int32 Value3;
UPROPERTY(EditDefaultsOnly)
int32 Value4;
UPROPERTY(EditDefaultsOnly)
int32 Value5;
UPROPERTY(EditDefaultsOnly)
int32 Value6;
UPROPERTY(EditDefaultsOnly)
int32 Value7;
//以下略(232個)
...
- 72. #UE4 | @UNREALENGINE
UPSまとめ
● UPSはプロパティのデシリアライズを効率化します
● アセットサイズの削減
● デシリアライズ時間の短縮(特にAsyncLoadingThreadのCPU処理時間に効果)
● 高速SSDやフラッシュメモリを利用可能でCPU側にボトルネックが発生する
ハードウェアで特に効果が見込める
● 効果の大きさはアセット毎に変化
● 大量のノードを含むブループリントは相対的に改善効果が低いが
大半のアセットがプロパティを持っているため少なからず恩恵がある
● レベルの配置情報のデシリアライズ時間には効果が大きい
● 有効化には
● iniの編集が必要 (4.25 / 4.25plus)
● パッケージ作成時に-unversion指定が必要