Skip to content

v0.3.0 — Faz 3: ölçekleme

Choose a tag to compare

@heraklessii heraklessii released this 02 Sep 00:16
· 14 commits to main since this release

Bu bir yayın değil. İç kilometre taşı; depo private, indirebilen tek
kişi sensin. Public dağıtım heraklessii/Muifly üzerinden yapılacak ve
hâlâ M3'ü (kod imzalama) bekliyor.

Kurulum

  • Muifly_0.3.0_x64-setup.exe (2,2 MB, NSIS, kullanıcı bazında kurulum)
  • Muifly_0.3.0_x64_en-US.msi (3,3 MB) — ilk kez üretiliyor, aşağıya bak

İkisi de x64 ve tam sürüm, demo değil.

İMZASIZ. Kod imzalama M3'ü bekliyor, o yüzden Windows SmartScreen
"bilinmeyen yayıncı" uyarısı çıkaracak: Daha fazla bilgi → Yine de çalıştır.
Beklenen davranış, kurulumun kendisiyle ilgili bir sorun değil.

Faz 3 — ölçekleme

Ekran okunuyor, büyütülüyor, oyunun üstünde duran bir pencerede gösteriliyor.
Oyunun kendisine dokunulmuyor: belleğine yazılmıyor, çağrıları
yönlendirilmiyor, süreci açılmıyor (tasarım ilkesi 3).

Dört algoritma — tam sayı katı (varsayılan, yeni renk üretmeyen tek yol),
bilinear, Lanczos (a=3), xBR. Çalışırken değiştirilebiliyor, ekran kararmıyor.

Gerçek zamanlı yol GPU'da. CPU mu GPU mu sorusu ölçümle kapandı:
1080p→1440p tek kare, release derlemesi — bilinear 270 ms, Lanczos 208 ms,
xBR 1293 ms. 60 FPS'in kare bütçesi 16,67 ms. Ölçekleme D3D11 piksel
gölgelendiricilerinde ve yakalanan kare hiç CPU'ya inmiyor (karar #32).

Eklenen gecikme ölçülüp gösteriliyor. Ölçekleme her kareye gecikme ekler;
bu bir bedel ve ekranda öyle yazıyor. Kare başına süre, en kötü %1 ve en kötü
tek kare ayrı ayrı duruyor. Tek bir "şu kadar iyileşti" oranı üretilmiyor
(karar #15).

Rekabetçi modda kapalı — kısıtlı değil, kapalı. O mod gecikmeyi en aza
indirmek için var; ölçekleme gecikme ekliyor. Üç kapı: profil dosyası
doğrulaması, profil uygulama yolu, mod geçişi.

Deftere yazmıyor, günlüğe yazıyor. Geri alınacak kalıcı bir iz yok:
açılan tek şey sürecin ömrüyle sınırlı bir pencere. Günlüğe başlangıç,
algoritma ve durma sebebi düşüyor.

Yeni Ölçekleme sekmesi: başlat/durdur, yakalama denemesi, algoritma ve
ekran seçimi, canlı gecikme özeti.

MSI ilk kez üretiliyor

tauri.conf.json başından beri "msi" hedefini listeliyordu ama hiç MSI
çıkmamıştı. Sebep bu sürümde bulundu: tauri build paketin bütün cargo bin
hedeflerini kuruluma koyuyor, externalBin sidecar'ı da aynı dosyayı koyuyor
ve ölçüm yardımcısı iki kez yazılıyordu. NSIS üstüne yazıp geçiyordu, WiX
ICE30 ile reddediyordu.

Yardımcı ikili required-features arkasına alındı; kuruluma giren tek kopya
sidecar'ın kendisi — yani imzalanacak dosya. Bir testle bağlandı, çünkü bu
sorun derleme zamanında değil yalnızca paketleme gününde görünüyor.

Ayrıca bu sürümde

  • Oturum geçmişi (karar #31): biten oyun oturumları diske yazılıyor, düz
    metin rapor olarak dışa aktarılabiliyor. Telemetri değil — dosya kendi
    klasöründe, hiçbir yere gönderilmiyor.
  • Faz 5'in yakalamasız katmanı (karar #30): çeviri önişleme, terim
    sözlüğü, çeviri belleği, OCR dil kontrolü. Motor'a bağlı değil, arayüzü yok.

Ne doğrulandı, ne doğrulanmadı

Boru hattı bu makinede uçtan uca koştu: yakalama açıldı, gölgelendirici
derlendi, kareler çizildi, kırpma öndeki pencerenin istemci alanını buldu.
İlk çalıştırma iki işlevsizlik kusuru gösterdi ve ikisi de düzeltildi
(masaüstünün tamamı ölçekleniyordu; sunum penceresi kendini yakalıyordu).

Gerçek bir oyunda ve gözle denenmedi. Görüntünün doğru göründüğünü,
dört algoritmanın beklenen farkı gösterdiğini, tıklamaların oyuna geçtiğini
birim testleri söyleyemez. Faz 1'in 5-10 oyunluk saha testi de hâlâ yapılmadı;
Faz 3'e onun önüne geçilerek başlandı (karar #33).

Rust 373 test, arayüz 67 test; clippy -D warnings ve cargo fmt temiz,
--features demo yeşil.