Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Multithreading libuv能否在(移动)游戏客户端运行';什么是主回路?_Multithreading_Lua_Cocos2d X_Libuv - Fatal编程技术网

Multithreading libuv能否在(移动)游戏客户端运行';什么是主回路?

Multithreading libuv能否在(移动)游戏客户端运行';什么是主回路?,multithreading,lua,cocos2d-x,libuv,Multithreading,Lua,Cocos2d X,Libuv,我正在搜索用于移动游戏客户端网络的网络库 我目前正在使用cocos2d-x和Lua进行客户端编程 我考虑在我的客户端网络库(TCP)中使用libv或(libv的Lua绑定)。 在游戏主循环(主线程)的每一帧中以UV_RUN_一次或UV_RUN_NOWAIT模式运行libuv循环。当libuv收到网络数据时,它在游戏主线程(luavm运行的地方)中调用我的回调Lua函数,然后我的Lua代码对消息进行解密、解码和处理 我的问题是: 当网络流量增加时(当然是在合理的消息大小和数量范围内),libuv会

我正在搜索用于移动游戏客户端网络的网络库

我目前正在使用cocos2d-xLua进行客户端编程

<>我考虑在我的客户端网络库(TCP)中使用libv或(libv的Lua绑定)。

在游戏主循环(主线程)的每一帧中以UV_RUN_一次UV_RUN_NOWAIT模式运行libuv循环。当libuv收到网络数据时,它在游戏主线程(luavm运行的地方)中调用我的回调Lua函数,然后我的Lua代码对消息进行解密、解码和处理

我的问题是:

  • 当网络流量增加时(当然是在合理的消息大小和数量范围内),libuv会使我的游戏主循环变慢并降低fps吗

  • 我需要将libuv循环放在另一个线程中,并将调用我的Lua函数的回调延迟包装在主线程中吗


  • 是的,您可以使用UV_RUN_NOWAIT,它将运行事件循环中的所有排队事件,如果没有,它将返回


    例如,UV_RUN_一次将一直运行,直到队列中至少有一个事件。

    老实说,我不知道,但如果它是一个著名的库,我怀疑它会那么糟糕。。。为什么不自己测试一下?你发现了吗?我也想在我的cocos2d-x(c++)iOS游戏中托管一个UDP服务器,并正在寻找一些示例代码