游戏开发论坛

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

讨论:效率最高的游戏循环,怎么写?

[复制链接]

0

主题

61

帖子

61

积分

注册会员

Rank: 2

积分
61
发表于 2007-7-24 11:30:00 | 显示全部楼层

Re:讨论:效率最高的游戏循环,怎么写?

你也玩WOW ,很好,给你一个提示。

当绘制某些物体所需要的资源未能完全载入时,WOW不是等待资源完全载入,而是先不显示那些物体,直到IO线程完成对资源的读取。

在你突然进入到人非常多的地区时,你不会被卡住,而是会看到人物慢慢被刷出来。

按照你的想法,处理完一切再去渲染,很好,你会卡上至少10秒,

你还能忍受?要是我早就开骂了。
==============================================================
LZ基本功太差了,没听说过1/10秒规则?处理任何事务都不应当超过这个时间,否则用户会感觉非常卡。

这还是对一般程序的要求,对游戏只会更苛刻。

还有FPS控制,什么叫FPS控制?你的FPS不应当无限制,也不应当随着显示场景的复杂度不同而有剧烈波动。过高的FPS除了作宣传,没有任何意义——你在浪费CPU时间,为什么不把这些时间让给AI、物理处理部分??

渲染不应当被系统消息打断,除非那是退出消息。

某位大侠说消息计数大于100的时候就退出消息处理。真正的游戏不会这么干,应当查询在消息处理上花了多少时间,若超过给定的值(例如,55毫秒)则立即退出消息处理。

这样做的好处是,若消息很容易处理,则一次可以多处理几个,若需要大量计算时间,那最多只能处理一个。这符合负载均布原则。
====================================================
还有,各位听说过多线程吗?作为一个想开发游戏的程序员,不知道这个简直是搞笑。为什么你们总是认为,查询消息队列的频率一定要和FPS一致??

180

主题

3511

帖子

3520

积分

论坛元老

Rank: 8Rank: 8

积分
3520
 楼主| 发表于 2007-7-25 15:11:00 | 显示全部楼层

Re:讨论:效率最高的游戏循环,怎么写?

FPS不需要控制。
显示卡的默认设置是“开启垂直同步”,FPS被定为85,还用程序做处理吗?

180

主题

3511

帖子

3520

积分

论坛元老

Rank: 8Rank: 8

积分
3520
 楼主| 发表于 2007-7-26 00:51:00 | 显示全部楼层

Re: Re:讨论:效率最高的游戏循环,怎么写?

wuwenye: Re:讨论:效率最高的游戏循环,怎么写?
还有FPS控制,什么叫FPS控制?你的FPS不应当无限制,也不应当随着显示场景的复杂度不同而有剧烈波动。过高的FPS除了作宣传,没有任何意义

卡马克----3D技术方面站在最前线的人物,他开发的《DOOM》就不做“FPS控制”。
之所以这样,那么多显卡制作商才愿意拿《DOOM》来衡量自己显卡的品质。
他们都以“运行 DOOM 时的 FPS 达到 100以上”为荣耀。

世界上最流行的网络游戏,暴雪公司的《魔兽世界》就不做“FPS控制”。
在高配置的机器上,《魔兽世界》能跑 FPS=200以上。

人家卡马克,暴雪都不做“FPS控制”,你却做,
说明你比卡马克更牛,比暴雪更牛了呗?
[em10]

86

主题

2251

帖子

2386

积分

金牌会员

Rank: 6Rank: 6

积分
2386
QQ
发表于 2007-7-27 09:16:00 | 显示全部楼层

Re:讨论:效率最高的游戏循环,怎么写?

只要你的数据更新频率在不同机器上是恒定,可以不限制FPS,限不限制仁者见仁智者见智
如果数据更新频率保证好,只要FPS不是太低,眼睛不会有明显的感觉。如果游戏你给定60FPS,你的某个场景把FPS拉到十几帧照样卡。不给定FPS限制的话,某台机器跑你的程序,平时150FPS,某些场景60FPS,视觉上是没太大感觉的(关键是数据更新不和FPS绑定)。
限制FPS的好处是,把系统资源留给其它程序,这点比较符合pc的多任务风格。如果是平台,就没这方面的考虑~

0

主题

61

帖子

61

积分

注册会员

Rank: 2

积分
61
发表于 2007-7-28 09:25:00 | 显示全部楼层

Re:讨论:效率最高的游戏循环,怎么写?

我已经说过,过高的FPS仅用于宣传目的。

3D技术前沿?你应该先读一下《The Direct3D 10 System》,真的。

如果你还不知道什么叫细节偏移纹理,什么叫“继承”的话,请不要提“前沿”这两个字。

还有物理处理器(PPU),以及如何在GPU中进行物理处理。这些才是3D游戏未来的发展方向。

读一下《GPU精粹》,你可以看到这方面的内容。
===============================================================================

如果你看一下AI、物理处理部分所需要的计算能力,你就不会认为FPS控制是多余的。

还有,显卡的垂直同步默认的是“应用程序控制”,难道你的显卡这么强?竟然强制开启,?濉?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-25 17:14

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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