CheatMaker 论坛

注册

 

返回列表 12345678» / 100
发新话题 回复该主题

重編譯模擬器240501 [复制链接]

31#

根據自己在DeSmuME源代碼中的探索
發覺根本沒有ENABLE_SSE4這個開關
所以才會設置這個開關卻顯示為SSSE3
反而是有ENABLE_SSE4_1和ENABLE_SSE4_2這兩個開關
自己添加到desmume.props文件中就可以指定這兩個開關了
實測SSE4.2+AVX2不會改變遊戲最大加速度
但調節速度卻可以提升, 例如透過"="鍵調節到4倍速
比起SSE2可以快上20幀, 以上同樣是以機戰W測試
至於為何用機戰W測試, 是因為這個遊戲不明原因
加速就是不能超過機戰K或L的幀數, 所以只要有影響到速度
我都會拿機戰W測試, 以上一點心得分享
遲些將分享SSE4.2+AVX的build, 敬請留意

更新: 已上傳分享
最后编辑Blader 最后编辑于 2022-04-14 16:06:16
TOP
32#

DeSmuME例行性更新
ppx分享的模擬器為方便老舊電腦使用
僅採用默認的SSE2編譯
本論壇分享的模擬器給有速度需求的玩家
採用SSE4.2+AVX2編譯
理論上DeSmuME還支持AVX512
但無奈我的電腦不支持這項指令集
就算編譯出來我自己也用不了
並且貌似也沒有模擬器會要求AVX512
那很多電腦都要被迫升級, 因此暫無法分享
TOP
33#

找了ICC下來編譯DeSmuME
但是用ICC內部的clang-cl工具組
編譯出來的模擬器執行效率很低...
結論還是用MSVC+MinGW的clang-cl工具組編譯要安定
TOP
34#

用了一個晚上的時間試驗一些編譯細項
再對挑選過的模擬器進行重編譯
發現還是有些64位模擬器可以因此順利查找基地址
即遊戲內存段位在0xFFFFFFFF之內
以下是幾個試驗成果
DeSmuME沒發現問題
Dolphin加載遊戲報錯, 但仍可以玩, 就是搜索不到數據和模擬器不穩定, 隨機崩潰
DuckStation加載遊戲即崩潰
FCEUX沒發現問題
Ootake沒發現問題
PCSX2可正常遊戲, 但不明原因曾出現破圖狀況和模擬器不穩定, 隨機崩潰
PPSSPP加載遊戲報錯, 無法運行遊戲
Project64沒發現問題
Snes9x沒發現問題
bsnes-plus, Flycast, Mednafen和melonDS無法使用MSVC編譯
因此沒有試驗報告, 貌似加載ISO媒體的模擬器都會有問題
反而加載ROM媒體的模擬器多數都可正常運作沒毛病
估計之後就會釋出調整過編譯參數的模擬器吧
TOP
35#

用MSYS2始終找不到方法
可以令編譯出來的64位exe像MSVC編譯的一樣
完全使用32位的地址段
最關鍵的參數--disable-large-address-aware居然是32位exe限定
基本是束手無策, 另外印象中MSVC可以編譯Flycast
但剛才編譯卻總是失敗, 大概還不支持MSVC2022吧
目前想用MSVC編譯Flycast和melonDS都以失敗告終

題外話昨天下了RA來玩一下, 結果還是沒長進
32位版能用的core越來越少, 到底怎樣維護的
我看乾脆留下64位版就好了吧, 32位版根本變垃圾
對這模擬器越來越沒好感了真是
TOP
36#

不是我要偷懶, 這幾天DeSmuME的更新
都是針對macOS的改動, 沒有Win系統的事兒
我也是會看更新內容才決定編譯不編譯的
一股腦的追新沒什麼意義, 還請各位見諒
TOP
37#

DeSmuME例行性更新
取消分享SSE4.2+AVX2的build
採用clang-cl的SSE2編譯版執行效率已經很高
基本沒必要編譯多餘的版本
反而還令到部分老電腦無法運行模擬器

Flycast改採dev分支進行編譯
同樣為1.3正式版, 但相比master分支
多了Naomi 2遊戲的支持, 懂的都懂

重新補回幾個模擬器分享
共通點是64位版都能查找32位範圍的基地址
但僅限MSVC編譯的模擬器

Dolphin, DuckStation, PCSX2及PPSSPP
若比照編譯會有問題故不會分享
bsnes-plus, Flycast, Mednafen及melonDS
同樣無法比照編譯, 僅能做到模塊起始地址在0x400000

以上模擬器如使用上遇到問題還請反饋給我
會在確認後第一時間修正或下架
TOP
38#

原來GLideN64有自己的編譯腳本
比起直接MSVC編譯果然還是靠譜不少
就是不知為何用過這個腳本以後
反而MSVC編譯一直失敗, 算了應該沒差
TOP
39#

DeSmuME例行性更新

melonDS更新Qt版本至5.15.3
不用擔心, 模擬器仍為獨立exe, 不依賴dll

Project64重新編譯了GLideN64插件
依然是官方3.0.1使用的revision
就是改用源代碼自帶的編譯腳本編譯而已
TOP
40#

不明白什麼情形... MSVC又能編譯GLideN64插件了
一下好一下壞搞得我好亂哪, 然後我發現編譯出來跟官方還是有點差別
revision的值我不管怎樣做都是8位數, 但官方版永遠都是7位數
不曉得是否我偷懶用MSYS2的Git的緣故, 可以一個軟件搞定的事情我很不想另外安裝其他軟件...
TOP
发新话题 回复该主题