作者ak147 (斬擊掰)
看板WOW
標題[心得] 關於記憶體回收
時間Wed Aug 31 10:35:29 2011
早安早安~又來騙p幣了
根據z>31>9>5
上了
http://www.wowwiki.com/API_collectgarbage 看了看
然後我懶惰手動按macro
所以又弄了個可以在進入戰鬥離開戰鬥的時候自動釋放記憶體的小UI
這次實用多了
因為不管大UI小UI 只要動作過總是會產生佔記憶體的垃圾
所以全職適用!!--應該說只要有裝UI的玩家 就適用
而且沒意外不會有改版動作XD
又由於程式碼極為簡單
所以寫了簡單的註解給想從macro界進入ui界的同學看
local F = CreateFrame("Frame")
--建立一個Frame F用來監聽後面的事件
F:RegisterEvent("
PLAYER_REGEN_ENABLED")
--要F在離開戰鬥時有反應
F:RegisterEvent("
PLAYER_REGEN_DISABLED")
--要F在進入戰鬥時有反應
F:SetScript("OnEvent",function()
--跟F說有反應的時候要幹嘛
_G.collectgarbage("collect")
--就是叫 她去清垃圾
end)
--清完沒事了
高亮的部份叫做Event 很重要 我覺得是一個UI的靈魂
當然要有反應啊!總不會希望寫出來的UI跟死魚一樣吧?
完整列表在這邊
http://www.wowwiki.com/Events_A-Z_(full_list)
給end
http://cl.ly/9k4H - Memory 1.0
--
您確定要離開【 World of Warcraft 】嗎(Y/N)?[N]
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.43.227.36
1F:推 cigaretteass:推! 08/31 10:41
2F:推 PTTco:推 08/31 10:43
3F:→ Daniel66:可是進戰鬥就清記憶體不會讓電腦lag嗎? 08/31 10:49
不想在進入戰鬥時清就把下面這行刪掉囉
F:RegisterEvent("PLAYER_REGEN_DISABLED")
我是想確保戰鬥中是最順的狀態
想在別的時候清的話 詳見Events表
4F:推 MetatronJ:真的會清嗎 我有另外一個UI會釋放記憶體 感覺這個沒清到 08/31 10:52
會清啊 我現在就在用
5F:推 salami:記憶體回收 是指整理拿到小七丟回收桶嗎:D? 08/31 11:06
我看成把小七丟到回收桶...
6F:推 serialhon:推 遊戲中記憶體變化要怎麼看? 08/31 11:19
/run print(collectgarbage("count")) 顯示總共用了多少(包含BZ內建UI)
第一個網址裡面有更多功能
7F:推 salami:打開電腦機殼:D(誤) 08/31 11:21
摸摸看可以知道溫度變化(無誤
8F:→ Taiwanotoko:如果我用Windows7 64bits 搭配16G RAM... 08/31 13:18
9F:→ Taiwanotoko:需要擔心記憶體嗎... 08/31 13:19
10F:→ Taiwanotoko:之前RAM大跌我買了六條4G的 08/31 13:20
6 x 4 = 16G 似乎不是唯一解XD
根據莖滑區的資料是說WOW預設給UI用的是48mb 然後WOW跑的是32bit模式
48mb 一超過遊戲就自動清
假設好死不死戰鬥中超過界限了 一次清這麼多 不lag 我覺得你的電腦很強
WOW內建部份剛Reload完約17mb 用一用應該會增加
保守估計內建的只增加到20mb
那我們額外裝的就只剩28mb可用
再假設裝的是華麗的大眾型UI...就是有gui設定介面這種
(額外這部份我很多朋友都大約20mb上下XD)
零零總總加一加 額度剩下8mb
哭哭
11F:推 serialhon:感謝 08/31 13:28
12F:→ Taiwanotoko:兩條在另外一台上面~~ 08/31 13:50
13F:→ Taiwanotoko:那有指令能夠讓 WOW 用多點嗎~~ 08/31 13:51
有喔
14F:推 spirit761127:又來推了xd 實用 08/31 14:03
XD
15F:→ IminXD:想請問..解壓縮後有- Memory資料夾,還有__MACOSX 08/31 14:05
16F:→ IminXD:__MACOSX裡面還有個- Memory資料夾...到底要抓哪個用呢@@ 08/31 14:06
__MACOSX資料夾可以直接砍掉 那個對於Win來說也是垃圾XD
17F:推 intela12374:請問這個是要把- Memory資料夾解壓縮到AddOns裡面嗎? 08/31 15:14
18F:→ intela12374:__MACOSX直接無視DEL掉? @@ 08/31 15:15
對 不過不刪也完全沒影響就是 toc沒設定那裡面的東西所以不會去讀她
19F:推 HELLOMONKEYs:請問 原PO製作的UI 有辦法設定在團隊中才使用嗎? 08/31 15:56
可以啊 Events有一堆事件讓你挑!
改READY_CHECK_FINISHED還可以在完成團隊確認時幫你清咧
不過我目前用起來都是秒清就是了 lol
20F:推 sleepybaby:死魚XDDD 08/31 16:04
被發現了XDD
21F:推 coiico:請問這UI會給電腦多餘的負擔嗎? (老電腦怕承受不起) 08/31 18:53
這個不是用OnUpdate去一直跑一直跑
而是只在特定事件出現時觸發
又由於程式碼極短 記憶體只佔0.28k
所以負擔幾乎沒有! 絲毫感覺不到她的存在~
我CPU才C2D 1.86Ghz喔
22F:推 coiico:並含的資料夾__MACOSX跟- NamePlates的同名怎處理? 08/31 18:58
23F:→ zonhan:不用處理, .toc檔內沒寫不會讀進去 08/31 19:19
同上XD
24F:推 coiico:所以是取代覆蓋過去? 08/31 19:34
蓋不到吧? 這個資料夾是 - Memory
25F:推 coiico:我下載下來的- NamePlates和- NamePlates裡面都有2個資料夾 08/31 19:41
26F:→ coiico:同樣都是同名資料夾+ __MACOSX資料夾. 08/31 19:42
27F:→ coiico:還是__MACOSX這資料夾可以刪除不用? 08/31 19:42
喔喔我懂你的意思了 對 直接刪掉吧
28F:推 quadra:推一個,快點上Curse吧! 08/31 19:46
29F:噓 jefflin921:顆顆 08/31 22:26
顆顆屁...快上線...
※ 編輯: ak147 來自: 114.43.227.36 (08/31 22:28)