游戏开发论坛

 找回密码
 立即注册
搜索
楼主: whb9633

潘多拉的盒子---无缝服务器(1)

[复制链接]

32

主题

228

帖子

228

积分

中级会员

Rank: 3Rank: 3

积分
228
发表于 2007-5-30 19:14:00 | 显示全部楼层

Re: Re: 潘多拉的盒子---无缝服务器(1)

bigbook2000: Re: 潘多拉的盒子---无缝服务器(1)
大家认为服务器之间交换数据降低了性能,其实这是要看情况的,其主要的瓶颈不在于服务器的交换,而在于服务器与客户端的交换,举个例子,玩家往地上扔个东西,玩家扔东西从客户段传输到服务器需要0.3秒钟,然后从服务器传回客户段需要0.3秒钟,如果是单台服务器,服务器处理时间是0.1秒,总计是0.7 秒,如果是2个服务器,角色服务期和地图服务器是分开的,角色服务器处理是0.05秒,地图服务器处理也是0.05秒,服务器中间网络交换(1000M局域网)是0.1秒,数据同步是0.1秒,总计是0.9秒,大家可以看到分布式服务器对性能影响很有限,但每台服务器的处理能力却成倍增加(功能单一了,不仅仅是数量上的增加那么简单)

  [k1l2y3m4匿名@localhost ~]# ping gameres.com
PING gameres.com (218.85.139.55) 56(84) bytes of data.
64 bytes from 218.85.139.55: icmp_seq=1 ttl=120 time=30.3 ms
64 bytes from 218.85.139.55: icmp_seq=2 ttl=120 time=29.3 ms
64 bytes from 218.85.139.55: icmp_seq=3 ttl=120 time=30.9 ms
64 bytes from 218.85.139.55: icmp_seq=4 ttl=120 time=29.1 ms
64 bytes from 218.85.139.55: icmp_seq=5 ttl=120 time=28.4 ms
64 bytes from 218.85.139.55: icmp_seq=6 ttl=120 time=28.7 ms
64 bytes from 218.85.139.55: icmp_seq=7 ttl=120 time=29.0 ms
64 bytes from 218.85.139.55: icmp_seq=8 ttl=120 time=28.2 ms
64 bytes from 218.85.139.55: icmp_seq=9 ttl=120 time=28.8 ms
64 bytes from 218.85.139.55: icmp_seq=10 ttl=120 time=31.9 ms
64 bytes from 218.85.139.55: icmp_seq=11 ttl=120 time=28.9 ms
64 bytes from 218.85.139.55: icmp_seq=12 ttl=120 time=28.7 ms

--- gameres.com ping statistics ---
12 packets transmitted, 12 received, 0% packet loss, time 11030ms
rtt min/avg/max/mdev = 28.253/29.394/31.948/1.083 ms

我ping gameres反应为0.03秒,请问为什么
“玩家扔东西从客户段传输到服务器需要0.3秒钟,然后从服务器传回客户段需要0.3秒钟”

6

主题

471

帖子

1047

积分

金牌会员

Rank: 6Rank: 6

积分
1047
发表于 2007-6-1 11:49:00 | 显示全部楼层

Re:潘多拉的盒子---无缝服务器(1)

呵呵,这只是最佳速度而已,服务器的消息处理机制没这么简单.
一般消息会放入消息队列,等候每秒的帧处理。
地图和功能处理都在一起,处理会快点,根据每秒帧数间隔。
如果地图和功能全分开,那就要等待处理回馈,再发给玩家.
功能越分散,同步的时间消耗和代码量越多.

32

主题

228

帖子

228

积分

中级会员

Rank: 3Rank: 3

积分
228
发表于 2007-6-1 12:51:00 | 显示全部楼层

Re:潘多拉的盒子---无缝服务器(1)

  你这里的帧不会是每秒渲染的帧数吧?
  还是指程序帧,每秒的循环次数?
  但bigbook2000已经把数据传输时间和处理时间分开了,我就对那个传输时间不大明白,新手,请多指教。

6

主题

471

帖子

1047

积分

金牌会员

Rank: 6Rank: 6

积分
1047
发表于 2007-6-1 14:57:00 | 显示全部楼层

Re: Re:潘多拉的盒子---无缝服务器(1)

k1l2y3m4: Re:潘多拉的盒子---无缝服务器(1)

  你这里的帧不会是每秒渲染的帧数吧?
  还是指程序帧,每秒的循环次数?
  但bigbook2000已经把数据传输时间和处理时间分开了,我就对那个传输时间不大明白,新手,请多指教。

服务器每秒有个固定的消息更新时间,比客户端的帧数肯定要少很多.
比如1秒更新5次.在这5次里处理移动等信息和世界更新,每次间隔就是200毫秒.
你发送的移动指令到服务器不会马上执行而是放入消息队列,等待更新时处理.

3

主题

68

帖子

68

积分

注册会员

Rank: 2

积分
68
发表于 2007-6-1 17:43:00 | 显示全部楼层

Re:潘多拉的盒子---无缝服务器(1)

兴之你又出来做怪~~

0

主题

2

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2007-6-1 17:51:00 | 显示全部楼层

Re:潘多拉的盒子---无缝服务器(1)

其实我觉得,如果自己重新开发一款引擎,那么把时间花在作无缝技术上实在不值得。
不过如果买现成的就是另外一回事情了,只要有钱,谁都想无缝的。

________________________________
大海航行靠舵手

18

主题

971

帖子

982

积分

高级会员

Rank: 4

积分
982
 楼主| 发表于 2007-6-1 20:46:00 | 显示全部楼层

Re: 潘多拉的盒子---无缝服务器(1)

   一般的MMO服务器和客户端的信息交换在每秒钟4~20次之间,如果是强调动作类的游戏可能交换的次数会更多一些,因为服务器要更精确地对客户端的操作做响应。而一般的注重流程和任务的RPG游戏交换次数可能要求就不太高,甚至可以在客户端做一些影响不大的逻辑过程来减少服务器的负担。
   "兴之你又出来做怪"句话是什么意思?纯粹口水?

0

主题

172

帖子

176

积分

注册会员

Rank: 2

积分
176
发表于 2007-6-2 00:36:00 | 显示全部楼层

Re:潘多拉的盒子---无缝服务器(1)

"兴之你又出来做怪"

呵呵,我看说的是纯数字的某位,是个很早以前就一直在吹嘘EVE的单服架构(还被偷换概念至单服务器)怎么个牛X,IOCP才是至高神的谜样人物。

59

主题

1490

帖子

1496

积分

金牌会员

Rank: 6Rank: 6

积分
1496
发表于 2007-6-2 11:32:00 | 显示全部楼层

Re:潘多拉的盒子---无缝服务器(1)

<魔兽>服务器6/1前后又大面积瘫痪,9C又没有过好6/1啊。。。。。

32

主题

228

帖子

228

积分

中级会员

Rank: 3Rank: 3

积分
228
发表于 2007-6-2 16:35:00 | 显示全部楼层

Re: Re: 潘多拉的盒子---无缝服务器(1)

whb9633: Re: 潘多拉的盒子---无缝服务器(1)

   一般的MMO服务器和客户端的信息交换在每秒钟4~20次之间,如果是强调动作类的游戏可能交换的次数会更多一...

  等的就是你这个。
  想多请教几个问题:
  可是每秒4~20次相差居然五倍,每次信息交换的数据量多大?
  1000/20=50,50毫秒跑一趟好像有点危险,能举些实际的游戏的例子吗?
  昨晚ping gameres 居然到9百毫秒之多,可能是我这边的路由问题,接着就不能上网了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-25 10:32

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表