这篇博客介绍了UE4中多线程任务的C++构建。
在游戏的主线程中,如果存在一个很复杂的运算,那么游戏很容易造成卡顿。在这篇博客里,我使用查找第N个质数的函数作为范例,并且分别创建了一个在游戏主进程以及新开线程中的调用。
函数构建
新建一个AActor,加入如下函数:
// Header file.
protected:
/* Calculates prime numbers in the game thread */
UFUNCTION(BlueprintCallable, Category = MultiThreading)
void CalculatePrimeNumbers();
/* Calculates prime numbers in a background thread */
UFUNCTION(BlueprintCallable, Category = MultiThreading)
void CalculatePrimeNumbersAsync();
/* The max prime number */
UPROPERTY(EditAnywhere, Category = MultiThreading)
int32 MaxPrime;