zoukankan      html  css  js  c++  java
  • 游戏场景的划分

       游戏空间剖分是针对大型多人游戏的一种优化策略。多个玩家同时在线,客户端与服务器必须频繁进行数据交互,以保持游戏的同步。如果玩家达到上千个,游戏场景巨大,许多玩家在场景中可能相隔遥远,彼此不能相互看到,也不存在任何沟通。在这种情况下,给每个玩家广播场景的更新消息就会消耗巨大的网络带宽。如果将场景进行预先剖分,并在游戏进行过程中实时更新玩家所在的子空间,服务器根据玩家所在的空间索引号,然后只对相同空间中的玩家进行数据更新的广播。这样就可以节省大量的带宽,大大减少网络的总体负荷量
        假设一个游戏场景的尺寸是10km*10km,同时在线玩家有100000个,如果使用通常的广播方法,假定每个玩家只发送一个更新包,服务器需要1000002个包的传输量。如果先把这个世界均匀剖分100m*100m的小方格,玩家均匀分布,那么每个方格将只有10个玩家,如果一个玩家的更新消息只发送给它所在的方格和周围的8个方格中的用户,那么总共需要发送的用户是90个。因此,服务器需要发送的包的传输量是原来传输量的千分之一。

  • 相关阅读:
    QPBOC扩展应用交易流程
    探索Oracle之数据库升级七 11gR2 to 12c 升级完毕后插入PDB
    Java 存储和读取 oracle CLOB 类型字段的实用方法
    Java读取property配置文件
    AOP (面向切面编程)
    OJB
    JDO
    toplink
    JPA
    ORM
  • 原文地址:https://www.cnblogs.com/steven_oyj/p/2051211.html
Copyright © 2011-2022 走看看