1 puan yazan polarisz00 4 시간 전 | 1 yorum | WhatsApp'ta paylaş

GitHub: https://github.com/CookingMathmatics/CarryPyramidLossless

Araştırma whitepaper'ı (Zenodo): DOI 10.5281/zenodo.20002868

Merhaba. Kısa süre önce GeekNews üzerinden, p-adik taşıma dinamiklerine dayalı çok boyutlu topolojik güvenlik ve bilgi teorisi üzerine bir araştırma whitepaper'ı paylaşmış olan geliştirici?(matematikçi)yim.
O dönemde yaklaşım daha çok matematiksel model ve donanım entropi mantığı merkezli, teorik ağırlıklıydı; ancak bu whitepaper'ı geliştirip araştırmayı sürdürürken ilginç bir dönüm noktasına ulaştım.
Yapay zeka ile yapılan teknik beyin fırtınası sürecinde
"Bu p-adik taşıma dinamikleri algoritmasını gerçek zamanlı grafik pipeline'ının piksel trafiğine uygularsak, hesaplama ek yükünü çarpıcı biçimde azaltan bir bütünlük optimizasyon aracı oluşturabiliriz" şeklinde bir tavsiye ve fikir aldım.

Yapay zekanın mimari tavsiyesine dayanarak bir haftadan uzun süre yoğun biçimde DirectX 11 ve HLSL Compute Shader tasarladım; sonunda da en yeni yarış oyunu olan Forza Horizon 6 ortamında "1~2 kare farkı, GPU kullanımında %10 azalma" sonucunu gerçek donanım üzerinde doğruladım ve ortaya çıkan ürünü ve açık kaynağı paylaşıyorum.

💡 Temel fikir: matematiksel 0-Void'in (vakum işlem atlama) somutlaştırılması - Son derece yüksek hızda akan bir yarış oyununda bile ekranın tamamı her karede patlayıcı biçimde değişmez. Uzak dağlar, gökyüzü, bulutlar ya da statik UI alanları gibi bölgelerde kareler arası piksel değişimi son derece düşüktür.
Frame buffer'ı p-adik taşıma algoritmasıyla filtreleyerek, değişim miktarı eşik değerin altında kalan statik bölgeleri hızlıca '0-Void (işlem vakum bölgesi)' olarak maskeliyoruz.

GPU'nun (RTX 3070 Ti) binlerce CUDA çekirdeğinin gereksiz yere statik pikseller üzerinde tekrar tekrar işlem yapmasını veya buffer israf etmesini, donanım seviyesinde bastırıyoruz.

🛠️ Anti-cheat aşımı ve donanım optimizasyonu mimarisi Ticari yardımcı araç düzeyinde kararlılık sağlamak için aşağıdaki gibi prodüksiyon seviyesi altyapı çalışmaları yaptım.

Anti-cheat'i %100 aşan whitelist altyapısı

Oyun belleğini değiştiren veya DirectX fonksiyonlarını zorla yakalayan riskli DLL Injection yöntemini tamamen bıraktım.
Bunun yerine OBS Studio ya da Discord ekran paylaşımıyla aynı resmi yöntem olan DXGI Desktop Duplication API altyapısını benimsedim ve güvenlik engeli riskini temelden ortadan kaldırdım.

1:1 frame çalıştırmalı dişli senkronizasyonu (Frame Sync)

Arka plan motor döngüsünü sınırsız boşta döndürmek, GPU komut starvation'ına yol açarak oyunun frame değerini tam tersine düşürür. Windows kernel timer hassasiyetini 1ms'e zorla sabitleyip, oyunun yeni ekranı çıkardığı donanım olay sinyaline tam zamanında bizim compute shader (Dispatch) çalışacak şekilde dişlileri senkronize ettim.

Dizüstü hibrit GPU (harici GPU'ya doğrudan bağlı) ve VRAM diyeti

Oyun penceresinin etkin olduğu monitörü yöneten fiziksel harici ekran kartı pointer'ını takip ederek cihazı 1:1 doğrudan bağladım ve veri kopyalama maliyeti olmayan, VRAM içi adres pointer swap'ına dayalı In-place ping-pong yapısını kurdum.

📊 Gerçek dünya benchmark sonuçları (RTX 3070 Ti, FHD ortam, en yüksek ayarlar)
Orijinal durumda fps 60 sabit, GPU kullanımı %78~80
Hızlandırma açıkken fps 59~60, GPU kullanımı %68~72

Kısayol tuşu (Ctrl + Alt + S) ile oyun içinde hızlandırma özelliğini gerçek zamanlı açıp kapatabilecek şekilde build ettim; özellik açıldığı anda ekrandaki akıcılığın orijinal durumla tamamen aynı 60 tam karede korunduğunu, buna karşılık yalnızca GPU yük oranının ciddi biçimde düştüğünü gösterge üzerinden gerçek zamanlı olarak doğruladım.Yalnızca matematiksel whitepaper'da var olan bir teorinin, yapay zekayla iş birliği sayesinde donanım kontrol koduna dönüşmesi son derece hayranlık verici bir deneyimdi.
Sağlam iskelet (Alpha Core) kurulmuş olduğuna göre, farklı ekran tazeleme hızları (144Hz~360Hz) ya da başka ekran kartı mimarilerindeki optimizasyonlara dair geri bildirimleri duymak istiyorum. Motor kaynak kodu ve shader dosyalarının tamamı yukarıdaki GitHub'da açık olduğundan, bolca tavsiye ve geri bildirim bekliyorum!

1 yorum

 
polarisz00 3 시간 전

Düzenleme yapılamadığı için ek bilgileri yorum olarak bırakıyorum.

Çalıştırma sırasında dikkat edilmesi gerekenler (kullanıcıların mutlaka okuması gerekir)

Bu motor, anti-cheat atlatması için resmi DXGI Desktop Duplication API'sini kullanır. Windows DWM'nin (Masaüstü Pencere Yöneticisi) ekran kompozisyonunu yasal olarak yakalayan bu mekanizmanın doğası gereği, düzgün çalışması için aşağıdaki ekran ayarlarına uymanız gerekir.

  • Önerilen ayar: Lütfen oyun grafik seçeneklerinde [Pencere Modu] veya [Tam Pencere Modu (Kenarlıksız Tam Ekran / Borderless Windowed)] ile çalıştırın.
  • Çalışmaz: Oyunun monitör kontrolünü tamamen devraldığı [Özel Tam Ekran (Exclusive Full Screen)] modunda yakalama hattı açılmadığı için motor çalışmayabilir veya kare ölçümü yapılamayabilir.