3DMGAME 3DM首页 新闻中心 前瞻 | 评测 游戏库 热门 | 最新 攻略中心 攻略 | 秘籍 下载中心 游戏 | 汉化 购买正版 论坛

注册 登录

QQ登录

只需一步,快速开始

查看: 5004|回复: 12
打印 上一主题 下一主题

[讨论] 对于跳出的一点看法

  [复制链接]

4

主题

181

帖子

179

积分

中级玩家

Rank: 3Rank: 3

贡献度
4
金元
1634
积分
179
精华
0
注册时间
2011-9-15
跳转到指定楼层
主题
发表于 2013-4-10 00:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 geagewnufydsi 于 2013-4-14 12:58 编辑

最近玩这个游戏总是跳出,所以查了些资料,说说我的看法。
从另一个帖子:
看看弹出统计,什么最弹?
可以看出,弹出的主要是win7 32位系统。为什么会这样呢?个人估计是跟32位 和 64位系统的区别有关。具体说就是32位 程序运行的区别。
从微软的一个页面上虚拟地址空间 可以知道,32位系统中 用户模式进程虚拟地址空间 通常为 2 GB。 就是程序可以自己使用的空间只有2GB。
另一个介绍  
64位WINDOWS系统环境下应用软件开发的兼容性问题
中提及:   在32位系统中,默认情况下,应用程序可以使用2G内存,另外2G是系统使用的,通过修改配置,应用程序能使用3G内存,这时系统使用1G内存。在WOW64环境下,一个32位应用程序能使用最多全部的32位地址空间:4G !只需要在编译程序的时候,设置IMAGE_FILE_LARGE_ADDRESS_AWARE标志(/LARGEADDRESSAWARE开关),如果不打开这个开关,就和原来一样,只能使用2G内存。

由于这个游戏是今年(2013)年出的,而且可以在32位系统上运行,应该是32位程序,但是由于它需要许多的内存,64位并无问题,所以应该是打开了那个开关(编译程序的时候)。

关于这个问题,我在 adobe的网站上找到一个网页说明如何打开这2G的限制:
Enabling 3GB switch on Windows Vista™, Windows 7 or Windows XP

在3dm 的另一个页面上也有类似的解决方法:
各种跳出的可以试试这个方法(实测有效)

一样的方法,结合起来,打开2G的限制的方法是:(确保你有4G内存,否则会出错------更新:3G也可。
1:   开始------搜索框中输入 “ cmd  ”            ,不要回车
2:  在出现的 “ cmd.exe  ”   上右击,选择 “以管理员身份运行”
3:  出现的提示中,确定运行cmd
4:  在命令提示符 (cmd) 中,输入         "bcdedit /set IncreaseUserVa 3072"    之后应该要回车
5:  重启电脑

如果想要恢复到原来的设置,只要在第4步中把输入的内容改为                  
"bcdedit /deletevalue IncreaseUserVa"            就行了,同样要重启电脑。

这只是我的自己的想法。  另外,我看的另外一些资料中提及,并不是所有程序都可以完美运行在这种模式下,有些驱动可能出现问题,而且系统可能运行会变慢。所以我并未尝试,只是提出一个思考。

这里的扩内存和 32 位系统的超过4G内存限制的扩内存并不同。这里是32位应用程序的。因为需要将一些设备的地址映射到内存中,32位系统并不能真正使用4G内存,而在64位系统中,使用的是内存重映射技术,所以可以完整使用。我并不认同32位系统的扩内存,这其实没什么意义,远不如真正的64位系统。
如果有同学想要尝试,希望能够予以反馈。

那个数字 3072, 正好是 1024 * 3, 也就是3G , 因为这样做是为了将用户空间扩增到 3G,所以理论上 2048 ~ 3072 之间的数字也可以(我自己的猜测,应该不能超过3072)

在那个调查中,楼主的win7 64位也弹出, 估计是由于内存太小的原因。只有2G的内存,64位系统的优势发挥不出。根本原因还是这个游戏对于内存的要求太高,估计超出了2G的内存上限,所以32位系统遇到了问题。至于某些大内存64位 win7 也弹, 估计是程序的内存管理有问题导致的。
所以,32位想要解决问题,只能期待官方解决内存需求过高的BUG。这才是根本解决之道,这里的内容只是在官方的修正还未出之前,一个暂时的应急之策。
如果这个游戏在运行时真的需要超过2G内存,那么它根本不应该运行在32位系统上,而只能支持64位。

其他一些相关资料,有兴趣的同学可以看看:
32位,64位和内存的那点事   ---果壳的文章
32位模式下C/C++程序可用最大内存   --提及,32位系统单进程最大可用内存为3GB,即3072MB(扩增后)
Windows进程的用户空间   --- 关于用户空间,即程序可用内存空间
选32位还是64位的JVM好呢?-----  提到,实际上Windows可供使用的堆空间只有1.5-1.8G,小于本文提到的2G
BCDEdit 命令行选项  -------- 微软的文章,用到的命令行操作的介绍,“在项选项操作的 BCDEdit 命令行选项”就是用到的

如果这样还不能解决问题,那就是游戏自身的bug,只能等待官方的修正补丁。

欢迎拍砖。

更新: 刚刚按照此方法对系统做了更改,进入游戏后全速运行2星期,暂未出现任何跳出情况,保存也没有问题。系统暂未发现异常。
4月14日更新:  根据一些反馈,3G内存也可以。不过系统或许会偶尔卡顿,忍受不了的话改回去就行了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|3DMGAME ( 京ICP备14006952号-1  沪公网安备 31011202006753号

GMT+8, 2026-4-9 07:20 , Processed in 0.026235 second(s), 16 queries , Memcached On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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