Yardım RTX 4090 Beyaz Kare ve Grafik Sorunu

  • Konuyu açan Konuyu açan Memby
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 2
  • Gösterim Gösterim 67
Konu sahibi bu konuda soru soruyor. Sorusu ile ilgili bilgisi olanların yanıtlamasını bekliyor.

Memby

Üye
Üye
Mesaj
9
Beğeni
4
Puan
435
Ticaret Puanı
0

Herkese merhabalar,RazuningV6 üzerine geliştirmelerde bulunuyorum.Karşıma çıkan 2 durum ile ilgili yardımlarını rica ederim :) Bu arada Atakan'a @razuning ayrıyeten teşekkür ederim.

Grafiksel Render ve Efekt Sorunları

1. Sorun Tanımı

  • Sorun 1 (Efekt Hatası): Oyun içerisinde herhangi bir slota/moba vurulduğunda veya moblar oyuncuya vurduğunda, oluşması gereken vuruş efekti yerine "beyaz kare" şeklinde grafiksel artefaktlar oluşmaktadır. Bu durum sadece düz vuruşlarda değil, mobların (vnum 1079, 1089 gibi) kullandığı skillerde de görülmektedir. Sorun, Client'ın Debug veya Release modunda derlenmiş olmasından bağımsız olarak devam etmektedir.
  • Sorun 2 (CPU Render Hatası): Oyun içi sistem seçeneklerinden grafik modu "CPU" (Software T&L) olarak seçildiğinde, ekran genelinde ciddi grafik bozulmaları ve yırtılmalar meydana gelmektedir.

Sorun1


Sorun 2



2. Sistem Bilgileri (Hatanın Alındığı Makine)

  • İşletim Sistemi: Windows 10 Pro (Sürüm 10.0.19045)
  • İşlemci: AMD Ryzen 9 7950X3D (16-Core, 32 Threads)
  • Bellek: 64 GB RAM
  • Ekran Kartı: NVIDIA GeForce RTX 4090 (24GB GDDR6X)
  • Sürücü Sürümü: 591.74 (05/01/2026)
  • DirectX: DX 12 (Feature Level 12_1)
  • Monitör: DELL AW2723DF (2560x1440 @ 280Hz, G-SYNC Aktif)

3. Geliştirme Ortamı Detayları

  • Granny Sürümü: 2.11.8 (Tüm .gr2 dosyaları bu sürüme güncellendi)
  • Derleyici (Client & Dump_proto): Visual Studio 2022
  • Server Tarafı: GCC 9 / MySQL 5.6
  • Dump_proto: protoreader.cpp (DB source) tabanlı özel yapılandırma.

4. Test Sonuçları ve Karşılaştırmalı Analiz


Test OrtamıSorun 1 (Beyaz Kare)Sorun 2 (CPU Render)
Windows 11 + RTX 4070Sorun Yok (Stabil)Sorun Yok (Stabil)
Windows 10 + RTX 4090Hata AlınıyorHata Alınıyor
Oracle VM (Win 10 + Sanal GPU)Sorun Yok (Stabil)Hata Alınıyor

5. Önemli Notlar ve Gözlemler

  • Syserr Kaydı: Yaşanan bu görsel hatalarla ilgili syserr.txt dosyasına hiçbir hata logu düşmemektedir. Client çökme yapmadan çalışmaya devam etmektedir.
  • Donanım Spesifik Durum: 1. Sorun (beyaz kare), RTX 4070 ve Sanal Makine ortamında görülmezken sadece RTX 4090 olan sistemde görülmektedir. Bu, yeni nesil GPU mimarisi ile eski render motorunun (Alpha Blending/Shader) uyumsuzluğunu düşündürmektedir.
  • VM Bulgusu: CPU render hatasının sanal makinede de tekrarlanması, bu modun Windows 10 mimarisindeki software rendering kütüphaneleriyle bir çakışma yaşadığına işaret etmektedir.
  • Ek olarak 1.durum sadece hit durumlarında değil mobların oyunculara hit yaptığında da oluyor.Ayrıyeten mobların(1079 veya 1089 da denemiştim) oyunculara bir skill kullandığında da karşılaşıyorum.
 

Dosya Eklentileri

Son düzenleme:
Merhaba, bahsettiğin sorunların ekran kartı ile alakası yok, src ile alakası var.
Efekt sorununun %99 sebebi sonradan yapılan düzenlemelere bağlı olarak render state yönetiminin bir yerlerde bir şekilde çakışma yaratıp bozulmasıdır. Bu durumun başlangıç noktası ise PythonApplication.cpp içindeki RenderGame fonksiyonudur.
Bu fonksiyon içindeki tek bir satırın bile yanlış sıralamaya sahip olması açıkça veya sinsice diğer pek çok renderları bozabilir. Dolayısıyla ilk olarak buraya göz atmanı tavsiye ederim, eğer buradan sonuç çıkmazsa detaylı bir debug yapman gerekecek. SaveFVF, SetVertexDeclaration, SaveRenderState, SetFVF vb. gibi çağrıların kullanımına dikkat et.

Ayrıca efektlerin render edildiği fonksiyonları kapsüllemeyi deneyebilirsin:

Örneğin;
C++:
Genişlet Daralt Kopyala
void CEffectInstance::OnRender()
{
    // En üstte >>
    LPDIRECT3DVERTEXDECLARATION9 prevDecl = nullptr;
    LPDIRECT3DVERTEXBUFFER9 prevBuffer = nullptr;
    UINT prevOffset = 0, prevStride = 0;
    device->GetVertexDeclaration(&prevDecl); // device'ın tanımını kendin ayarlaman lazım bir şekilde
    device->GetStreamSource(0, &prevBuffer, &prevOffset, &prevStride);
 
    .
    // Fonksiyon içeriği
    .
 
    // En alta
    STATEMANAGER.SetVertexDeclaration(prevDecl);
    device->SetStreamSource(0, prevBuffer, prevOffset, prevStride);
    if (prevDecl)
        prevDecl->Release();
    if (prevBuffer)
        prevBuffer->Release();
}

Eğer bundan sonra düzelme olursa sorunun render sıralaması olma veya efektlerin öncesinden gelen bir renderın efekt renderındaki bir ayarı ezdiği ihtimalini arttırır. Tabi burada asıl sorunun kaynağı efektler de olmayabilir, başka bir render yapısı içinde yaptığın düzenleme de buna sebebiyet verebilir, ama bu da yüksek ihtimalle RenderGame içindeki efektlerin render edildiği satırının öncesinde kalanlardan biridir.


Diğer soruna gelecek olursak; onu tam olarak ben de bilmiyorum hiç üstüne düşmedim bugüne kadar. Bildiğim tek şey eski laptopta da yeni bilgisayarda da tıpkı videodaki gibi sorunlu olduğuydu.
 
Teşekkür ederim değerli yorumlarınız için.Dediğiniz gibi adım adım gitmekte fayda var.
 
Geri
Üst