Я ищу сетевую библиотеку для работы в сети на стороне клиента мобильной игры.
В настоящее время я использую cocos2d-x с Lua для программирования на стороне клиента.
Я рассматриваю возможность использования libuv или luv (привязка Lua для libuv) в моей сетевой библиотеке на стороне клиента (TCP ).
Запуск цикла libuv в режиме UV_RUN_ONCE или UV_RUN_NOWAIT каждый кадр в основном цикле игры (главный поток). Когда libuv получает сетевые данные, она вызывает мои функции обратного вызова Lua в основном потоке игры (где работает виртуальная машина Lua), а мой код Lua расшифровывает, декодирует и обрабатывает сообщение.
Мой вопрос:
сделает ли libuv мой основной цикл игры медленным и упадет мой fps, когда сетевой трафик возрастет (конечно, если в пределах разумного размера и количества сообщений)?
нужно ли помещать цикл libuv в другой поток и переносить задержку обратного вызова, вызываемую моими функциями Lua, в основной поток?