拳頭終於要修復客戶端了:在接下來的六個月內,清理客戶端

歷經十年,英雄聯盟依然是現在最受歡迎的PC端電子競技遊戲之一。隨著時間推移,全球範圍內的英雄聯盟玩家也在不斷擴大,面對玩家提出的反饋和建議,拳頭設計師也在不斷改進和調整。除了英雄的平衡問題之外,也有不少玩家一直在反饋英雄聯盟客戶端卡頓、掉線的問題。最近Riot官方終於宣佈要對客戶端進行一次改進了:

拳頭終於要修復客戶端了:在接下來的六個月內,清理客戶端

Riot:在接下來的六個月時間內,我們將對英雄聯盟客戶端的後臺基礎架構進行一次調整和改進。為了跟進我們的進展過程,我們將分享兩個主要客戶端性能指標:客戶端加載時間以及英雄選擇延遲。在改進這兩個指標的過程中,我們還會處理一些諸如bug、崩潰等問題。簡單來說,我們要對客戶端進行一次“清理行動”。

有玩家詢問:Riot,你打算什麼時候修復客戶端?

這是很多玩家都在詢問的問題,客戶端狀態不佳,還有很多的bug,太多的延遲(特別是在英雄選擇中),以及其他很多的問題。比如崩潰、斷開鏈接等等。我們以前承諾過要對玩家做些什麼,但這些問題現在依然存在。

所以我們想嘗試一些新東西,今天我們不再含糊地討論一些我們的計劃,而是分享具體的目標,我們在接下來的六個月內會進行明確分工和細節問題。

拳頭終於要修復客戶端了:在接下來的六個月內,清理客戶端

客戶端:

去年年底,我們為客戶端添加了一些工具,用來跟蹤客戶端內的一些性能指標。比如,客戶端完全啟動所需要的時間(從打開到進入遊戲)。

我們希望這個時間低於15秒,即使是一些電腦運行比較慢的玩家也是如此。但是我們發現,目前對於一些玩家而言,可能需要三倍甚至四倍的時間。

而另一件主要的事情,就是我們一直在跟蹤的“英雄選擇鎖定”時間。這是在選定你想用的英雄後所需要的時間,在這張圖表中,你會看到英雄在9.22版本(橙色線)和10.2版本(藍色線)中的平均響應時間。響應時間以毫秒為單位。

拳頭終於要修復客戶端了:在接下來的六個月內,清理客戶端

對於玩家而言,客戶端的性能取決於他們電腦的運行速度,所以選擇英雄的響應時間也有所不同。雖然鎖定英雄時的延遲反饋並不太高,但依然會有玩家能夠感覺到。從點擊確定到真正鎖定所用的時間大概是300毫秒,而70%玩家的延遲反饋在450毫秒以上,10%玩家的延遲反饋會達到800毫秒。

拳頭終於要修復客戶端了:在接下來的六個月內,清理客戶端

接下來優先考慮的目標:

1:我們希望將客戶端完全啟動所用的時間降低到15秒左右,即便是一些運行比較慢的電腦也是如此;

2:我們想讓英雄鎖定響應時間下降到100毫秒;

我知道你們在想什麼,bug呢?崩潰和斷開鏈接怎麼辦?

拳頭終於要修復客戶端了:在接下來的六個月內,清理客戶端

為什麼要把這兩件事放在第一位呢?因為在解決完全啟動和鎖定響應延遲的過程中,我們會清理和重新調整客戶端基礎架構。我們相信,在追蹤這些目標的同時,我們能夠解決這些bug和崩潰的問題。

我們目前的計劃時間大概是6個月,我們相信會在實現這些目標方面取得有意義的進展。當然了,要想達到我們的長期目標,可能會需要更長久的時間。

我們要怎麼做?

到目前為止,我們已經確定了導致客戶端啟動緩慢的兩個主要問題。一個是我們的插件架構,隨著客戶端增加了更多的新功能,這個架構變得臃腫起來。第二個原因就是濫用驅動UI的avascript框架(稱為Ember)。

現在客戶端使用了太多插件和Ember,事實上,在客戶端啟動過程中,一共加載了41個不同的插件和16個程序。每一個都需要100毫秒到800毫秒不等的時間,這可不太好。所以我們的計劃是將這些插件和程序進行合併,我們相信會為我們的工作帶來很大的進展。

拳頭終於要修復客戶端了:在接下來的六個月內,清理客戶端

第一階段:客戶端完全啟動

現在,可能有很多玩家需要40秒的時間才能完全啟動。如果你也是其中一員,你可能會了解這種非常緩慢所帶來的痛苦。如果當客戶端崩潰時,你會收穫“加倍”痛苦。

整個客戶端有很多東西,比如通知、好友列表等等,它們都會在啟動過程中啟動插件和程序。因此,儘管我們將長期目標設定為,能讓玩家將啟動時間降低為15秒。但我們認為,在這個過程中,我們還將解決一些影響整個客戶端的bug和效率低下的問題。

拳頭終於要修復客戶端了:在接下來的六個月內,清理客戶端

第二階段:英雄選擇

英雄選擇引入了許多額外的插件和程序,簡單來說,在英雄選擇過程中幾乎所有的步驟都會創建新的程序。比如交換英雄、更改召喚師技能等等。

你玩遊戲的時間越長,這些程序就會堆積的越多,導致你的體驗也越差。更復雜的情況是,在英雄選擇過程中所採取的大多數操作都依賴於我們的服務器通信,從而增加了每次操作所帶來的延遲。

拳頭終於要修復客戶端了:在接下來的六個月內,清理客戶端

要解決這個問題,我們必須從根本上改變英雄選擇的後臺基礎架構。我們要重新研究如何在英雄選擇期間,將所有數據從服務器傳送到客戶端,這需要一些時間。

我們還有其他一些宏偉的長期目標,可以讓英雄選擇更加高效,比如將整個客戶端整合到一個沒有插件的單一Ember程序上。但在短期時間內,我們還是希望能實現速度效率加快的目標。

現在還不清楚我們在這六個月的時間內能做得多好,但當我們走到取得了很大的進展時,我們會繼續和玩家們來分享。

拳頭終於要修復客戶端了:在接下來的六個月內,清理客戶端


分享到:


相關文章: