UE4里面的线程问题的思考/UE4里面的delay是如何实现的

 

因为要做性能优化,所以,本来项目里面很多用蓝图实现的方法需要用cpp来实现,但是之前的一些需要延时的Event却不好在Cpp实现;

1.据我所知,在虚幻引擎中Functions和Events是两种完全不同的概念。

    Events是区分于主线程的单独的线程,不能有任何的返回值,而且是可以执行有延时的方法,比如说delay;

    而Function不像Events那样,他仍然是执行在主线程上的函数;

这是我所知道的CPP和蓝图之间的关于线程的问题。然而,困惑我的是如何在cpp里面实现这些可以延时的方法,如delay还有camerafade等方法;

我有一下两个问题:

1.UFUNCTION宏有两个相关的定义,一个是BlueprintNativeEvent一个是BlueprintIementationEvent。第一个让我们可以在CPP里面实现,然后在蓝图里面调用,第二个可以让我们在蓝图里面实现,然后在cpp里也可以调用。我看到这两个定义在CPP里面是可以给他添加返回值的。但是这个名字有开始误导了,他们都有Event在两个定义里,但是,他们都是用来实现Functions。这两个定义可以用来实现Events而不是方法吗?有没有其他的宏定义来实现这个功能 ?用宏定义BlueprintsNativeEvent可以实现延时的函数吗?他们能实现单独的线程吗?如果我不定义返回值,他们是不是自动的变成了Event类型了呢?

2.我注意到虚幻里面有一个Event类型的代理机制,你可以通过这个机制来实现让一个代理变成event。

如何在c++里面严格的实现Event类的事件?

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值