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

注册 登录

QQ登录

只需一步,快速开始

查看: 5254|回复: 15
打印 上一主题 下一主题

[讨论] 辐射3汉化补丁跳出的一点猜测

[复制链接]

1

主题

911

帖子

977

积分

超级玩家

Rank: 5Rank: 5

贡献度
7
金元
9489
积分
977
精华
0
注册时间
2006-9-30
跳转到指定楼层
主题
发表于 2008-12-18 09:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用的是原版,一个小时内跳出4次,以前不用汉化时从没跳出过
每次的跳出的时所做的事情都不同,有的是刚load一个场景,有的是开pipboy
但是每次的错误代码都是c0000005。
稍微查询了一下c0000005是 STATUS_ACCESS_VIOLATION的意思。就是程序里函数调用不该调用的内存位置
网上有个了c0000005错误例子
MyFunction (char * StringParam) {         
          int nlen;        // declare an integer variable
          nlen = strlen(StringParam);
          <more code>
}
这里面strlen函数是用来统计StringParam的长度的,而这个函数的做法是搜索StringParam的一个个字节,找到0就返回。因为默认字符串的结尾要有一个0的。但是如果没有0,则strlen函数会继续搜索下去,直到搜索到内存范围外,。这个内存范围是操作系统分配给辐射3或者汉化补丁的。这样,操作系统检测到这个操作,就会报错,因为每个程序不应该读取其他程序的内存空间。
基本上,这个是程序的bug,不知道是辐射3本身,还是汉化补丁,还是某个版本的显卡驱动的问题。
一些诸如降低配置呀,整理内存之类的方法其实都不本质。理论上windows有虚拟内存,内存再不够最多会慢不至于会出这样的错误。
我的配置是
T9300 CPU
4GB DDR2 667 RAM
NVIDIA 8800M-GTX 512MB
Vista x64 家庭高级版
Fallout3 默认各项设置最高


如果其他人有类似的问题,建议解决办法有
换操作系统,换显卡驱动,换游戏版本。
那个Skullptura 的高压版是对游戏的材质做了很大替换,还有降低音质之类的,可以换换。
显卡驱动也可以换换,说不定能解决问题,我就懒得折腾了等下一版汉化补丁了
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-5-6 01:10 , Processed in 0.030587 second(s), 16 queries , Memcached On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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