游戏开发论坛

 找回密码
 立即注册
搜索
楼主: 游戏之家

宣三国英雄传提高速度的办法

[复制链接]

18

主题

971

帖子

982

积分

高级会员

Rank: 4

积分
982
发表于 2005-9-9 12:09:00 | 显示全部楼层

Re:宣三国英雄传提高速度的办法

Windows可以为每个独立的进程提供2G的内存空间

是4G,不是2G,呵呵

18

主题

971

帖子

982

积分

高级会员

Rank: 4

积分
982
发表于 2005-9-9 12:15:00 | 显示全部楼层

Re:宣三国英雄传提高速度的办法

另,04、05年出来的国外3D游戏资源基本上2G以上,打包存储。那么使用的内存多少自然很简单可以算出来,解包是先一次性读入包的内容,然后再在内存里解包和定位资源。所以一般应用程序不会用到2G,但是现在的3D游戏现在突破这个限制。因为分块读入资源是根本不现实的做法。

89

主题

822

帖子

847

积分

高级会员

Rank: 4

积分
847
发表于 2005-9-9 12:31:00 | 显示全部楼层

Re:宣三国英雄传提高速度的办法

我觉得应该是内存镜像技术,大的资源包并不需要全部读入到内存中,Windows也提供了文件Map接口,现代磁盘I/O已经使得这种速度不是很慢了,也就是说把文件的定位游标当作是内存指针,移动这个指针就相当于在文件中定位(其实虚拟内存不就是这样的吗)

18

主题

971

帖子

982

积分

高级会员

Rank: 4

积分
982
发表于 2005-9-9 14:45:00 | 显示全部楼层

Re:宣三国英雄传提高速度的办法

呵呵,这样做就是一开始游戏就lock整个资源包?而且存在多个文件的互相信赖的情况,处理起来并没有想象中那么简单,然后到游戏结束再free ?用windows管理的vm比自己想象中的vm要强很多,因为虚存表在系统底层实现,用的是IO互斥,想想游戏仅为了那点方便(还影响速度),就另劈奚径,在安全和调试时都得不到任何保障,这种做法实不可取.所以现在见到的都是一次性直接读资源进去 ,当然很多没见过,也没有去深研过。要知道是不是用的map也很简单,在进入游戏场景后,自己写个小程序lock住资源,看看能不能lock或是游戏会不会读不到数据出错就知道了,呵呵,现在内存很多人都 上G了,不在乎开销那点东西,倒 是内存和显存间的通 道才是游戏开发者心痛的瓶颈.

15

主题

363

帖子

390

积分

中级会员

Rank: 3Rank: 3

积分
390
发表于 2005-9-9 21:19:00 | 显示全部楼层

Re:宣三国英雄传提高速度的办法

好像是Windows 2000还是什么的虚拟内存数量可调,默认是系统接管和享有2GB,是不能被控制和引用的,这包括Dll区间、NULL区间等等。而自己可以用2GB,总共是4GB。但是可在系统中设置其为用户3GB,系统1GB,系统好像最低也必须保留1GB。好像是阿,因为我自己没搞过,也没看国。

嗯嗯,我同意说“New失败是因为硬件”这种说法是很少会遇到的,大部分或者绝大部分情况下都是操作系统那一级出的问题。但是内存管理器一般做的时候不会仅仅做小内存管理,也会做页式内存管理。我对这里不太了解了就,去年我所在的公司就出现过内存全分光了,是在逻辑服务器,单一个地图就1个多GB,物件链表等等再一建立,哼哼……挂得很郁闷。因此我想强调的是,内存管理不是万能的,但是有内存管理比没内存管理还是有好处的。

至于内存光了那个问题,后来把逻辑服务器的内存分配全部重新整理整理,卸了好多不必要的数据,才勉强搞定,呵呵。

资源在运行时应该会有延迟加载和调入调出,因为不考虑资源,单游戏逻辑所需的内存数量也很惊人。感觉魔兽单机这样的,一类地图就是一类资源,而整个魔兽单机也就1.几个GB。

130

主题

2714

帖子

2714

积分

金牌会员

Rank: 6Rank: 6

积分
2714
 楼主| 发表于 2005-9-10 04:55:00 | 显示全部楼层

Re:宣三国英雄传提高速度的办法

GIF在内存里解压肯定是要比BMP在硬盘上读要快的多, 游戏速度可能提高不明显, 载入速度应当快, 我是指大量的图片读入, 综合效率会提高.

18

主题

971

帖子

982

积分

高级会员

Rank: 4

积分
982
发表于 2005-9-10 09:45:00 | 显示全部楼层

Re: Re:宣三国英雄传提高速度的办法

noslopforever: Re:宣三国英雄传提高速度的办法

好像是Windows 2000还是什么的虚拟内存数量可调,默认是系统接管和享有2GB,是不能被控制和引用的,这包括D...

nt以上所有的虚存都可以调。看到控制面板/系统/高级/性能,点设置就可以看到了,你想用10G都可以,98几年没用不记得可不可调了,系统默认也没有说要几G,xp最少要300-600M。打包的东西不可能分段载入的,因为是一体的,资源分布也没有规律,只能从文件头去算......,当然,我所说的内存耗尽指的不是物理内存耗尽,事实上物理内存不大,一般都给系统做快速通道和加载核心程序用了,也就是说,如果你是256M的内存,在系统启动后基本上就耗尽了,应用程序基本上只能用到通道的一部分和大部分的VM .好了,这个内存分配问题到此为止吧 ,也不是要争个输赢,交流一下看法而已.

18

主题

971

帖子

982

积分

高级会员

Rank: 4

积分
982
发表于 2005-9-10 09:48:00 | 显示全部楼层

Re:宣三国英雄传提高速度的办法

虽然说内存耗尽是系统级操作的,但实际上也是硬件不够用造成的,所以有上一说。各位见量

3

主题

107

帖子

112

积分

注册会员

Rank: 2

积分
112
发表于 2005-9-15 15:41:00 | 显示全部楼层

Re:宣三国英雄传提高速度的办法

呵呵,真的学到了不少东东 ^_^

0

主题

1

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2005-9-21 17:48:00 | 显示全部楼层

Re: Re:宣三国英雄传提高速度的办法

游戏之家: Re:宣三国英雄传提高速度的办法

GIF在内存里解压肯定是要比BMP在硬盘上读要快的多, 游戏速度可能提高不明显, 载入速度应当快, 我是指大量的图片读入, 综合效率会提高.


这个楼主自己测试过吗,我的经验是刚好相反,解压GIF要比在硬盘上读取BMP慢的多的多
载入完成后游戏速度应该是没有区别的
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-28 04:59

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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