sdflysha 发表于 2012-3-14 07:33:08

针对64位系统三国全战不跳出补丁

注意,该补丁不保证完全支持32位系统,请注意备份,我在Windows7/8上测试通过
版主983031945按:此外,在XP或者win7的32位系统上打上该补丁影响不大,另一类似补丁见http://www.1mod.org/thread-47044-1-1.html
我以前玩三国发现老是跳出,基本上每30分钟跳出一次
后来将内存全部dump出来后发现是空引用的问题,而导致这一问题的原因最可能的就是内存不足,作为一个32位程序,如果设计合理,理论上最大可访问内存应该是4G,在我的任务管理器中显示是1400多MB,显卡显示占用的700多MB,这明显表示是内存不足,这个程序能占用的内存最大为2G(请参见:http://msdn.microsoft.com/zh-cn/library/aa366778%28en-us,VS.85%29.aspx)
2G和4G,中间的区别就是一个:IMAGE_FILE_LARGE_ADDRESS_AWARE,根据以上总结,我修改了sanguotw.exe,只改动了5个字节,(可以通过comp来查看)便让它支持了4G的内存,后来我打开任务管理器,显示三国占用了2200多MB,这完全说明了问题,现在玩三国,因为内存不足的问题跳出已经全部,但材质不存在的跳出仍然存在,总的来说就是,至少我已经玩了好几个下午,都没有跳出(注意,我仍然打开了PhyX和Cuda,愚以为关掉它没有什么用)

对于非常普遍的32位Windows XP,从以上结论来说,这个问题应该(不保证)也可以缓解(msdn的原话是:“Up to 3 GB with IMAGE_FILE_LARGE_ADDRESS_AWARE and 4GT”),就是说32位Windows XP的应用程序支持使用3G的内存,但要达到,还需要打开PAE的支持,如果想防止跳出,强烈建议换成64位系统,如64位Windows Vista/7/8,64位的XP没有用过

技术上的话,多说无用。但成果不敢独享,我把补丁传上来,不用回复。拙作一个,为人民服务,不用加精,不喜勿喷:

下载地址:SanGuoTW.exe(13.17MB)
http://115.com/file/dp74mt8b#
文件名:SanGuoTW.exe
请覆盖SanGuoTW.exe进行安装


补充内容 (2012-3-14 12:43):
PS:刚刚从网上找到一个4GB_Patch,能方便地解决这种问题,辛勤的柱子工作组可以用它来更新下一版的三国:
百度网盘:http://pan.baidu.com/s/1skBOB2d 密码:f7nl   
效果与下载补丁一样

补充内容 (2012-3-15 12:17):
经测试,32位系统用处也有,2G->3G,但是有限
很多人发防跳出的贴都没用找到问题,所以经常没有用

补充内容 (2012-3-15 12:23):
跨线程访问可能会导致跳出,可以通过绑定CPU内核来解决
还有某些兵种材质不存在,只望柱子工作室的大神们了
大家用了都明白,该补丁是很有效的

百度网盘:http://pan.baidu.com/s/1skBOB2d 密码:f7nl   




214681543 发表于 2012-3-14 22:12:36

此补丁非常有用…很建议能放置顶里面,已经不跳了(只有遇见BUG时的跳出)

华佗 发表于 2012-3-14 14:03:03

论坛里牛人好多啊,我来鼎帖!{:5_117:}{:5_127:}{:5_127:}

姜维(伯约) 发表于 2012-3-14 13:46:59

试了一下,2小时游戏无跳,而且用的不是窗口模式。
以前的话,最多半小时就跳了~~

214681543 发表于 2012-3-14 13:19:47

先试用一下,看看效果如何,顶楼主

潴潴猫 发表于 2012-3-14 08:19:54

{:5_126:}经杀毒暂无发现,试用中
先感谢LZ{:5_127:}

潴潴猫 发表于 2012-3-14 08:16:17

{:5_135:}沙发。。。

潴潴猫 发表于 2012-3-14 08:20:39

{:5_136:}死孟获{:5_130:}

abcsteven 发表于 2012-3-14 09:19:50

人才啊。。。这得支持啊。。。楼主加油啊,,,争取把能解决的问题都解决啊

设计院 发表于 2012-3-14 09:34:18

32位的打酱油路过

设计院 发表于 2012-3-14 09:35:02

郁闷了,怎么今天老是扣我金币,背啊

大达达大 发表于 2012-3-14 09:41:46

这个绝对要支持的...

书上说 发表于 2012-3-14 09:59:57

我来试一试!!!!!!!!!!!!!!!!!!

zxgwxit 发表于 2012-3-14 10:04:11

最佩服楼主这种低调,谦虚无私的人

zxgwxit 发表于 2012-3-14 10:05:34

现在好多人都想着法弄回复,真的没意思。

潴潴猫 发表于 2012-3-14 10:34:43

{:5_120:} 貌似还有问题可能我的跳出不是LZ解决的那些方面

未命名 发表于 2012-3-14 11:12:53

如果对大家有所帮助的话,楼主功德无量啊

未命名 发表于 2012-3-14 11:16:16

Ps:XP没有64位的系统,只有32位的,所以xp最多只支持3.75G的内存

clublilin 发表于 2012-3-14 11:32:35

强烈支持楼主,我的就是64位的,经常跳出,那个烦啊。。。。

iioobao 发表于 2012-3-14 11:37:09

{:soso_e179:}

iioobao 发表于 2012-3-14 11:37:48

{:soso_e179:}

姜维(伯约) 发表于 2012-3-14 12:18:51

牛人,内存溢出问题应该可以解决了~~{:5_106:}

sdflysha 发表于 2012-3-14 12:21:56

未命名 发表于 2012-3-14 11:16 static/image/common/back.gif
Ps:XP没有64位的系统,只有32位的,所以xp最多只支持3.75G的内存

你好,Windows XP是有64位系统的,见wiki百科:
http://zh.wikipedia.org/zh-cn/Windows_XP
应用原话就是:“另一个版本,被称为Windows XP 64位元专业版,支援Intel IA-32扩充的x86-64处理器。x86-64在AMD被称为“AMD 64”,主要用在AMD的Opteron和Athlon 64处理器,而在Intel被称为“Intel 64”(过去被称为IA-32e和EM64T),主要用在Intel的Pentium 4及之后的处理器上”

大学学你妹 发表于 2012-3-14 13:07:35

膜拜技术帝,坐等成精……
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 针对64位系统三国全战不跳出补丁