bing0407 发表于 2009-3-31 19:07

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

以前就知道有这个东西 路过了 没在意   
昨天下了来一用   性能提升了一半爽了

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

原帖
對大多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

无聊的神 发表于 2009-3-31 19:15

这玩意MS是伪双核工作

koyiori2008 发表于 2009-3-31 19:52

楼主说的我太不明白

kamihito 发表于 2009-3-31 21:56

40%这个量化的数字怎么得出来的?

dedm000 发表于 2009-3-31 22:23

不是很懂!不过我的电脑可以全开效果,为什么还要提升40%?

1985zhou 发表于 2009-3-31 22:34

伪双核工作

corsair 发表于 2009-3-31 23:37

百分比不如前后的FPS比较会更明显。出Fraps截图吧!

wbaby2000 发表于 2009-4-1 15:57

float1987 发表于 2009-4-5 12:52

40%这个量化的数字怎么得出来的?
页: [1]
查看完整版本: 究极分享 提升性能40%以上 双核的来 亲身测试