最近更新
手機(jī)版
手機(jī)版

掃描查看手機(jī)站

當(dāng)前位置:973游戲網(wǎng) > 手游頻道 >  手游攻略 > 魔獸世界9.1開關(guān)地圖卡頓掉幀怎么辦 開關(guān)地圖卡頓掉幀解決方法介紹
魔獸世界9.1開關(guān)地圖卡頓掉幀怎么辦 開關(guān)地圖卡頓掉幀解決方法介紹

更新時間:2021-07-05 09:57

作者:匿名

  魔獸世界9.1開關(guān)地圖卡頓掉幀怎么辦,正式服也是在7月1日上線了9.1版本,那么玩家們在游戲中按M開關(guān)地圖時卡頓掉幀又應(yīng)該怎么辦呢,可能還有些小伙伴不清楚原因。所以下面就為大家?guī)砹碎_關(guān)地圖卡頓掉幀的解決方法介紹!

  魔獸世界9.1開關(guān)地圖卡頓掉幀怎么辦

魔獸世界9.1開關(guān)地圖卡頓掉幀怎么辦 開關(guān)地圖卡頓掉幀解決方法介紹

  造成卡頓的原因:

  C_TaskQuest.GetQuestsForPlayerByMapID

  這個api,在9.1,短時間內(nèi)多次(實際上3~4次)調(diào)用就會出現(xiàn)卡頓

  簡單的測試:

  做一個這樣的宏:

  /run print(C_TaskQuest.GetQuestsForPlayerByMapID(1961))

  /run print(C_TaskQuest.GetQuestsForPlayerByMapID(1961))

  /run print(C_TaskQuest.GetQuestsForPlayerByMapID(1961))

  /run print(C_TaskQuest.GetQuestsForPlayerByMapID(1961))

  你去連按試試,就能重現(xiàn)連按M開關(guān)地圖的卡頓感

  這個api是用于返回任務(wù)信息的,在開關(guān)地圖(實際上是地圖內(nèi)容刷新)的時候,瞬間會多次調(diào)用的情況。


  所以寫段代碼,給這個api加個緩沖時間,短時間內(nèi)只讓調(diào)用1次

  代碼:放入任意lua文件內(nèi)

  local temp = {}

  local pre = C_TaskQuest.GetQuestsForPlayerByMapID

  C_TaskQuest.GetQuestsForPlayerByMapID = function(mapID)

  ??if not temp[mapID] or temp[mapID].lasttime < GetTime() then

  ????temp[mapID] = temp[mapID] or {}

  ????temp[mapID].result = pre(mapID)

  ????temp[mapID].lasttime = GetTime()+1

  ??end

  ??return temp[mapID].result

  end

  宏:每次進(jìn)游戲自行點(diǎn)擊一次

  簡化版的宏:

  /run local m,t,r;local pre = C_TaskQuest.GetQuestsForPlayerByMapID;C_TaskQuest.GetQuestsForPlayerByMapID = function(mapID)if m~=mapID or t~=time() then m=mapID t=time()r = pre(m)end return r end

  宏和代碼稍微有點(diǎn)區(qū)別,效果大概是一樣的。

  這應(yīng)該是暴雪對這個api本身做了某些改動導(dǎo)致的,因為9.1之前的版本,這個api也是同時多次調(diào)用的情況,但是并不會導(dǎo)致卡頓


  PS:因為使用的方法是替換api進(jìn)行hook操作,在某些時候會出現(xiàn)taint現(xiàn)象

  目前已知的,戰(zhàn)斗中點(diǎn)擊任務(wù)列表,會無法打開地圖/任務(wù)界面(自行按M/L可以打開)

  這只是小問題,實際上非常多的插件都會導(dǎo)致類似的問題(理論上可以通過其他方案修復(fù),但是太麻煩了)。

相關(guān)資訊

CopyRight?2007-2021 www.ropkwcs.com All Right Reserved 晉ICP備2023022329號-1

溫馨提示:抵制不良游戲 拒絕盜版游戲 注意自我保護(hù) 謹(jǐn)防受騙上當(dāng) 適度游戲益腦 沉迷游戲傷身 合理安排時間 享受健康生活
游戲作品版權(quán)歸原作者享有,如無意之中侵犯了您的版權(quán),請您來信告知( 聯(lián)系郵箱:[email protected]),本網(wǎng)站將應(yīng)您的要求刪除。