✦Laboratuvar · mühendislik günlüğü

Remio Lab — piksel hattından notlar.

Remio, küçük bir ekip tarafından herkesin gözü önünde geliştiriliyor. Bu, çalışma günlüğü — söküp yeniden yaptığımız yakalama yolları, bizi şaşırtan kodlayıcı ayarları, aşıp yeniden kurduğumuz gecikme bütçeleri. Yeni girdiler üstte; eskiler, sonradan fikrimiz değişmiş olsa bile yazıldığı gibi duruyor.

Son güncelleme 2026-05-197 girdiKronolojik, en yeni başta

✦Araştırma notları

Mühendislik günlüğü, sırasıyla.

Her girdinin tarihi ve durumu var, tek başına okunabilir. Yayında, değişikliğin son sürümde canlı olduğu; deney, hâlâ ölçtüğümüz; arşivlendi ise başka yöne geçtiğimiz anlamına gelir.

Yayında

Sanal ekran artık istemci penceresini izliyor.

Haftalarca macOS ana bilgisayarı sanal ekranını istemci ekranının çözünürlüğüne sabit tuttu; bu da ikisinden biri değiştiği an ana bilgisayar imleci ile istemci imlecinin boyut konusunda anlaşamaması demekti. Sanal ekran yöneticisini, ana bilgisayarın çalışma alanı istemci pencere tuvalini gerçek zamanlı izleyecek şekilde yeniden yazdık. İmleç boyutları artık sınırın iki yanında, her pencere boyutunda eşleşiyor; Apple Ekran Paylaşımı'nın hep yaptığı gibi.

sanal ekran mantıksal noktaları ≡ istemci pencere tuvali noktaları  ·  piksel sınırı 3840  ·  Retina 1× veya 2×, pencerenin yerel piksel zarfına göre seçilir

Deney

Sanal ekran zarfını neden 3840 pikselde sınırladık.

Sanal ekranlar için ekran modlarını oluşturan dahili macOS çerçevesinin sessizce yıkıcı bir davranışı var: azami boyut olarak 4096 veya üzeri verildiğinde, azami değerde hayali bir 2× Retina modu icat ediyor ve etkin bayrağını çalıyor. İstenen piksel sayısı iki katına çıkıyor. Bunu dört gece süren yokla-ve-kaydet çalışmasıyla deneysel olarak doğruladık. Üç bin sekiz yüz kırk, her Retina MacBook'un tam ekranını ve bir 4K harici ekranı karşılıyor ve çerçeve uydurmayı bırakıyor. Uzun kuyruğu hâlâ izliyoruz.

≥ 4096'da deneysel bozulma  ·  sınır = 3840  ·  MacBook Pro 16″ Retina (3456 × 2234) ve 4K harici ekranı (3840 × 2160) kapsar

Yayında

Bir haftalık deneyin ardından önceki akış motoru sürümüne geri dönüş.

Akış motorumuzu daha yeni bir dala karşı yeniden derledik; güncellenen hız ayarlama mantığının yerel ağ yolunda birkaç milisaniye kazandıracağını umuyorduk. Bunun yerine alma tamponu ölçtüğümüz her uzak oturumda geriledi: uçtan uca medyan 18 ms arttı ve değişkenlik genişledi. iOS, macOS, Android ve Windows'ta kararlı sürüme geri döndük. Yeni dalın yamaları, üst akıştaki davranış değişirse diye arşivde duruyor.

yeni sürüm medyan gecikme · uzakta 64 ms  ·  önceki sürüm medyanı · uzakta 46 ms  ·  ayar bayrakları değişmedi

Yayında

İlk gidiş-dönüş örneğinden yerel ağ ve uzak bağlantı için uyarlanabilir bit hızı algılama.

Ana bilgisayar artık bağlantı kurulduktan sonra ilk gidiş-dönüş süresi ölçümünü bekliyor, ardından iki bit hızı zarfından birini seçiyor. 15 ms'nin altında bağlantı doğrudan yerel ağ olarak ele alınır: başlangıç 8 Mbps, asgari 8 Mbps, azami 30 Mbps. 15 ms'nin üzerinde aktarmalı veya uzak sayılır: başlangıç 2 Mbps, asgari 300 Kbps, azami 15 Mbps. Eşik, aynı ağdaki Wi-Fi ile makul her hücresel ya da bölgeler arası aktarma arasında duruyor; bu yüzden beta telemetrisinde yanlış pozitifler nadir oldu.

yerel doğrudan · 1 – 5 ms  ·  aynı ağda Wi-Fi · 5 – 10 ms  ·  bölgesel aktarma · 30 – 80 ms  ·  4G · 40 – 100 ms

Yayında

AMD'de donanım H.265, Windows ana bilgisayarının birincil kodlayıcısı olarak.

Rakip kodlayıcılarla uzun bir kıyaslamanın ardından AMD'de donanım H.265, önemsediğimiz her Windows ana bilgisayarı ölçümünü kazandı: daha düşük medyan kodlama süresi, daha düşük anahtar kare sıçraması ve ultra düşük gecikmeli sabit bit hızı ön ayarı tampon baskısı altında öngörülebilir davranıyor. GPU uyuşmazlığında yedek olarak H.264 duruyor. B-kareleri kapalı. Düşük gecikme bayrağı açık. Kodlayıcı her yakalama tikinde tam olarak bir kare üretiyor.

bit hızı · 8 Mbps sabit  ·  fps · 60  ·  tampon · 1 kare  ·  B-kareleri · 0  ·  ön ayar · ultra düşük gecikme

Arşivlendi

Kareleri tamponlamayı neden tamamen bıraktık.

Uzak masaüstü bir görüntülü görüşme değildir. Her kare ekranın en güncel durumudur. Eski kare, tanım gereği bir yalandır. Alma yolunu, oynatma tamponu hiç olmayacak şekilde yeniden kurduk: bir kare gelir, çözülür, çizilir; bu sırayla ve aynı kare aralığında. Kaybolan bir paket, hâlâ zamanında ulaşabiliyorsa hemen yeniden gönderilir; ulaşamıyorsa Remio onu atlar ve beklemek yerine yeni bir kare ister. Ara sıra kısa donmaları kabul ediyoruz. Bir kuyruğun sürekli milisaniye vergisini kabul etmiyoruz.

zorunlu oynatma gecikmesi · asgari 0 / azami 0  ·  asgari oynatma gecikmesi · 0  ·  kaybolan paketler zamanındaysa yeniden gönderilir, değilse yeni kare

Arşivlendi

Gecikme bütçesi, ilk kez yazıya döküldü.

Bir odada oturup kullanıcıların hissetmesini istediğimiz rakamdan geriye doğru çalıştık — tipik bir yerel ağ oturumunda, camdan cama yirmi milisaniyenin altı. Yakalama, kodlama, hız ayarlama, gönderme, alma tamponu, çözme, çizme. Her birini yazdık ve karşısında ölçebileceğimiz bir milisaniye bütçesi verdik. Bu günlükteki girdilerin çoğu, o rakamları gerçek trafikte savunmaktan doğdu.

yakalama · 1 ms  ·  kodlama · 3 ms  ·  hız ayarlama patlaması · ≤ 10 ms  ·  alma tamponu · 0 ms  ·  çözme · 2 ms  ·  çizme · 1 ms

✦Sinyal zarfı

Oturum oturum, neyi ölçüyoruz.

Bu dört rakam her sürüm notunda yer alır, çünkü bağlantının veri sayfasında iddia ettiği şeyi değil, gerçekte nasıl hissettirdiğini anlatırlar.

Akış çözünürlüğü
6K'ya kadaryerel piksel zarfı, 1× veya 2× Retina pencereye göre seçilir
Kare hızı
120 fps'ye kadarsabit ritim, B-kareleri kapalı, kare başına bir yakalama tiki
İşlem gecikmesi, yerel ağ
~8 mscihazdan cihaza doğrudan bağlantıda dahili olarak ölçüldü — gerisi ekranınızın kendi 60 Hz yenileme ritmi
Aktarım şifrelemesi
Uçtan ucaher seferinde yeni bir oturum anahtarıyla uçtan uca şifreleme
Remio uygulama simgesi

Broşürü değil, yapım sürecini izleyin.

Laboratuvar, bir şey yayına girdiğinde ya da bir şey bozulduğunda güncellenir. Bu, üç ayda bir gelen bültenden daha işinize yarıyorsa indirme bağlantısı bir tık uzağınızda — uzun anlatım için güvenlik teknik belgesi de öyle.

Hesap yokİzleme pikseli yokHerkesin gözü önünde geliştirildi