Netflix Uygulamasının Telefonunuzda Donmasının Sebebi Nedir ?

 Netflix Uygulamasının Telefonunuzda Donmasının Sebebi Nedir ?
Okunuyor Netflix Uygulamasının Telefonunuzda Donmasının Sebebi Nedir ?

 Netflix Uygulamasının Telefonunuzda Donmasının Sebebi Nedir ?

Bir video dağıtım hizmeti olan Netflix, Android TV, Apple TV ve Amazon’un Fire TV’si dahil olmak üzere çok çeşitli akıllı TV’ler için uygulamalar sağlar. Netflix ve akıllı TV satıcıları arasındaki işbirliği, uygulama geliştirme için gerekli olduğundan, Netflix, satıcının uygulama geliştirmesini destekleyen “iş ortağı mühendisi” adlı bir işe sahiptir.

Bu ortak mühendislerden biri olan John Blair, sürece dahil olduğu “video petit donma hatası” nın ortaya çıkmasından çözüme kadar olan süreçten bahsediyor.

2017’de bir gün, Blair Android 5.0 tabanlı Android TV için uygulamalar geliştirmekle görevlendirildi.

 Projeye dahil olan dört kişi, cihazı piyasaya süren bir Avrupa ödemeli TV, cihaz için donanım yazılımı geliştiren bir şirket, cihaz için çipler geliştiren bir şirket ve Blair’in kendisiydi.

Proje yarı yarıya sorunsuz geçti, ancak ödemeli TV tarafındaki dahili test aşamasında “videoların dalgalı olduğu” şeklinde bir sorun vardı. Görünüşe göre “Netflix uygulamasını başlatma, videoyu oynatma ve ardından cihaza özel ekrana dönme” işlemini gerçekleştirirken her zaman bir sorun oluştu.

 Bir çip geliştirme mühendisinin “sebebinin Netflix’in Android TV uygulaması ‘Ninja’nın yetersiz ses veri aktarım hızı olduğunu” bildirmesi üzerine Blair paydaşların hataları düzeltmeleri için baskı hissetti. Sorunu araştırmaya başladığını söylüyor.  Başka cihazlara da kurulduğunu merak eden ve test için kullanılan cihazdaki sadece Ninja’nın sorun yaşadığını merak eden Blair kaynak kodunu okuyarak ses aktarım mekanizmasını araştırdı.

İlk olarak, Ninja indirilen verileri uygulamadaki arabellekte bir kez depolayacak ve ardından cihaz tarafındaki kod çözücü arabelleğinde saklayacaktır. Blair’in araştırmasına göre, bu Ninja arabelleğinden cihazın kod çözücü arabelleğine veri aktarma işleminin Ninja tarafından değil, Android TV tarafında yapıldığı bulundu.

Ninja’nın maksimum kare hızı 60 fps’dir, bu nedenle bir karenin güncelleme aralığı yaklaşık 16.66 milisaniyedir. Başka bir deyişle, bir karenin aktarılması 16.66 milisaniyeden fazla sürerse, video kesintiye uğrayacaktır.

Ancak Android TV tarafında kare aktarım hızı 15 milisaniye olduğu için teoride aktarım hızında bir marj vardı. “Fazla zaman nerede?” Blair merak etti.

Blair, sorunu daha fazla araştırmak üzere transferin günlüğünü almak için kendi senaryosunu yarattı. Aşağıdaki grafik, günlüğün bir görselleştirmesidir, turuncu, aktarım hızıdır (bayt / milisaniye), sarı, aktarım sürecini çağırmak için geçen süredir (milisaniye), gri, aktarım sürecinin çağrı aralığıdır (milisaniye). Oldu.

Videonun kesintiye uğradığı alan olan grafiğin sağ tarafına bakarsanız, transfer işleme çağrı aralığının normal 15 milisaniyeden oldukça büyük olan 55 milisaniye olduğunu görebilirsiniz. Aktarım işleminin daha seyrek çağrılmasının bir sonucu olarak, turuncunun aktarım hızı da rahat video oynatmanın mümkün olmadığı alana düşmüştür.

Blair, proje yetkililerine “bunun Android tarafındaki işlemlerden kaynaklanan bir sorun olduğunu” bildirdiğinde, “o zaman lütfen transfer işleminin çağrı aralığını azaltın” dedi. Ancak Blair, meslektaşının şu anda keşfettiği Android 5’te aşağıdaki hata tarafından kurtarıldığını söylüyor.

Android’in arabellek aktarım süreci, uygulama ön plandayken 15 milisaniye aralıklarla çağrılır, arka plandayken fazladan 40 milisaniye bekler ve 55 milisaniye aralıklarla çağrılır, ancak Android 5’te uygulama ön plandadır Arama aralığının, taşındıktan sonra bile 55 milisaniyede kaldığına dair bir hata olduğu söylendi.  Temel neden, Android 6’da düzeltilen bir hata olduğu için “cihaz tabanlı bir Android 5.0 hatasıydı”. Blair vakayı “en zor” olarak nitelendirdi ve “geniş bir sistem yelpazesini araştırdı ve meslektaşlarının yardımıyla tahmin edilemeyen sorunları sürekli öğrenmek ve çözmek için en sevdiğim ortak mühendis olarak çalıştı.

Yorum Yap