网络传输速率大小惹的祸!

上一篇 / 下一篇  2014-03-24 20:39:45 / 个人分类:仿真编辑器

  问题:(虚拟仿真沙盘)控制机与场景机要做到位置、角度的同步(其实是两个角色位置和朝向的同步),结果场景机出现卡滞现象。
  功能实现方式:控制机给场景机发送同步信息。
  预测1:自己首先排查飞行角色(一种没有物理属性的摄像机)的功能是否有问题;具体就是让控制机与场景机各自自己计算自己的位置朝向,看是否会出现卡滞问题。
  结果1:控制机、场景机功能均正常。所以飞行角色功能没问题。
  预测2:飞行角色自身有延缓功能(可以通过接口函数自行设置它在两点之间飞行时间)可能是延缓时间太长或太短,导致时间用完而没有飞到,或者没到达目的地时间用完了;于是在合理范围内逐渐改变飞行时间大小。
  结果2:可以减缓卡滞现象但不能解决根本问题。
  沟通:最后经过和开发人员沟通发现他是使用计时器计数来发送信息的(控制机利用计时器每帧给场景机发送同步信息。),所以接受数据不会是持续匀速的,而且飞行角色自身也有延缓时间,结果两者不协调,所以就出现卡的现象。
  解决方案1:不使用计时器,加判断一旦数据改变就发送给场景机。
  方案结果1:控制机帧率大幅度下降,性能严重下降。(从20下降到1)
  解决方案2:使用定时器,控制每帧发送数据多少,寻找一个合适点。
  方案结果2:卡滞现象消除,帧率下降到15,不影响正常功能。
  总结:1.控制机不卡而场景机卡,首先要对比两者差异因素,可以直接排除预测1,找出两者不同因素,从不同因素着手分析问题所在;2.平时多和开发沟通,多了解功能实现方式。
                                                                           ----2014.3.24

TAG:

 

评分:0

我来说两句

日历

« 2024-04-21  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 9727
  • 日志数: 27
  • 建立时间: 2014-02-23
  • 更新时间: 2015-03-12

RSS订阅

Open Toolbar