cocos2dx中使用多线程(转)

Cocos2dx 3.0 过渡篇(二十六)C++11多线程std::thread的简单使用(上) 昨天练车时有一MM与我交替着练,聊了几句话就多了起来,我对她说:”看到前面那俩教练没?老色鬼两枚!整天调戏女学员。“她说:”还好啦,这毕竟是他们的乐趣所在,你不觉得教练每天都教学员是很枯燥的一件事么?所以调戏学员是他们每天的乐趣,这样工作才更有动力“。我承认听完她的话我愣住了! 事后一夜没睡,总结出了两点: 1、看待问题一定要从多个角度分析,别太主观,我觉得他们是色鬼,难免会有嫉妒的因素在里面(当然了,这个可能性几乎为0,像我这种风一般的男纸,会嫉妒他们?)。 2、程序员的工作日常别总是单一的敲代码,那太枯 阅读详情

推荐使用pthreadcc,已经封装好了方法,很方便使用,并且不用担心线程的并发与死锁问题,之前开发android的时候

熟悉了一个类叫AsyncTask,今天自己也封装一个类似的类用来用项目开发的人调用。思路是:

传进去一个url或者pMsg,开启一个线程来执行网络请求,当获取到结果以后,通知主线程更新、


线程的使用很顺利,但是在线程与2dx相结合的时候,发现OpenGL渲染线程只允许在主线程中渲染,突然想到Android中

也是一样,刚开始的时候,跟本不显示2dx绘图中的任何图片。


后来,把线程与CCLayer封装,有效果了,但是OpengGL渲染受到了影响,渲染的图片每次都是一个黑色的框,没有

色彩,很郁闷。


借助自己对OpengGL的一些了解,以及手游戏 开发的一些经验,突然想到先2dx先渲染,然后再执行线程,修改完代码

执行,已经完好。


Tip:OpenGL与线程相结合时,此时你需要把你需要渲染的精灵先加载到内存中去,可以设置成为不显示,然后在线程执行后

再设置精灵成显示状态,这样可以解决线程与OpneGL渲染不兼容的问题


效果图:

执行前,弹出对话框提示加载,此时已经进入异步加载状态

转自:http://www.2cto.com/kf/201312/266938.html

cocos2d-x多线程异步加载资源 项目中摘抄出来的代码,在LoadingLayer::onEnter()中,开了一个boost thread来加载资源 立即下载

相关推荐

MBD-从一个示例看代码生成过程(rtw文件、TLC语言)

大概介绍了MBD代码生成流程,rtw文件、TLC语言

小胡同学的工程师学习之路 4214

cocos2dx中使用多线程

推荐使用pthreadcc,已经封装好了方法,很方便使用,并且不用担心线程的并发与死锁问题,之前开发android的时候 熟悉了一个类叫AsyncTask,今天自己也封装一个类似的类用来用项目开发的人调用。思路是: 传进去一个url或者pMsg,开启一个线程来执行网络请求,当获取到结果以后,通知主线程更新、 线程的使用很顺利,但是在线程与2dx相结合的时候,发现OpenGL渲染线程只允...

Unity3d 攻城师一枚 3240

PaddleOCR PP-OCRv5实战:5分钟搞定身份证信息提取(附完整代码)

本文详细介绍了如何利用PaddleOCR的PP-OCRv5模型,在5分钟内快速搭建身份证信息提取流程。文章从环境搭建、核心代码实战出发,深入解析了PP-OCRv5针对证件识别的优化特性,并提供了从OCR结果到结构化数据的完整处理方案与避坑指南,帮助开发者高效实现AI驱动的自动化信息提取。

salt9的博客 783

Cocos2d-x 中使用多线程

一直以为Cocos2d-x中只有事件队列,只有一个主线程。。。 pthread_mutex_init(&mutex,NULL); 理解为初始化互斥锁吧。。 pthread_create(&pidgo,NULL,thread_go,0); 创建一个线程,第一个参数是线程ID,第二个描述为空,第三个是线程函数,在这个函数里写需要在线程里执行的事件,第四个是传递参数给函数。

Hello Captain 5129

基于STM32F407与AD9910/AD9959的高频可调DDS信号源设计与实战

本文详细介绍了基于STM32F407微控制器与AD9910/AD9959高性能DDS芯片的高频可调信号源设计与实现。文章从DDS原理入手,阐述了双芯片方案的优势,并重点分享了高频电路设计中的电源、PCB布局布线等关键硬件设计技巧与避坑指南。同时,提供了通过SPI配置DDS芯片及利用Matlab生成任意波形的软件驱动方法,旨在帮助开发者打造一个覆盖10Hz至4200MHz的实用信号发生器。

weixin_36184718的博客 122

OV5640摄像头DVP与MIPI接口配置实战:从30Hz到60Hz的性能优化指南

本文详细解析了OV5640摄像头在DVP与MIPI接口下的60Hz性能优化方法,重点解决720p分辨率下帧率仅30Hz的常见问题。通过精确配置时钟树、传感器寄存器和接口参数,提供DVP与MIPI接口的实战配置代码,并分享调试工具与性能验证技巧,帮助开发者实现稳定的60fps输出。

weixin_29223603的博客 1301

lua 如何支持多线程操作?

栈的理解 要向了解lua多线程,你就要知道栈的含义。这里我就直接摘录博客上的一些见解: 栈就是一段特殊内存,什么是栈呢?举个例子,一个只有上面打开的盒子,现在有三本书离散数学、c语言、汇编语言,需要将这三本书一本一本的放进去,先将离散数学放进去,然后c语言,接着汇编语言,现在又需要将三本书拿出去,只能先拿汇编语言,再拿c语言接着再拿离散数学,栈就是这样的特点,后进先出。 栈的大小...

点滴路程 2万+

从零到一:Livox Mid-360 激光雷达的硬件集成与避坑实战

本文详细介绍了Livox Mid-360激光雷达的硬件集成全流程,包括硬件准备、网络配置、驱动编译和常见问题解决方案。通过实战经验,帮助开发者高效完成从设备拆箱到数据输出的完整链路,避免在IP设置、驱动编译和固件兼容性等环节踩坑。

salt的博客 1030

Cocos2d-X多线程

1、进程线程的基本概念 教科书上说:进程是资源分配的最小单位,线程是CPU调度的最小单位。 进程是程序在计算机上的一次执行活动。直观的讲就是会产生一个pid。 int main() { //业务逻辑代码 return 0; } 当进入main函数时就会创建一个进程。进程是计算机上的一个代码片段。 线程是可执行代码的可分派单元。线程包含在进程当中,线程把一个进程分为很多片,每一片都

yanglq的博客 836

26、机器学习模型的成员推断攻击与隐私保护

本文探讨了机器学习模型面临的成员推断攻击及其对隐私的潜在威胁。通过使用CIFAR-10数据集,详细介绍了如何利用影子模型和攻击模型推断特定数据点是否属于模型的训练集。实验表明,即使无法直接访问模型参数和原始数据,攻击者仍能以高于随机猜测的概率进行推断,从而构成隐私风险。此外,文章还分析了实验的关键技术点,并提出了多种隐私保护建议,包括数据脱敏、差分隐私、模型正则化等方法。

coffee的博客 123

DaVinci配置DID之二:工具链配置

本系列主要基于DaVinCi工具链来展开具体DID读写的配置以及最终实现。1,CDD准备2,工具链配置3,代码实现4,验证结果本文讲述流程2话不多说,走你~博主也是AutoSar小白,如果哪里表达的有问题,还请大佬们指点指点哈。接下来,让我们在下章关于代码具体实现的博文再相会哈~

weixin_48498880的博客 5743

Cocos2d-x之LUA脚本引擎深入分析

首先,我们要知道LUA是个什么东西,至于官方怎么说可以百度去查,但我想告诉你的是LUA就是一种可以在不必修改C++代码的情况下实现逻辑处理的手段。稍微讲的再明白一点,就是你用指定语法写一些逻辑处理函数然后保存成文本格式,这个文件称为脚本文件,可以被游戏执行。经过若干年的发展,现在在LUA中写逻辑,除了调用注册到LUA的静态C函数外,也已经可以方便的访问到C++工程中的类的成员函数。这是游戏开发史上

大江东去 的专栏 718

【WRF-Urban数据集】中国60个城市的1 km分辨率城市冠层参数(UCPs)

中国60个城市的1 km分辨率城市冠层参数(UCPs)

WW、forever的博客 1068

Cocos2dx多线程渲染安卓启动流程

注释部分很重要,不可遗漏! MainActivity的实现: class MyGame extends Cocos2dxActivity{ void onCreate(Bundle savedInstanceState){ requestPermission(); unObbZip();//这里应该改为requestPermission的re...

逍遥游侠的博客 516

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

cocos2dx多线程通信

在cocos2dx中要实现网络实时交互,需要使用socket保持连接,并与服务器进行数据交互 socket通信部分需要使用多线程 1、开启一个线程,进行socket通信的连接 int ClientSocket::Start() { int errcode = 0; do { pthread_attr_t l_attr; errcode = pthread_attr_init(&amp...

centor的博客 568

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

cocos2dx多线程以及线程同步 与 cocos2dx内存管理与多线程问题

cocos2dx多线程以及线程同步 与 cocos2dx内存管理与多线程问题 分类: 移动研发 COCOS2DX 移动ANDROID研发 IOS研发2013-11-07 16:17 7573人阅读 评论(5) 收藏 举报 目录(?)[+] cocos2d-x引擎在内部实现了一个庞大的主循环,每帧之间更新界面,如果耗时的操作放到了主线

TheClimb的池塘 703

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

cocos2dx之多线程

std::thread std::mutex NotificationCenter::getInstance()->addObserver() NotificationCenter::getInstance()->postNotification()

yasin1151的博客 545

[cocos2dx 3.0 (二)] 多线程std::thread的使用 以及performFunctionInCocosThread函数

有的时候很多操作如果在cocos2dx的主线程中来调用,可能会极大地占用主线程的时间,从而使游戏的不流畅。比如在获取网络文件数据或者在数据比较大的游戏存档时,就需要使用多线程了。 网上的一些教程上是使用pthread来创建新线程的,需要加入lib和头文件,但在cocos2dx 3.0中并未发现有pthread的支持文件,后来才发现在c++11中已经拥有了一个更好用的用于线程操作的类std::th

〇〇木一的专栏 1万+

cocos2dx与多线程

多线程

qq_24120771的博客 2174

Cocos2dx中使用多线程

在项目属性内做3个设置

IT男也疯狂 1579

Cocos2dx多线程使用

最近在使用多线程加载资源时遇到了一处崩溃 auto func = [=]{ if (loadXmlSec()){ CCLOG("load***xml***suc"); } }; auto pt = std::thread(func); pt.detach(); 经查崩溃的原因是在loadXmlSec函数中有继承自cocos2d::Ref的类调用create...

auccy的博客 804

Cocos2dx教程-多线程与异步加载

1.为什么要使用多线程 Cocos2d-x是一个单线程循环的引擎,引擎通过每一帧之间更新游戏中各元素的状态,以保证它们之间互不干扰,这个过程中尽管看起来成程序像是在并行运行,但实际上却是一个串行过程。单线程的好处就是我们无需去担心游戏对象更新的线程安全问题,但是当我们的程序遇到某些费时的I/O操作时,单线程的缺点也就显现出来了。 举例来说,在游戏进行场景跳转时,通常我们会释放当前场景的

u012861978的专栏 5062

cocos2dx 多线程

1. 在前面的弱联网中,添加库的时候,是有看到pthread的库文件也是在里面的。说明2dx也集成了多线程。如果想对多线程了解更多,可以找找linux网络编程的书籍看看 2. 加头文件 #include "pthread/pthread.h",直接上代码 编译出错:fatal error C1083: 无法打开包括文件:“sched.h”: No such file or di

u012735451的专栏 787

cocos2dx android 多线程,cocos2dx Jni调用需要线程切换 ui线程和GL线程

cocos2d-x for Android 运行在多线程环境下,所以在 Lua/C++ 和 Java 交互时需要注意选择适当的线程。cocos2d-x 在 Android 上以两个线程来运行,分别是负责图像渲染的 GL 线程和负责 Android 系统用户界面的 UI 线程。在 cocos2d-x 启动后,Lua/C++代码将由 GL 线程调用,因此从 Lua/C++中调用的 Java 方法如果涉...

weixin_30072631的博客 404
上一篇: 如何在xcode中同时安装两个版本的cocos2d-x
下一篇: 2.0.4 CCLabelTTF在ios7下不显示的问题(转)
woodcol
博客等级 码龄19年 288粉丝 429原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值