当前位置: 首页 > news >正文

龙岗网站设计效果一元购网站建设

龙岗网站设计效果,一元购网站建设,活动策划流程及细节,宣传网课程里的版本好像是1.9#xff0c;目前使用版本为3.8.3 开始~ 目录 状态同步帧同步帧同步客户端帧同步服务端ECS框架概念ECS的解释ECS的特点EntityComponentSystemWorld ECS实现逻辑帧渲染帧 ECS框架使用帧同步ECS 状态同步 一般游戏的同步策略有两种#xff1a;…课程里的版本好像是1.9目前使用版本为3.8.3 开始~ 目录 状态同步帧同步帧同步客户端帧同步服务端ECS框架概念ECS的解释ECS的特点EntityComponentSystemWorld ECS实现逻辑帧渲染帧 ECS框架使用帧同步ECS 状态同步 一般游戏的同步策略有两种状态同步和帧同步 如下时序图为状态同步 c1操作从a走到b再走到c因为不必关注细节所以c1将a走到c这个信息告诉给服务端服务端验证这个操作是否合规将验证结果告诉回c1同时服务端还将这个信息转发给了c2和c3c2网络比较快立刻收到了这条数据根据插值模拟模拟出c1从a走到c的动作当然如果请求频率够快将a到b和b到c都告诉了c2那就模拟的更精细c3因为网络较慢过了很久才收到服务端的数据此时c1已经做下一个动作了那c3就会采取一个瞬移或加速的方式模拟c1的移动 优点 容易断线重连因为数据都在服务端容易防外挂因为逻辑都在服务端简单粗暴客户端只需获取服务端数据并展示 缺点 服务器压力大需要承担很大的计算量流量大数据均由服务端传送过来不同玩家屏幕表现不一样 帧同步 帧同步的计算全部在客户端服务端只负责做每帧收集操作合并操作并且转发 那么问题来了怎么保证所有客户端结果相同 相同输入 相同逻辑 相同结果 逻辑层和显示层的分离 同一帧c1想要移动c2想要进行攻击他们将数据都发送给了服务端服务端只进行合并转发给两个客户端c1收到了c1想要移动c2想要攻击的数据并进行模拟c2同样收到了c1想要移动c2想要攻击的数据并进行模拟下一帧中客户端都没有操作没有数据传给服务端服务器同样进行发送操作 注意 现代网游用这种模式当c2掉线了服务端仍然逐帧执行c1并没有受到影响而老代网游模式每一帧客户端都需要给服务端传送数据没操作也要传当c2掉线后服务端发现收不到c2的数据就会锁帧所有客户端都需要等待直到再次所有客户端的数据再老代网游如果有一个客户端网速很慢客户端就会拉长帧时间去保证每个客户端的帧更新是同步的会导致网速快的客户端也很慢 优点 流量低所有逻辑都在客户端方便做录像功能直接客户端再次执行运算逻辑即可服务器逻辑简化 缺点有可能作弊需要保证各端运算结果一致性比如随机数无限小数等实时性要求比较高帧同步的特点就是每秒同步很多次断线重连需要重新跑所有逻辑可优化 状态同步和帧同步比较 帧同步客户端 客户端职责 玩家操作不直接处理而是发送给服务器收到服务器一帧数据模拟一帧 帧同步但是逻辑在服务端 [代码实现]在下面 帧同步服务端 具体步骤可以看之前的文章 还是再总结一下 快速开始NodeJs项目 npm init -y 安装TS npm install typescript --save-dev 安装WS npm install ws --save-dev 安装提示 npm install types/ws --save-dev 生成tsconfig.json tsc --init 安装即时编译 npm install ts-node --save-dev 添加nodemon npm install nodemon --save-dev 服务端职责 把玩家加入到一局游戏中下发初始消息每一帧收集操作合包转发 代码实现(客户端服务端) ECS框架概念 ECS的解释 E - Entity 实体C - Component 组件S - System 系统 ECS的特点 网络-数据-逻辑-显示层相互独立C/S端可以运行同一份逻辑代码方便验证作弊 服务端没有creator内api逻辑显示放在一起的话服务端跑不了可以方便的进行预测和回退 Entity 每个Entity对象都有不同的EntityIdComponent挂在的对象同种类型的Component只能拥有一个提供Component的增删查和备份 Component Component只包含数据不能拥有逻辑函数Component挂载在Entity上ComponentId使用不同的位来区分因为Component操作比较频繁所以需要使用位运算效率优化 位运算 System System只拥有逻辑不能包含数据System拥有不同Type,比如逻辑帧System渲染帧System依靠SystemType来确定执行顺序和每帧执行次数onUpdate函数由系统自动触发不能手动调用 World ECS世界的入口单例驱动System和Update提供Entity的增删查功能使用forEach根据ComponentId组合来遍历Entity ECS实现 实现代码 逻辑帧渲染帧 如下图为一帧执行的内容和不同机器的运行速度 我们期望1s内能执行60帧每一帧执行一个逻辑帧和一个渲染帧那就需要每一帧耗时不超过16.6ms高性能机器每一帧耗时16ms(88)可以满足1s执行60帧低性能机器每一帧耗时24ms(1212)无法满足1s执行60帧那就会优先执行逻辑帧不执行渲染帧去满足1s执行60次逻辑帧保证高低性能机的逻辑次数一致以确保执行结果相同 ECS框架使用 实现和使用放在一起了 使用ECS实现一个简单的demo箭头旋转前进 实现代码 帧同步ECS 代码实现
http://www.dnsts.com.cn/news/282422.html

相关文章:

  • 中小型企业网站建设与管理ui设计速成培训机构
  • 网站用什么开发住房和建设建设局网站
  • 松原建设小学网站做阿里巴巴网站卖货咋样
  • 免费自助音乐网站申请国内做的较好的网站
  • 做公司网站 找谁做做期货看啥子网站
  • 烟台H5网站设计公司手机怎么自己制作图片
  • 企业网站模板论坛深圳定制纸箱
  • 网站互联网推广技术开发合同
  • 2008建设网站通过网页制作能赚钱吗
  • 做磁力链网站厦门怎么没有 网站备案
  • 顶部固定网站模板购买域名做销售网站可以吗
  • 国外有哪几家做充电桩网站深圳网站优化最好的方法
  • 吉安做网站公司制作一个赚钱的网站
  • 游戏网站开发难度注册域名之后怎么做网站
  • A00网站建设网站建设 赚钱吗
  • 郑州专业做网站公司wordpress加载不出来
  • 网站建设小程序湖南wordpress改域名
  • 山东定制网站建设公司广西建设厅网站
  • 东营哪里做网站经营网站备案
  • 做外国网站用什么服务器中国建设银行官网站基金查询
  • 网站制作的内容包含为了加强公司网站建设
  • 中国风手机网站模板如何在海外进行推广
  • 有什么做3维的案例网站酒类公司网站模板
  • 网站域名变更怎么查询百度电脑版下载官方
  • 做外贸有哪些免费的网站app制作器下载软件
  • 佛山专业建设网站wordpress进行不
  • 现在做个网站要多少钱wordpress 小工具无法拖拽
  • 南宁网站制作建设宁乡网站建设公司
  • 移动端什么意思长沙seo公司
  • 做的网站必须备案烟台建网站公司