D7VK 2.1, bazı klasik oyunların yükleme sürelerini yarıya indiriyor.

  • D7VK 2.1, nesne oluşturma yükünü azaltır ve önbellekleme performansını iyileştirerek bazı oyunlarda yükleme sürelerini yarıya indirir.
  • Bu güncelleme, Arx Fatalis'in başlatma sırasında kapanmasına neden olabilecek bir "kullanım sonrası serbest bırakma" hatasını düzeltiyor.
  • Ayrıca GetDC/ReleaseDC için isteğe bağlı bir rota ekliyor ve Resident Evil 2 ve Empire Earth: The Art of Conquest gibi oyunlar için özel performans iyileştirmeleri sunuyor.

D7VK 2.1

D7VK 2.1, Direct3D 7, 6, 5 ve 3 tabanlı eski Windows oyunlarının Vulkan üzerinde çalışmasını sağlayan açık kaynaklı grafik çeviri katmanının yeni bir sürümü olarak artık kullanılabilir durumda . Önceki sürümlerde sunulan önemli performans iyileştirmelerinin ardından , bu güncelleme çalışmalarının büyük bir bölümünü başka bir konuya odaklıyor: oyun yükleme ve başlatma sürelerini azaltmak . Bazı oyunlarda, iyileştirmeler bir oyunun yüklenmesi veya başlatılması için gereken süreyi yarıya indiriyor.

D7VK, özellikle Direct3D'nin eski sürümlerini kullanan ve Wine veya Proton ile Linux'ta çalıştırılabilen klasik oyunlara yöneliktir. Proje, bu eski API'ler için arka uç olarak Vulkan'ı kullanır ve Direct3D 8, 9, 10 ve 11'e odaklanan modern DXVK sürümleri veya Direct3D 12 için tasarlanmış VKD3D-Proton tarafından doğrudan ele alınmayan bir boşluğu doldurur.

D7VK 2.1, klasik oyunların yükleme sürelerini hızlandırıyor.

D7VK 2.1'deki en önemli yeni özellik , nesne oluşturma ve yok etme ile ilgilidir . Proje, bu nesnelerin yaşam döngüsünü izlemeyle ilgili yükü azaltarak, oyun yükleme ve başlatma aşamalarında gereken iş yükünü düşürmüştür.

Bu değişiklik, başlatma sürelerini doğrudan etkiliyor. Geliştiriciye göre, birçok oyunda gözle görülür iyileşmeler yaşanıyor ve bazı oyunların yükleme süreleri D7VK'nın önceki sürümlerine kıyasla yarıya veya daha da fazla azalıyor . Klasik oyunlar genellikle modern donanımlarda önemli yükleme süresi sorunları yaşamazken, proje bu optimizasyonların mevcut kaynakların daha iyi kullanılmasını sağladığına inanıyor.

Önbellekleme sisteminde de iyileştirmeler yapıldı. Daha düşük nesne yaşam döngüsü yönetim maliyetleri ve daha verimli önbellek davranışı kombinasyonu, D7VK'nın uygulama başlatma ve bazı sonraki işlemler sırasında gerçekleştirmesi gereken iş yükünü azaltır.

Ayrıca önemli uyumluluk düzeltmeleri de var.

D7VK 2.1 yalnızca yükleme sürelerini optimize etmekle kalmıyor. Güncelleme ayrıca, ilişkili derinlik şablon yüzeylerinin serbest bırakılmasıyla ilgili bir "kullanım sonrası serbest bırakma" sorununu da düzeltiyor . Bu hata yalnızca MSVC veya Clang kullanılarak derlenen belirli ikili dosyalarda ortaya çıkıyordu ve bazı oyunların başlangıç ​​sırasında beklenmedik şekilde çökmesine neden olabiliyordu.

Etkilenen oyunlardan biri olan Arx Fatalis , başlatıldığında çökme sorunu yaşayabiliyordu. D7VK 2.1'de yer alan düzeltme bu sorunu çözüyor ve oyunun bu özel hatayla karşılaşmadan çalışmasını sağlıyor.

Güncelleme ayrıca belirli oyunlar için de ayarlamalar içeriyor. Bunlar arasında, bu sürümde yapılan çalışmalardan faydalanabilecek iki klasik oyun olan Resident Evil 2 ve Empire Earth: The Art of Conquest için performans iyileştirmeleri yer alıyor.

GetDC ve ReleaseDC için yeni bir isteğe bağlı rota.

Başka bir yenilik D7VK 2.1 Bu, çağrılar için isteğe bağlı bir yürütme yoludur. GetDC y ReleaseDCAmaç, bu özellikleri yoğun olarak kullanan bazı oyunların performansını iyileştirmektir.

Uygulama isteğe bağlıdır çünkü sonuçları her oyunun davranışına büyük ölçüde bağlıdır. Bazı durumlarda performans artışı sağlayabilirken, diğerlerinde tam tersi etki yaratabilir ve belirli işlemlerin maliyetini artırabilir.

Geliştirici, bu yöntemi kullanarak Arx Fatalis oyununda FPS'de yaklaşık %5-10'luk bir artış gözlemlemiştir . Ancak, aynı değişiklik oyunun ana menüsünün görüntülenmesi sırasında belirgin bir performans düşüşüne neden olmaktadır. Bu nedenle, bu, ayrım gözetmeksizin etkinleştirilmesi gereken evrensel bir optimizasyon değil, belirli oyunlarda faydalı olabilecek bir seçenektir.

Linux'ta Windows klasiklerini oynamak için ilginç bir gelişme.

D7VK 2.1'in en büyük avantajı , modern oyunlara kıyasla küçük görünse de, Linux'u klasik oyunlar için platform olarak kullananlar için önemini koruyan oyun kataloğunda yatmaktadır. Bu katman, eski Direct3D API'leri 3, 5, 6 ve 7'nin Vulkan'a çevrilmesini sağlayarak, bu oyunların Wine veya Proton kullanılarak çalıştırılmasını mümkün kılar.

Bu, özellikle modern grafik API'lerinin standart hale gelmesinden çok önce geliştirilen oyunlar için oldukça kullanışlıdır. D7VK, Wine üzerinden erişilebilen geleneksel Direct3D uygulamalarına tamamen güvenmek yerine, mevcut grafik donanımı ve sürücülerinde daha iyi uyumluluk ve performans sunabilen Vulkan tabanlı bir yaklaşım sağlar.

D7VK 2.1 artık kullanılabilir.

D7VK 2.1 artık proje deposundan indirilebilir. Bu yeni sürüm, önceki güncellemelere kıyasla önemli FPS artışlarına daha az odaklanıyor ve çeviri katmanının iç işleyişini iyileştirmeye daha çok önem veriyor.

Nesne oluşturma sırasındaki ek yükü azaltmak, önbellekleme iyileştirmek ve önyükleme sürecini optimize etmek, bazı oyunlarda yükleme sürelerini önemli ölçüde kısaltabilir. Buna ek olarak, Arx Fatalis çökmesini düzeltmek, diğer oyunlarda ayarlamalar yapmak ve yeni bir isteğe bağlı yol eklemek de söz konusudur. GetDC/ReleaseDC.

Bu güncellemeyle D7VK 2.1 , Linux'ta oyun oynamanın çok özel bir yönünü geliştirmeye devam ediyor: Microsoft'un eski grafik API'lerine dayanan klasik oyunların performansı. Güncelleme, oyunlar onlarca yıllık olsa ve modern donanımlarda çalışsa bile, bu deneyimleri iyileştirmek için hala yer olduğunu gösteriyor.


Google'da tercih edilen kaynak olarak ekleyin.