游戏开发论坛

 找回密码
 立即注册
搜索
查看: 14268|回复: 49

大型商业游戏是怎么处理显存的?

[复制链接]

270

主题

6442

帖子

6446

积分

论坛元老

Rank: 8Rank: 8

积分
6446
发表于 2008-4-13 21:13:00 | 显示全部楼层 |阅读模式
我发觉使命召唤1这样的游戏可以在16M的显卡上流畅的跑,因为我的笔记本是ATI 独显16M,商业游戏容量很大,动不动就把上百M的资源读进电脑,但是丝毫没有觉得显存不够用,当然了使命召唤2就不行了,FPS很低。
想问下商业游戏是如何处理交换显存里的数据的?
五星勋章3也遇到了这个问题,正在优化,但我的数据再多也比不上大型FPS游戏1/10资源。

21

主题

136

帖子

165

积分

注册会员

Rank: 2

积分
165
发表于 2008-4-13 21:25:00 | 显示全部楼层

Re:大型商业游戏是怎么处理显存的?

一般是一个场景的东西.读到内存.
最常用(最相关)的读到显存.
场景切换的时候再替换显存
形成显存-->内存-->硬盘 3者的调度吧?
我觉得挺像内存的管理一样..主要是淘汰旧的填充新的策略选择....
比如纹理.如果这个场景要用的就先读到显存.下个场景不需要了就释放掉.你说的16M而没有感到卡.大概是因为显存满了后,在提交放如显存的请求时.会把纹理等放到内存吧..如果内存大.效率不会差很多..

32

主题

1259

帖子

1351

积分

金牌会员

Rank: 6Rank: 6

积分
1351
发表于 2008-4-14 16:45:00 | 显示全部楼层

Re:大型商业游戏是怎么处理显存的?

下一关把上一关所用到的资源全部卸载掉。

270

主题

6442

帖子

6446

积分

论坛元老

Rank: 8Rank: 8

积分
6446
发表于 2008-4-14 21:11:00 | 显示全部楼层

Re: Re:大型商业游戏是怎么处理显存的?

Devil: Re:大型商业游戏是怎么处理显存的?

下一关把上一关所用到的资源全部卸载掉。


不可能全部卸掉,模型只是在开始的时候读一次, 每个关卡前只是设置模型的位置和数量, 如果卸了, 那每关还要重读一次, 五星2是这样做的, 五星3我想改变一下读模型和处理的方式, FPS慢感觉好象不都是显存的问题, 应当说程序规模做大后, 对电脑的性能要求高了, 可能五星3的容量比2还要小, 五星2里MP3占用的空间比较多, 但3里我改了, 把音乐压缩和编辑了, 每关用循环的方式播放.

12

主题

423

帖子

428

积分

中级会员

Rank: 3Rank: 3

积分
428
QQ
发表于 2008-4-15 11:58:00 | 显示全部楼层

Re: Re:大型商业游戏是怎么处理显存的?

Devil: Re:大型商业游戏是怎么处理显存的?

下一关把上一关所用到的资源全部卸载掉。


正解~~~
提高FPS不是对加载的资源进行优化,而是对要显示时的资源优化,如不可见的不显示,把循环里用时间限制,不是每循环一次都去渲染一遍,而是每隔一定的时间如大于(30/秒)再显示一次~~~

77

主题

485

帖子

486

积分

中级会员

Rank: 3Rank: 3

积分
486
发表于 2008-4-16 11:36:00 | 显示全部楼层

Re:大型商业游戏是怎么处理显存的?

Set A=Nothing
Erase A()

能不能卸载?

270

主题

6442

帖子

6446

积分

论坛元老

Rank: 8Rank: 8

积分
6446
发表于 2008-4-16 11:42:00 | 显示全部楼层

Re:大型商业游戏是怎么处理显存的?

我的游戏里用了一堆 SET NAME = NOTHING, 问题我知道了,不是显存问题, 是游戏需要更高的配置,FPS慢的那关屏幕上显示的东西多了,有10个坦克1个飞机,前面的关卡没有那么多坦克同时出现。

32

主题

1259

帖子

1351

积分

金牌会员

Rank: 6Rank: 6

积分
1351
发表于 2008-4-16 13:29:00 | 显示全部楼层

Re:大型商业游戏是怎么处理显存的?

你这种解释真没水平,别人100架坦克也没事,屁点游戏要更高的配置?8800GT?

270

主题

6442

帖子

6446

积分

论坛元老

Rank: 8Rank: 8

积分
6446
发表于 2008-4-16 14:20:00 | 显示全部楼层

Re: Re:大型商业游戏是怎么处理显存的?

Devil: Re:大型商业游戏是怎么处理显存的?

你这种解释真没水平,别人100架坦克也没事,屁点游戏要更高的配置?8800GT?


不用高, GF440或FX52100就可以了,其实在GF2上也不慢,只是FPS显示有点低,我在找原因,VB的效率是不可以和C++比的,毕竟是解释语言。
我放100个坦克也没问题,关键是真正的商业FPS游戏也不可能出现100个坦克在同屏,只会设计成远处的坦克看不到, 100个坦克显示在屏幕上的不叫游戏, 叫显卡测试DEMO。

11

主题

747

帖子

752

积分

高级会员

Rank: 4

积分
752
发表于 2008-4-16 16:17:00 | 显示全部楼层

Re: Re:大型商业游戏是怎么处理显存的?

Devil: Re:大型商业游戏是怎么处理显存的?

你这种解释真没水平,别人100架坦克也没事,屁点游戏要更高的配置?8800GT?

对头 [em20]
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-22 13:54

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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