Bu sitede bulunan yazılar memnuniyetsizliğiniz halınde olursa bizimle iletişime geçiniz ve o yazıyı biz siliriz. saygılarımızla

    seçtiğiniz oyuncu ile aynı istemci sürümünü kullanmıyorsunuz

    1 ziyaretçi

    seçtiğiniz oyuncu ile aynı istemci sürümünü kullanmıyorsunuz bilgi90'dan bulabilirsiniz

    İSTEMCİ TEMİZLİĞİ: 2021 Çalışmaları ve Planlarımız - LEAGUE OF LEGENDS

    İSTEMCİ TEMİZLİĞİ: 2021 Çalışmaları ve Planlarımız - LEAGUE OF LEGENDS

    LoL İstemcisi'nin performansını ve istikrarını arttırmaya yönelik güncellemelerimizi düzenli olarak paylaşacağımıza söz vermiştik.

    Bugünkü güncelleme, serimizin yedinci yazısı olacak. (İlk yazımızı burada, ikinci yazımızı burada, üçüncü yazımızı burada, dördüncü yazımızı burada, beşinci yazımızı burada ve altıncı yazımızı burada bulabilirsiniz)

    ÖZET: 2021'in ilk çeyreğini Chromium Embedded Framework'ü (CEF) yükseltmemizin önündeki engelleri kaldırmakla geçirdik. Hâlâ tamamlamamız gereken bazı işler olsa da yılın ikinci çeyreğinin sonlarına doğru Chromium Embedded Framework'ün yeni bir sürümüne geçmeyi bekliyoruz. Bu da oyunculara pek çok fayda sağlayacak.

    Chromium Embedded Framework'ü (CEF) Güncellemek

    Son yazımızda da belirttiğimiz gibi, şu anda üstünde çalıştığımız önemli projelerden biri de istemcinin Chromium Embedded Framework (CEF) sürümünü güncellemekti. CEF'in LoL İstemcisi mimarisinin merkezinde yatan web tarayıcısı olduğunu söyleyebiliriz. Bunun önemini geçen sefer yeterince veremediğimizi düşündüğümüzden bu sefer biraz daha açık konuşacağız. CEF'i güncellemek, istemciyi geliştirmek için yapabileceğimiz en önemli değişikliklerden biri. Bu sayede hem doğrudan bazı faydalar elde edecek hem de diğer geliştirmeleri yapma fırsatı yakalayacağız.

    CEF'i en son Kasım 2019'da güncellemiştik (sürüm 74) ve bu yazıyı yazdığımız andaki mevcut sürüm CEF 90. CEF'i güncellemek (hedefimiz CEF 90) bize şu faydaları sağlayacak:

    Geçtiğimiz çeyrek boyunca çalışmalarımızda mevcut web bileşenlerimizi (gömülü videolar, açılır bildirimler gibi web sitesi teknolojileri) yeni CEF sürümleriyle uyumlu olacak şekilde yükseltmeye odaklandık ve CEF'in kendisinin bir şeyleri bozmayacağından emin olmaya çalıştık. Bu bileşenleri yükseltmenin pürüzsüz bir deneyim sunmasını istiyoruz. Bu yüzden umarız son birkaç yama boyunca getirdiğimiz yükseltmeleri fark etmemişsinizdir. Bu yükseltmeler çok büyük miktarda kodu etkiliyor. Dolayısıyla testler sırasında birkaç sorunun gözden kaçtığını biliyoruz ama bu sorunları yakaladıkça çözmeye devam edeceğiz.

    Bu bileşen yükseltmelerini sadece birkaç hafta içinde tamamlayacağız ve ardından CEF'in kendisini güncellemeye geçebileceğiz. Bunu da Temmuz 2021'in sonuna kadar tamamlamayı umuyoruz.

    Sosyal Panel

    Son yazımızda bahsettiğimiz noktalardan biri de sosyal paneldi. Uzun vadede planımız sosyal paneli ComponentsJS'den (eski mimari) Ember'a aktarmak. Bu çalışmamız, şu anda CEF güncellemesini tamamlamaya çalıştığımız için duraksatılmış halde olsa da Ember'a yapılacak geçişin ilk adımlarından bazılarını tamamladık ve CEF güncellenir güncellenmez kaldığımız yerden devam edeceğiz.

    CEF güncellememizin önündeki engelleri kaldırmaya odaklanmadan önce çözdüğümüz önemli sosyal panel sorunlarıysa şöyle:

    Bellek İzi ve Javascript Hatalarına Dair Güncelleme

    Ayrıca tek bir seans boyunca oynanan oyunların bellek izini takip etmeye devam ettik. 10.25 Yaması'ndan bu yana oyun başına neredeyse 30 MB'lik bir azalma kaydettiğimizi ve bellek aşımı nedeniyle yaşanan çökmelerin azalmaya devam ettiğini belirtmekten mutluluk duyuyoruz.

    Değinmek istediğimiz son nokta da Javascript hataları. Önceki yazımızda Riot bölgelerindeki oyuncuların yaşadığı JS hatalarının sayısına dair bir hata yapmışız. 10.25 Yaması'nda bu sayı 265 milyondu. Tabii bu da sorunun öneminin altını bir kez daha çiziyor. Oyuncuların deneyimlediği hataların sayısı aslında değişmiyor. Değişen tek şey bizim yaptığımız ölçümler. O günden bu yana hataların sayısını yama başına 140 milyona düşürdük ve bu sayıyı daha da azaltacağımızdan eminiz.

    Sırada Ne Var?

    Kısa vadede CEF yükseltmesi asıl odaklanacağımız nokta olsa da 2021'in ilerleyen dönemleri için planladığımız birkaç diğer proje daha var.

    Yazı kaynağı : www.leagueoflegends.com

    İstemci Temizleme Çalışmaları - LEAGUE OF LEGENDS

    İstemci Temizleme Çalışmaları - LEAGUE OF LEGENDS

    BUNU NASIL  YAPACAĞIZ?

    Şimdilik uzun önyükleme sürelerine katkı yapan iki büyük yapısal sorunu tespit ettik. Bunların ilki, kodları istemcinin kullanabileceği parçalara ayırmamıza olanak tanıyan eklenti mimarimiz. Bu mimari, biz istemciye yeni işlevler ekledikçe şişti. İkinci sorunsa arayüzün üstüne kurulu olduğu Javascript altyapısını (Ember olarak biliniyor) yanlış kullanmamız.

    Şu anda istemci çok fazla eklenti ve Ember uygulaması kullanıyor. Hatta istemcinin önyükleme işlemi esnasında 41 ayrı eklenti ve 16 uygulama çalıştırıyoruz. Bunların her birinin başlaması 100 ila 800 ms sürüyor. Bu da hiç iyi değil.

    Planımız tüm bu eklenti ve uygulamaları daha az sayıda (ve teorik olarak daha verimli) eklenti ve uygulamalar altında birleştirmek. İlk olarak önyükleme esnasında başlatılanlara odaklanacağız; çünkü istemciye en büyük faydanın bu şekilde sağlanabileceğini düşünüyoruz.

    Şu anda pek çoğunuzun önyükleme işlemini tamamlaması 40 saniyeye kadar sürüyor. Eğer siz de bu oyuncular arasındaysanız bu deneyimin son derece yavaş ve sancılı olduğunu biliyorsunuzdur. Aynı durum, istemcinin çökmesi halinde onu yeniden başlatmanın daha da can sıkıcı olması anlamına geliyor.

    Bildirimler, arkadaş listesi ve Koleksiyon sekmesi gibi pek çok istemci özelliği, önyükleme sırasında başlayan eklenti ve uygulamalara bağlı. Dolayısıyla uzun vadeli amacımız önyükleme süresini %90'lık bölümdeki oyuncular için 15 saniyeye çekmek olsa da bu sırada istemcinin farklı yönlerini etkileyen bazı hata ve verimsizlikleri de ortadan kaldıracağımızı düşünüyoruz.

    Önyüklemeye odaklanacağımız birkaç ayın ardından hedeflerimize ne kadar yaklaşığımızı değerlendireceğiz. Muhtemelen baharın sonlarına doğru da dikkatimizi şampiyon seçimine kaydıracağız

    Şampiyon seçimi pek çok diğer eklentiyi ve Ember uygulamasını işin içine sokuyor. Biraz açmak gerekirse, şampiyon seçimi esnasında yaptığınız hemen hemen her şey yeni uygulamalar oluşturuyor. Şampiyon takas etmek iki tane oluşturuyor. Aynı durum sihirdar büyünüzü değiştirmek için de geçerli.

    Aynı oturumda ne kadar uzun süre LoL oynarsanız bu uygulamalar da o kadar fazla yığılıyor ve sonunda giderek yavaşlayan bir deneyimle karşılaşıyorsunuz. Şampiyon seçimi esnasında gerçekleştirdiğiniz çoğu eylemin sunucularımızla haberleşme gerektirmesiyse sorunu daha da büyüterek tüm etkileşimlere daha fazla gecikme ekliyor.

    Şampiyon seçimindeki asıl sorun, geri plandaki sistemlerimizin verileri yönetme şekliyle ilgili. Şampiyon seçiminin mevcut mimarisi, büyük miktarda önemli veriyi sistemlerimizden geçirmemize olanak tanıyor. Örneğin, Riot bir şampiyonu dereceli için devre dışı bıraktığında bu şampiyon neredeyse hemen ve değişiklik devreye sokulduğu anda şampiyon seçimi ekranında olanlar da dahil olmak üzere
    tüm oyuncular için devre dışı kalıyor.

    Bu gerçekten güçlü bir sistem olsa da çalışmak için büyük miktarda enerjiye ihtiyaç duyuyor. Mevcut sistemdeyse çok fazla gereksiz kontrol noktası ve darboğaz bulunuyor. Dolayısıyla çoğu zaman sadece ufacık bir giriş değiştiğinde bile tonlarca verinin yeniden oluşturulması gerekiyor. Bu da istemci deneyiminizi son derece kötü etkiliyor.

    Bunu düzeltmek için şampiyon seçimi altyapımızın işleyişini baştan aşağı değiştirmemiz gerekecek. Şampiyon seçimi esnasında tüm verilerin sunucudan istemciye geçiş biçimini yeniden düzenleyeceğiz.

    Ayrıca şampiyon seçimini daha da verimli hale getirebilecek iddialı ve uzun vadeli bazı hedeflerimiz daha var. Tüm istemciyi hiç eklenti kullanmayan tek bir Ember uygulaması altında toplamak da bunlar arasında. Ancak kısa vadede istemcinin hedeflenen değerlerde çalışmasını sağlamaya yetecek kadar değişikliğe gitmek istiyoruz. Bu değerleri yazımızın önceki bölümlerinde bulabilirsiniz.

    Altı aylık çalışma tamamlandığında "iyi" bir duruma ne kadar yaklaşacağımızı kestirmek güç. Fakat bunun sonuna geldiğimizde muhtemelen büyük ölçüde ilerleme kaydedecek ve sonraki adımlarımızın ne olduğunu da keşfedeceğiz.

    Yazı kaynağı : www.leagueoflegends.com

    Azure Media Services için Widevine lisansları teslim etmek üzere Axinom kullanma | Microsoft Docs

    Azure Media Services için Widevine lisansları teslim etmek üzere Axinom kullanma | Microsoft Docs

    Azure Media Services’ta Widevine lisansları vermek için Axinom kullanma


    Genel Bakış

    Azure Media Services (AMS), Google Widevine dinamik koruma ekledi (Ayrıntılar için bkz. Mingfeı blogumu ). Ayrıca, Azure Media Player (AMP) Widevine desteğini de ekledi (Ayrıntılar için bkz. amp belgesi ). Bu, hem MSE hem de EME ile donatılmış modern tarayıcılarda çok örnekli-DRM (PlayReady ve Widevine) ile CENC tarafından korunan akış DASH içeriği için önemli bir amadır.

    Media Services .NET SDK sürümü Media Services 3.5.2 ile başlayarak Widevine lisans şablonunu yapılandırmanıza ve Widevine lisanslarını almanıza olanak sağlar. Widevine lisansları teslim etmenize yardımcı olması için şu AMS ortaklarını da kullanabilirsiniz: Axinom, EZDRM, castLabs.

    Bu makalede, Axinom tarafından yönetilen Widevine lisans sunucusunu tümleştirme ve test etme işlemleri açıklanmaktadır. Özellikle şunları ele almaktadır:

    Tüm sistem ve içerik anahtarı, anahtar KIMLIĞI, anahtar çekirdek, JTW belirteci ve talepleri, aşağıdaki diyagram tarafından en iyi şekilde açıklanabilir:

    Content Protection

    Dinamik koruma ve anahtar teslim ilkesini yapılandırmak için lütfen bkz. Mingfeı 'nin blogu: Widevine paketlemeyi Azure Media Services ile yapılandırma.

    Her ikisine de sahip olan DASH akışı için çoklu DRM ile dinamik CENC korumasını yapılandırabilirsiniz:

    Neden Azure Active Directory Axinom 'ın Widevine lisans sunucusu için STS olarak kullanılamayacağını öğrenmek için JWT belirteci oluşturma bölümüne bakın.

    Dikkat edilmesi gerekenler

    Azure Media Player hazırlığı

    AMP v 1.4.0, hem PlayReady hem de Widevine DRM ile dinamik olarak paketlenmiş AMS içeriğinin oynatılmasını destekler. Widevine lisans sunucusu belirteç kimlik doğrulaması gerektirmiyorsa, Widevine tarafından korunan bir DASH içeriğini test etmek için yapmanız gereken ek bir şey yoktur. Örneğin, AMP ekibi, Widevine ile PlayReady ve Chrome ile Microsoft Edge ve ıE11 'de çalıştığını görebileceğiniz basit bir örneksağlar. Axinom tarafından sunulan Widevine lisans sunucusu, JWT belirteci kimlik doğrulamasını gerektirir. JWT belirtecinin, "X-AxDRM-Message" HTTP üstbilgisiyle lisans isteğiyle gönderilmesi gerekir. Bu amaçla, kaynağı ayarlamadan önce AMP 'yı barındıran Web sayfasına aşağıdaki JavaScript eklemeniz gerekir:

    AMP kodunun geri kalanı, AMP belgesinde olduğu gibi standart AMP API 'sidir .

    Özel yetkilendirme üst bilgisini ayarlamaya yönelik yukarıdaki JavaScript, AMP 'daki uzun vadeli yaklaşımdan önce kısa vadeli bir yaklaşım olmaya devam etmektedir.

    JWT belirteci oluşturma

    Test için axınom Widevine lisans sunucusu, JWT belirteci kimlik doğrulamasını gerektirir. Ayrıca, JWT belirtecindeki taleplerden biri basit veri türü yerine karmaşık nesne türüdür.

    Ne yazık ki Azure AD yalnızca temel türler içeren JWT belirteçleri verebilir. Benzer şekilde, .NET Framework API (System. IdentityModel. Tokens. SecurityTokenHandler ve JwtPayload) yalnızca karmaşık nesne türünü talep olarak girmenize olanak sağlar. Ancak talepler yine de dize olarak serileştirilir. Bu nedenle, Widevine lisans isteği için JWT belirtecini oluşturmak üzere iki ' un hiçbirini kullanmıyoruz.

    John Sheehan 'ın JWT NuGet paketi , bu NuGet paketini kullanacağız.

    Aşağıda, test için Axınom Widevine lisans sunucusu için gerekli talepler ile JWT belirteci oluşturma kodu verilmiştir:

    Axınom Widevine lisans sunucusu

    Dikkat edilmesi gerekenler

    Anahtar KIMLIĞI alınıyor

    Bir JWT belirteci oluşturma kodunda, anahtar KIMLIĞI ' nin gerekli olduğunu fark etmiş olabilirsiniz. JWT belirtecinin, AMP Player yüklenmeden önce hazır olması gerektiğinden, JWT belirteci oluşturmak için anahtar KIMLIĞI 'nin alınması gerekir.

    Kuşkusuz, anahtar KIMLIĞINI tutan birçok yol vardır. Örneğin, biri bir veritabanında içerik meta verileriyle birlikte anahtar KIMLIĞINI de saklayabilir. Ya da DASH MPD (medya sunum açıklaması) dosyasından anahtar KIMLIĞI alabilirsiniz. Aşağıdaki kod ikincisi için verilmiştir.

    Özet

    Azure Media Services Content Protection ve Azure Media Player her ikisinde de Widevine desteğinin en son eklenmesiyle birlikte DASH + Multi-Native-DRM (PlayReady + Widevine) akışını, aşağıdaki modern tarayıcılar için de AMS ve Widevine lisans sunucusu 'nda bulunan her iki PlayReady lisans hizmeti ile uygulayabiliriz:

    Aşağıdaki parametreler, Axınom Widevine lisans sunucusu kullanan mini çözümde gereklidir. Anahtar KIMLIĞI dışında, parametrelerin geri kalanı Wıdevine sunucu kurulumuna göre Axınom tarafından sağlanır.

    Ek notlar

    Media Services’i öğrenme yolları

    Media Services v3 (en son)

    Azure Media Services en son sürümüne göz atın!

    Media Services v2 (eski)

    Geribildirim gönderme

    Geri bildirim sağlamak ve Azure Media Services’ı geliştirme hakkında önerilerde bulunmak için User Voice forumunu kullanın. Doğrudan aşağıdaki kategorilerden birine de gidebilirsiniz:

    Teşekkürler

    Bu belgeyi oluşturmak için katkıda bulunan şu kişileri bildirmek istiyoruz: Kristjan Jõgi of Axinom, Mingfei yan ve Amit Esjput.

    Yazı kaynağı : docs.microsoft.com

    Yorumların yanıtı sitenin aşağı kısmında

    Ali : bilmiyorum, keşke arkadaşlar yorumlarda yanıt versinler.

    Yazının devamını okumak istermisiniz?
    Yorum yap