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

注册 登录

QQ登录

只需一步,快速开始

查看: 2939|回复: 8
打印 上一主题 下一主题

[分享] 究极分享 提升性能40%以上 双核的来 亲身测试

[复制链接]

0

主题

84

帖子

155

积分

中级玩家

Rank: 3Rank: 3

贡献度
10
金元
1152
积分
155
精华
0
注册时间
2005-5-7
跳转到指定楼层
主题
发表于 2009-3-31 19:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
以前就知道有这个东西 路过了 没在意   
昨天下了  来一用   性能提升了一半  爽了

分享之   但是  不支持汉化  应为在 日本版本的 改的

原帖
對大多AMD核心無效

355並非缺少支持雙核的代碼, 而是有意無意指定了單核工作.

一般而言, 線程任務由哪個核負擔是由系統分配的, 除非程序自身帶有屏蔽某核的指令, 否則系統會讓程序運行一段時間後, 讓幾個核的工作盡量平均.

查找msdn文檔, 得知SetThreadAffinityMask這個API是用來指定線程工作的. 快速打開代碼部分, 發現在主循環中每次經過這裡:

push    1                               ; /AffinityMask = 1
call    dword ptr [<&kernel32.GetCurrent..>; |[GetCurrentThread
push    eax                              ; |hThread
call    dword ptr [<&kernel32.SetThreadA..>; SetThreadAffinityMask

AffinityMask參數被設成1了, 依照msdn文檔的定義, 這表示屏蔽第一核以外的所有核心(BIN:00000001), 那麼要修復這個bug(雖說不一定是bug, 可能有其他用意)就很容易了, 將該參數設為bin:11111111(0xff), 即可解除對其他核的屏蔽. (經實驗, 設0有同樣效果)

我的intel T7500雙核, vista sp1系統, 未打過任何外部雙核補丁(如smss註冊表, amd optimizer等等)表現如下
http://www.youtube.com/watch?v=JiQKyXU74t8

非程序員出身, 希望學有專攻者多賜教

附件是修改過的1.01主程序

希望懂的朋友在 汉化版上改一下  源地址大部分人下不了我传一下
别忘了备份啊   地址上传中  实在上传不了了  贴出源地址吧 大家悄悄下
http://game.脏话.net/thread-2380219-1-2.html
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-3-21 14:45 , Processed in 0.520854 second(s), 16 queries , Memcached On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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