服务器端实时战斗中如何尽量保证帧率平稳

4回答

服务器端实时战斗中如何尽量保证帧率平稳

提问者 Dream 2018-03-16 1.9k浏览
在竞技PK类游戏中,无论状态同步或者帧同步,随着服务器端的游戏实例(或者房间)的增多,服务器的游戏帧率也会像客户端的帧率一样,会出现掉帧的情况,这个有什么从技术手段尽量保证帧率平稳的方法?

快来消灭0回答吧

{{ dataList.answer_count | view-format }}回答
  • rainfu 2018-03-16 18:22
    专家回答
    1、网络问题效率问题导致的,最好用udp协议,而不是tcp协议,udp比tcp效率会高很多,至于丢包情况,可以有多种方式来处理,比如用冗余包的方式,通过用流量来换质量,效率会好多;
    2、服务器的资源出现瓶颈,比如cpu过载导致卡,那就及时扩容或者进行性能力优化;有时也可能是程序bug导致cpu没有过载,但是吞吐量很低,也请解决;

    暂时想到这几点,请其他专家补充 :)
    0评论
  • 黄灏 2018-03-16 22:44
    专家回答
    服务器掉帧应该是指cpu处理能力满负荷了吧,从问题来看需求应该是保证帧率,那么固定帧率下每帧处理时间是确定的,可以考虑:
    1.扩容,cpu没有满载可以加进程,满了可以加机器,将房间分布到多个服务端实例上,保证单个实例的处理速度
    2.性能优化,定位每帧处理超时的原因,识别热点函数做性能调优
    3.加强性能数据监控,比如每帧处理时长,及时发现及时调整
    0评论
  • 刘宇 2018-03-16 18:21
    原答太罗嗦,修改
    1, 检查网络层吞吐情况,TCP协议堵塞可以用改进型UDP
    2, 检查性能消耗,优化进程内长处理时间的函数
    3, 检查机器其他进程占用cpu情况
    4, 如果确实本进程代码效率还可以,则加机器并做好负载均衡


    0评论
  • 123 2018-05-29 22:31
    123456
    0评论
  • {{ answer.user.NickName }} {{ answer.profession }} {{ answer.created_at | time-format }}
    专家回答
    {{{ answer.answer }}}
    {{ answer.answer_count | view-format }}评论
加载中... 查看更多回答