Bu yazımızda LoL İstemcisi'ni iyileştirme çalışmalarımızda kaydettiğimiz ilerlemelerden bahsedeceğiz.
Bu yılın başlarına doğru, League of Legends İstemcisi'nin performansını arttırmaya yönelik perde arkası çalışmalarımızı her iki ayda bir sizinle paylaşacağımıza söz vermiştik.
Bugünün güncellemesiyle serimizin üçüncü yazısı olacak. (İlk yazımızı burada[1] , ikinci yazımızıysa burada bulabilirsiniz.)
ÖZET: İstemciye güç veren kodu temizleme amacımıza doğru emin adımlarla ilerliyoruz. Ayrıca yol boyunca başımıza bela olan bazı hataları temizlemekten de geri kalmıyoruz. Bunların ayrıntılarını aşağıda bulabilirsiniz. Kaydettiğimiz ilerlemeye rağmen hâlâ yapacak pek çok şey var. Temizlik çalışmalarımız tam gaz sürüyor.
İlk istemci yazımızda da belirttiğimiz gibi istemcinin performans sorunlarından bazılarını çözmenin en iyi yolunun istemcideki eklenti ve ember uygulamalarının bir araya getirilmesi ve sayıca azaltılması olduğunu düşünüyoruz.
Eğer bilmeyenleriniz varsa eklentilerin istemcinin kodunu kullanışlı parçalara ayırmakta kullandığımız araçlar olduğunu söyleyebiliriz. Ember uygulamaları, istemcinin kullanıcı arayüzünü çalıştırmamıza yardımcı oluyor.
Bu amaca doğru ilerleme kaydetmeyi sürdürüyoruz. Aşağıdaki grafik, eklenti ve ember uygulaması sayısının zaman içindeki değişimini gösteriyor.
Eğer yukarıdaki grafiği incelediyseniz, muhtemelen "Tamam da tüm bunlar istemcinin performansını nasıl etkiliyor?" sorusu aklınıza gelmiştir. Bu sorunun cevabıysa aslında epey karmaşık ama kısaca açıklamak gerekirse, daha az eklenti ve ember uygulaması daha etkili istemci kodu anlamına geliyor. Kodumuz sadeleştikçe performans da artıyor. Ayrıca bu sayede geliştiricilerin istemciyi çalışır halde tutması kolaylaşıyor.
Yaptığımız çalışmaların etkisini ölçmekte kullandığımız yöntemlerden biri de istemcinin açılma süresini gözlemlemekti. Bu ölçümün zaman içindeki değişimini aşağıdaki grafikte bulabilirsiniz:
Gördüğünüz gibi, önyükleme süreleri son birkaç aydır epey sabit. Yaptığımız işin risklerini göz önünde bulundurduğumuzda bunu orta ölçekli bir başarı olarak kabul edebiliriz. Büyük ölçekli kodları oraya buraya savurup eklentileri yeniden düzenlemek, dikkatli olmamamız halinde beklenmedik sorunlara yol açabiliyor. Tabii şimdilik böyle bir şey olmadı.
Önümüzdeki birkaç yama boyunca önyükleme sürelerinde bazı iyileşmeler görmeyi umuyoruz. Bunun sebebiyse, istemciyi her açtığınızda hangi eklentilerin yüklenmesi gerektiğini akıllıca seçecek yeni bir çözüm geliştirmemiz. (Bu konu hakkında daha kapsamlı bilgi almak için son istemci yazımızın "Affinity Sorunları" bölümünü inceleyebilirsiniz.)
Şu anki planımız, en azından önümüzdeki birkaç ay boyunca bu ayrı parçaları bir araya getirme çalışmalarımızı sürdürmek. Çünkü eklentiler ve ember uygulamalarının sayısının azaltılmasının uzun vadede önemli faydalar sağlayacağını düşünüyoruz. Kod ortamını genel anlamda temizlediğimizde hataları, bellek sızıntılarını ve çökmeleri gidermemiz kolaylaşacak.
Hatalar ve çökmeler demişken, gelin son dönemde oyuna getirdiğimiz bazı düzeltmelerden bahsedelim.
İstemci Ekibi, son birkaç aylık dönemde tonla hatayla ilgilenme şansı buldu. 10.13 Yaması'ndan itibaren, LoL Yama Notları paylaşımlarımızda giderilen istemci hatalarına yönelik ayrı bir bölüm göreceksiniz.
Ekibimizin yılın başından bu yana giderdiği bazı istemci hatalarını yamalara göre sıralanmış şekilde paylaşmak gerekirse:
Şimdilik bizden bu kadar! Eğer bir hatayla karşılaştıysanız bu form aracılığıyla onu bize ulaştırabilirsiniz. Ayrıca istemcinin sağ alt köşesindeki "hata" düğmesine tıklayarak bize istediğiniz zaman geribildirimde bulunmanız mümkün.
İstemci üstünde çalıştığımız esnada kendimize sürekli şu temel soruyu soruyoruz: LoL İstemcisi, oyunculara layık olabiliyor mu?
Bunun cevabıysa tabii ki öyle olamadığı yönünde. En azından şu an için.
Giderilmesi gereken hatalar, engellenmesi gereken çökmeler ve ortadan kaldırılması gereken derin mimari problemleri hâlâ mevcut. Kısacası bu yılın başlarında giriştiğimiz çalışmalar bu sorunun cevabı kocaman bir "evet" olana dek sürecek.
Böyle bir noktaya gelmemizin epey zaman alacağı kesin ve kaydettiğimiz ilerlemeleri sizinle paylaşmayı sürdüreceğiz. Önümüzdeki birkaç yama boyunca eklenti ve ember uygulamalarını bir araya toplamaya ve gördüğümüz hataların başlarını bir bir ezmeye devam edeceğiz. Bir sonraki güncellememizi paylaştığımızda, çalışmalarımızda yeni bir döneme girmiş olmayı umuyoruz. Bu noktada, özellikle Şampiyon Seçimi bölümünün hassasiyetine odaklanacağız.
Her zamanki gibi, oynadığınız için teşekkürler. Birkaç ay içinde yeni bir istemci yazısıyla karşınızda olacağız.