1.减少生成销毁的次数(提高对象复用率):对象池
比如UI组件,可以第一次生成,之后不需要则隐藏,需要就显示。可以一次性生成最大数量的对象,也可以每次判断数量不够就再生成。
示例代码:
#pragma once
#include "CoreMinimal.h"
#include "UObject/ObjectMacros.h"
#include "UObject/Interface.h"
#include "UICustomWidgetsPoolTemplate.generated.h"
UINTERFACE()
class UUIWidgetPoolInterface :public UInterface
{
GENERATED_BODY()
};
class IUIWidgetPoolInterface
{
GENERATED_IINTERFACE_BODY()
public:
virtual void Show() = 0;
virtual void Hide() = 0;
};
template<typename WidgetObject>
class UUIWidgetPool
{
public:
bool HasInit() { return objects.Num() > 0; }
void Init(TArray<WidgetObject*> _maxObjects)
{
objects.Empty();
objects = _maxObjects;
currentShowNum = objects.Num();
}
TArray<WidgetObject*> GetWidgetObjects(int _num)
{
TArray<WidgetObject*> res;
currentShowNum = _num > 0 ? (_num <=

本文探讨了UE4程序优化的两个关键点:一是通过对象池技术提高UI组件的复用率,避免频繁生成和销毁,从而提升性能;二是详细介绍了如何处理下载后的回调,通过设置请求标志来确保只处理有效的回调,防止因不再需要的数据导致的潜在错误。
&spm=1001.2101.3001.5002&articleId=82777566&d=1&t=3&u=a76ffe4de61d4a2d920d097b0bd0e363)
723

被折叠的 条评论
为什么被折叠?



