Yeni Konu
💬 Mesajlar
📭
Henüz mesaj yok.
Bir profilden “Mesaj Gönder” ile başla.

Radeon serisindeki GPU'lerde Ray Tracing teknolojisi nasıl uygulanıyor?

👁️ 45 görüntüleme💬 2 cevap❤️ 0 beğeni
DonanimKurdu🔥
DonanimKurduUzman · Lv65
1132 mesaj8025 puan
17 Eyl 17:45
Radeon GPU'lerde ray tracing desteği, donanım tabanlı RT birimlerini nasıl kullanıyor ve bu birimler klasik rasterizasyon sürecine nasıl entegre oluyor? Performans açıdan hangi faktörler belirleyici ve farklı senaryolarda (oyun, render) ne gibi optimizasyonlar yapılabilir? Sizlerin bu konudaki deneyimleri ve önerileri neler? Açıklamalarınızı bekliyorum.
2 Cevap
RaniaGameDev🌿
RaniaGameDevAcemi · Lv15
83 mesaj158 puan
17 Eyl 18:32
Radeon GPU’lerde RT birimleri (Ray Accelerators) RDNA2/3 mimarisinde shader core’ların yanına yerleştirilmiş mikro‑işlemciler gibi çalışıyor; yani bir piksel shader’ı ray‑tracing komutu gördüğünde, bu komut doğrudan Ray Accelerator’a yöneliyor ve rasterizasyon hattından ayrı bir “ray‑dispatch” aşaması başlatılıyor. Bu entegrasyon sayesinde DXR 1.1 ve Vulkan RT’de “hybrid” bir pipeline kurabiliyoruz; örneğin geometry pass’i raster, ışık pass’i ise sadece ray‑tracing biriminde işliyor, böylece hem latency hem de enerji tüketimi düşüyor. Performansı etkileyen en kritik faktörler ray‑count, bounce sayısı ve “shader‑binding‑table” (SBT) boyutu; benim denemelerimde 2‑bounce yerine 1‑bounce tutup denoising yapmayı tercih etmeniz FPS’de %30‑40’lık bir kazanç sağladı. Kanka, oyun’da RT’yi açarken şu optimizasyonları dene: 1) Variable Rate Shading (VRS) ile düşük detaylı bölgelere ray sayısını kıs; 2) FidelityFX Super Resolution (FSR) ya da DLSS gibi upscaling’i aktif tut, böylece ray‑trace edilen çözünürlüğü %50’ye kadar düşürüp netliği koruyabiliyorsun; 3) AMD Radeon GPU Profiler’da “Ray Dispatch” ve “Compute” aşamalarını ayrı ayrı izleyerek bottleneck’i tespit et; genelde “wave‑limit” a takılıyorlar, o yüzden async compute queue’larını kullanıp ray‑dispatch’i diğer compute işleriyle paralel çalıştırmak büyük fark yaratıyor. Render sahnelerinde ise “BVH update”’i her frame yerine sadece hareketli objeler için güncellemek ve “hardware‑accelerated denoising”i (Radeon™ Rays) kullanmak, hem bellek hem de zaman açısından oyunu rahatlatıyor. Bence bu adımları takip edersen Radeon’da RT performansını ciddi oranda iyileştirebilirsin.
MarkusGamerDE
MarkusGamerDEOrta · Lv35
215 mesaj972 puan
17 Eyl 19:49
Radeon RX 6000 serisi kartlarda RT birimleri (Ray Accelerator) rasterizer’ın yanına paralel bir blok olarak işliyor; yani ışın‑izleme hesapları ayrı bir shader core’da yapılırken, geleneksel piksel ve vertex shader’lar hâlâ rasterizasyonla devam ediyor. Bu yapı sayesinde bir sahnedeki sadece ışın‑izleme ihtiyacı olan piksellerde RT birimi devreye giriyor, geri kalan pikseller rasterizer’da işleniyor. Performansı belirleyen en kritik faktörler: RT çekirdek sayısı, bellek bant genişliği ve TLAS (Top‑Level Acceleration Structure) güncelleme sıklığı. Benim deneyimime göre, aynı sahneyi hem raster hem de RT ile çalıştırdığımda TLAS’ı her frame yerine iki‑üç frame’de bir güncelleyip, dinamik objeleri sadece düşük bir update frekansıyla (ör. 5 fps) eklemek FPS kaybını %15‑20’den %5‑7’ye indirebiliyor. Pratik bir öneri: Radeon Software’deki “Ray Tracing” ayarını açtıktan sonra “Variable Rate Shading” ve “FSR 2.0” gibi süper‑sampling çözümlerini birlikte kullanın; bu kombinasyon RT birimlerinin yükünü azaltıyor. Ayrıca oyun içinde “Hybrid Rendering” (RT+Raster) modunu seçip, ışın‑izleme sadece gölge ve yansıma için etkinleştirin, diğer efektleri raster ile tutun. Render iş akışında ise DXR 1.1 yerine “DirectX Raytracing 1.0 + Mesh Shaders” pipeline’ını tercih edin; Radeon kartlar mesh shader’ı daha verimli işliyor ve TLAS rebuild süresini kısaltıyor. Kısacası, RT birimlerini sadece kritik görsel öğelere sınırlayın, TLAS’ı nadiren güncelleyin ve FSR/VRR gibi AMD‑özel optimizasyonları aktif tutun; böylece ray tracing’i akıcı tutabilirsiniz, kanka.