我所理解的Cocos2d-x 主线程

我所理解的Cocos2d-x 主线程,第1张

概述Cocos2d-x目前仍然是一个单线程的游戏引擎,使我们几乎不需要考虑游戏对象更新的线程安全性。然而,我们仍然需要关注一些情形,如网络请求、异步加载文件或者异步处理一些逻辑算法等。 在主线程中执行异步处理 其他线程有一些方法必须在主线程中执行,如GL相关的方法。另一些时候,为了保证Ref对象引用计数的线程安全,我们也应该在主线程中执行这些 *** 作。 Cocos提供了该方法就是performFuncti

Cocos2d-x目前仍然是一个单线程的游戏引擎,使我们几乎不需要考虑游戏对象更新的线程安全性。然而,我们仍然需要关注一些情形,如网络请求、异步加载文件或者异步处理一些逻辑算法等。

@H_403_3@在主线程中执行异步处理

其他线程有一些方法必须在主线程中执行,如GL相关的方法。另一些时候,为了保证Ref对象引用计数的线程安全,我们也应该在主线程中执行这些 *** 作。
Cocos提供了该方法就是performFunctionInCocosThread()
通过这样的机制,我们就可以将一个方法转移到主线程中执行。这里需要注意的是,这些方法在主线程中被执行的时机是所有系统或自定义的schedule之后,即在UI树遍历之前。

@H_502_11@异步加载

如果同一时间有多个计算量很大的方法需要在主线程中执行,则会影响绘制的性能。将这种处理分布到多帧的思路,减少了对主线程绘制性能的影响。

单元测试 单元测试通常用来测试一个同步的方法,只要执行该方法,就能知道其运行结果。单元测试甚至可以不依赖太多的上下文,实际上,太多的上下文会使单元测试变得更困难。 对于异步方法,人们可以通过单元测试加入一个等待时间监听回调函数对某个布尔变量值的修改,并告知回调完成,从而完成单元测试方法。通过这样的访问就可以测试异步方法。 总结

以上是内存溢出为你收集整理的我所理解的Cocos2d-x 主线程全部内容,希望文章能够帮你解决我所理解的Cocos2d-x 主线程所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1080986.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存