Crysis 2'nin DirectX 11 güncellemesi geldi haberini yapmıştık. Ayrıca yüksek kaliteli kaplamalar da gelmişti. Şimdi DirectX 11 ve yüksek kaliteli kaplamalarla neler geldi ona bir bakıyoruz.

Niye DirectX 11 sonradan geldi?

Öncelikle "niye bu DirectX 11 baştan gelmedi de bizi tekrar yoruyorsunuz?" sorusuna Crytek'ten resmi olarak almadığımız yanıtı verelim. :) Crysis 2, orijinal Crysis oyunun aksine çok platformlu olarak çıktı. Yani Crysis 2 sadece PC'ye özgü bir oyun değildi; aynı anda konsollara da geldi. Verilen açıklamalardan bir tanesi "her üç platforma aynı anda çıkarabilmek için yeterli zaman yoktu" şeklinde. Üç platformun ortak özelliği DirectX 9 döneminden grafik yongalarına sahip olmaları. Tabii başka tahminler de var (mesela, DX11 çıksaydı insanlar konsol sürümüyle karşılaştırıp konsol sürümünün kötü göründüğü sonucuna varacaklardı gibi) ama bunlar bugünün konusu değil. :) Sonuçta "üç platform için çıkarmayı başardıktan sonra geliştiricilerin PC versiyonuna yoğunlaşmak için vakitleri oldu" deniyor.

Yamayla birlikte bir de yüksek kaliteli kaplama paketi geliyor. Aslında DirectX 11 yaması 545 MB iken bu yüksek kaliteli kaplama güncellemesi 1.65 GB gibi bir indirme boyutuna sahip. Bunun nedeni de yine konsollarla ilgili. PC'lerimizdeki orta düzey ekran kartlarının 1 GB bellek taşıması normal geliyor bize ama oyun konsolları bunun yarısı, hatta dörtte biri kadar bellek taşıyabiliyor. Bu da tabii oyunun orijinalinin konsolda çalışması için kırpılmasını gerektirmişti. Şimdi olması gerektiği gibi geliyor.

Bugünkü DirectX 11 ve yüksek kalite kaplama güncellemeleriyle neler geliyor?

Uzun bir liste var. GeForce.com'un konuyu detaylarıyla ele alan yazısı iyi bir kaynak. Biz de bunu kaynak olarak kullanıyoruz. Kendi deneyimlerimizle elde ettiğimiz sonuçlardan daha sonra bahsedeceğiz. Güncelleme toplamda 2 GB'ın üzerinde malum. :)

Tessellation

Tessellation DirectX 11'in en çok bilinen özelliklerinden biri. Tessellation'dan burada bahsetmiştik. Crysis'e gelen DirectX 11 güncellemesi ile Tessellation desteği de geliyor.

Tessellation1 550x309 Crysis 2 DirectX 11 ve yüksek kaliteli kaplama güncellemesi neler getiriyor?

Resme tıklarsanız hareketli GIF biçeminde büyük halini göreceksiniz. Tessellation açık (ON) ve kapalı (OFF) şeklinde değişen görüntüde farkları net olarak görebilirsiniz. Yakın bölgede tessellation etkisi belirginken uzak tarafta tessellation bir değişiklik getirmiyor.

Tessellation grafik kartlarını epeyce zorlayan bir işlem. Özellikle AMD kartlarda genel olarak yüksek seviye tessellation'dan epeyce etkilenme var; Unigine Heaven testlerimizde Tessellation'ı en yüksek seviyeye çıkardığımızda hesaplanabilen kare oranları geri kalan ayarlar aynı olduğunda yarıdan daha azına iniyor -yani, tessellation yokken 100 fps veren (rakamları sallayabileceğimiz varsayımsal) bir kart, tessellation en üst seviyeye çıkarıldığında 40 fps dolayına düşebiliyor. NVIDIA tarafında durum birazcık daha iyi. DirectX 11 tessellation seviyesinin ayarlanabilmesini öngörüyor.

Crytek tessellation konusunda geliştirme aşamasında uygun her şeyin tessellation uygulanabilecek şekilde hazırlamak gibi bir yöntem kullanmış. Daha sonra grafik sanatçıları sahneye göre hangi seviyede nelerin tessellation'a tabi tutulacağını belirlemiş. Örneğin arkaplandaki bir detaydan ibaret olan nesneler tessellation'a tabi tutulmayabiliyor ama önplandakiler tutulabiliyor.

Crysis 2'de tessellation "uyarlanabilir" şekilde gerçeklenmiş. Tessellation ile daha gerçekçi hale getirilebilecek ama çok uzaktaki bir cisme tessellation uygulanmasının bir anlamı yok, bu yüzden uzaktaki bir cisim tessellation'la çizilmiyor. Ancak bu cisme yakınsanız tessellation uygulanıyor. Bu sayede tessellation ile gerçekçiliğe daha fazla yaklaşırken ekran kartı performansından kaynaklı yavaşlamalardan kaçınılmaya çalışılmış. Tabii bu durum ekran kartına göre değişiklik gösterecektir.

Crytek'in uygulamasında bu iş Hull Shader ve Domain Shader'lar aracılığıyla yapılıyor. Hull Shader önce sahnedeki detay için gerekli tessellation çarpanlarını hesaplıyor. Yukarıdaki örnek bunun eseri büyük oranda. Bir nevi "adaptif tessellation" olarak tarif etmiş kaynağımız. Sonra Domain Shader'lar devreye giriyor ve detayları oluşturuyor. Domain Shader aynı zamanda displacement map işlevini de gerçekleştiriyor. Displacement map "girintili çıkıntılı" yüzeyleri gerçekçi oluşturma konusunda avantajlı bir yöntem. Bir yüzey ve üzerindeki çıkıntıları düşünün; displacement map ile bu çıkıntıların yüksekliği (başka detaylarla birlikte) veriliyor. Böylece bellek kullanımında çok fazla artış olmadan detay seviyesi artırılmış.

Tessellation2 550x309 Crysis 2 DirectX 11 ve yüksek kaliteli kaplama güncellemesi neler getiriyor?

Yine resme tıklarsanız Off ve On olarak iki farklı durumun dönüşümlü gösterildiği hareketli GIF resmine gideceksiniz. Bu duvar gibi durumlar herhalde tessellation'ın en çok hissedileceği alanlar.

TessellationWireframe 550x309 Crysis 2 DirectX 11 ve yüksek kaliteli kaplama güncellemesi neler getiriyor?

Crytek yine "güncel GPU'ların birkaç yıl geride" olduğunu düşünüyor. :) Bu bir gerçek aslında, bugünün en güçlü GPU'ları bile bir oyundaki her şeyin tessellation'a tabi tutulması için yetersiz. Dolayısıyla en çok farkettireceği yerlerde kullanmışlar. Yukarıdaki resimde bunu görüyorsunuz. Tessellation'a tabi tutulmuş alanlar ve olmayanlar.

Su ve deniz geliştirmeleri

Crysis 2'nin DirectX 9 versiyonunda da çok hoş grafikler olmakla birlikte yeni güncelleme bunları bir adım daha öteye taşıyor. Su da tessellation'dan nasibini alıyor.

WaterInteraction 550x309 Crysis 2 DirectX 11 ve yüksek kaliteli kaplama güncellemesi neler getiriyor?

Merminin girdiği su kütlesinden yükselen su merminin etkisinin hesaplanması ve buna uygun şekilde bir displacement map kullanımıyla gerçekçi şekilde gösteriliyor. Etrafa yayılan dalgalanmalara da dikkat. Crytek bunun için fizik hesaplama motorunda da geliştirmelere gitmiş.

Ocean 550x309 Crysis 2 DirectX 11 ve yüksek kaliteli kaplama güncellemesi neler getiriyor?

Sudaki dalgaların miktarı da artırılmış. Dalgalar Fast Fourier Transform (FFT) adı verilen bir matematiksel hesaplama yöntemi ile hesaplanıyor. Bu yöntem ayrık Fourier dönüşümlerini bilgisayarla hesaplama için algoritmaları içeriyor. Su kütlelerinin çevrelerindeki cisimlerle etkileşimlerini de geliştirmişler. Ayrıca suyüzünün altının aydınlanması konusunda da gelişmeler var. Etkinin pek belirgin olmadığı belirtiliyor ama gelecekte çok etkin olacak "Yüzey altı dağılma" için ön çalışmalar anlamına geliyor.

Bir de sudaki köpükler eklenmiş ama bunları yamayı indirip kurabildiğimiz zaman paylaşacağız. :)

Gerçek Zamanlı Lokal Yansımalar

Yansımalar eskiden beri uygulaması zor öğeler. Eski teknikler düşük kaliteli ve genel olarak düzlemsel yansımalar üretiyordu. Crysis 2 DirectX 11 Ray-Traced HDR yansımalara yakınsıyor. Ray Tracing yüksek işlem gücü gerektiriyor. Ancak kullanılan yaklaşım yöntemi performansa çok darbe vurmadan yansımaları gerçekleştiriyor.

RLR1 550x309 Crysis 2 DirectX 11 ve yüksek kaliteli kaplama güncellemesi neler getiriyor?

Gerçek zamanlı yansımalar diğer yüzeylerden de yansıma sağlayabiliyorlar. Tahmin edebileceğiniz üzere resme tıklarsanız eski ve yeni halini karşılaştıran hareketli haline ulaşacaksınız. :)

Parallax Occlusion Mapping

Parallax, gözlemci hareket ettikçe gözlemlenen cismin hareket ediyor gibi görünmesi şeklinde (çok çok) kabaca açıklanabilir. Arabayla bir ağacın yanından geçerken gözlemlediğiniz hareket gibi. Parallax occlusion mapping ise piksellerin oyuncunun, yani "gözlemcinin" konumuna göre düzenlenmesi. Aşağıdaki ekran görüntüsünde tekerlek izlerine bakın.

POM 550x309 Crysis 2 DirectX 11 ve yüksek kaliteli kaplama güncellemesi neler getiriyor?

POM açık ve kapalı karşılaştırması için resme tıklayın.

Tabii ki ideal bir ortamda her şey tessellation'a tabi tutulsun isteriz ama bu mümkün değil. Dolayısıyla bazı etkileri yaratmak için tessellation dışında yöntemleri kulanılıyor. POM da bunlardan biri. Her açıdan etkili değil ama yukarıdaki gibi sahnelerde gayet gerçekçi görüntüler sağlayabiliyor.

Değişken yoğunluklu gölgeler

Bunun için başka Türkçe tanım biliyorsanız söyleyin. :) Ana fikir, gölgenin sahibi olan cisimden uzaklaştıkça gölge yoğunluklarının azalması. Aşağıdaki ekran görüntüsüne tıklayıp, sahnede gördüğünüz gölgeleri inceleyin.

PenumbraShadows1 550x309 Crysis 2 DirectX 11 ve yüksek kaliteli kaplama güncellemesi neler getiriyor?

Resimde ağacın gölgesi özellikle ağaçtan uzaklaştıkça daha bulanık hale geliyor. Kamyonun ve ambulansın gölgesi ise gayet net çünkü kendilerini oluşturan cisimlere çok yakınlar. Bu yine daha gerçekçi bir görüntü sağlıyor.

Tam çözünürlük motion blur

Motion Blur geri geldi. Yeni DirectX motion blur uygulamasında daha keskin bir "motion blur" uygulanıyor; yani karakterin kafasını çevirdiğiniz zaman arkaplandaki görüntülerin bulanıklaşması. Bu arada silahın etrafındaki bulaşmalar da artık yok.

MotionBlur 550x309 Crysis 2 DirectX 11 ve yüksek kaliteli kaplama güncellemesi neler getiriyor?

DirectX 9 ile DirectX 11 motion blur arasındaki farkı görmek için resme tıklayın.

Motion blur aynı zamanda parçacık bulanıklaştırma olarak da işliyor.

Particles 550x309 Crysis 2 DirectX 11 ve yüksek kaliteli kaplama güncellemesi neler getiriyor?

Daha hızlı hareket eden cisimler daha fazla bulanıklaştırılıyor. Aynı zamanda parçacıkları gölgelendirilmeleri de gerçekçiliğe katkıda bulunuyor.

Screen Space Directional Occlusion

Screen Space Directional Occlusion, Screen Space Ambient Occlusion (SSAO) efektinin geliştirilmiş hali. SSAO'yu hatırlarsanız piksellerin etrafındaki diğer piksellerden (dolayısıyla bu piksellerin ait olduğu cisimlerden) etkilenen bir aydınlatmaydı kabaca. SSAO renk gerçekçiliğine ciddi katkıda bulunuyor olsa da işleyişi gereği her zaman doğru çalışmıyordu; yapılan iş pikselin etrafındaki rastgele bir piksel grubunu hesaba katarak pikseli ışıklamaktı. Varsayım noktaların etrafındaki cisimlerden yansıyan ışınlardan da etkilenmesi. SSDO bunu daha da geliştiriyor.

SSDO 550x309 Crysis 2 DirectX 11 ve yüksek kaliteli kaplama güncellemesi neler getiriyor?

SSDO'da hesaplanacak piksel için ertafındaki piksellerden yansıyan ışığın yanısıra bu ışığın yönü de dikkate alınıyor. Yine ekran görüntüsüne tıklarsanız büyük ve animasyonlu haline bakıp karşılaştırabilirsiniz.

Alan derinliği

Alan derinliği, bir sahnede net görülen alan. Bulanık görülen yerler alan derinliğinin dışında kalıyor. Makro fotoğrafları ya da sinema filmlerindeki dramatik sahneleri düşünebilirsiniz. Normalde arkaplanda flu görünen alanlar için daha ufak render edilmiş bir resim koyulup büyütülür; böylece bulanık görünür. Bunu düşük çözünürlüklü bir resmi büyük ekrana "yaymak" gibi düşünebilirsiniz. Her ne kadar az çok işe yarıyor olsa da bu sefer arkaplanda "piksellenmiş", bloklar halinde görünen bir görüntü ya da fazla kırıklı çizgiler görebiliyorsunuz.

Bokeh 550x309 Crysis 2 DirectX 11 ve yüksek kaliteli kaplama güncellemesi neler getiriyor?

Crysis'in Bokeh filtre uygulaması bu alanda geliştirme sağlamakla birlikte, öyle görünüyor ki Crytek bunu pek yeterli bulmuyor. Firma güncel grafik donanımının bu işi tam çözünürlüklerde yapmak için hala yeteri kadar gelişmemiş olduğunu belirtmiş ve bu nedenle de yarı-çözünürlükte uygulamak zorunda kaldıklarını söylemiş.

Yüksek çözünürlüklü kaplamalar

Son olarak yüksek çözünürlüklü kaplamalar geldi. Bunlar önemli aslında. :) Konsolların video belleği yetersiz olduğu için önceki kaplamalar o kadar kaliteli değildi. Şimdi PC'lerimizdeki güçlü ekran kartlarının büyük bellekleri ve yüksek işlem güçlerine yakışır çözünürlükte kaplamalar geliyor.

HiResTextures 550x309 Crysis 2 DirectX 11 ve yüksek kaliteli kaplama güncellemesi neler getiriyor?

Bu ekran görüntüsünde farkı çok net algılayamayabilirsiniz ama oyunun genel kalitesi yükseliyor yeni yüksek tanımlı kaplamalarla. Sırf bu kaplamaların bulunduğu güncelleme dosyasının 1.65 GB olduğunu düşünürseniz konuyu daha iyi anlatabiliriz diye düşünüyoruz.

Elbette bunun bir bedeli var. Yüksek bellek gereksinimi nedeniyle sırf bu yüksek çözünürlüklü kaplamaları kullanabilmek için en az 1 GB bellekli bir ekran kartı öneriliyor -kullanım deneyimimiz bunun daha azını gösterdi gerçi. Ayrıca işletim sisteminin de 64 bit olması gerekiyor.

İlk izlenimler

Crysis 2'nin DirectX 11 ve yüksek kalite kaplama güncellemesini kurduk. Bir de "Benchmark" modülü var ama henüz tam etkinleştiremedik. :) Onu etkinleştirince ya da başka bir yöntem bulunca güzelce test yapacağız.

Crysis 2 en düşük sistem gereksinimleri şöyleydi:

  • İki çekirdekli, 2 GHz Core 2 ya da Athlon 64 işlemci
  • 2 GB bellek (Vista ve Windows 7 için 3 GB)
  • 9 GB sabit disk alanı
  • DirectX 9.0c destekli, 512 MB bellekli ekran kartı (NVIDIA GeForce 8800GT ya da Radeon HD 3850)

Bu saydıklarımızdan yukarıda donanımınız varsa oynarsınız. DirectX 11 ve yüksek kaliteli kaplamalar dahil olarak oynamak istiyorsanız ek olarak şunlara ihtiyacınız var:

  • DirectX 11 destekli ekran kartı
  • Yüksek kaliteli kaplamalar için 1 GB ekran kartı belleği
  • Yine yüksek kaplamalar için 64 bit işletim sistemi

Tabii bunlar sadece "oynamak" için yeterli. En düşük ayarlarda bile olsa oynamak. Görsel kalite düzeyini yükselttiğinizde iş epeyce değişecek.

Güncellemeyle birlikte, bizim yokluğuna çokça "çemkirdiğimiz" detay ayarlar da geliyor.

gelismis grafik ayarlari 550x343 Crysis 2 DirectX 11 ve yüksek kaliteli kaplama güncellemesi neler getiriyor?

Bunlar gelişmiş ayarlar. Tabii tek bir hamleyle hepsini aynı anda belirleme şansınız da var.

Kullandığım sistemdeki temel bileşenler şunlardı:

  • Phenom II X3 720 @3.2 GHz
  • 4 GB DDR3-1333 bellek
  • NVIDIA GeForce GTX 560 Ti ekran kartı
  • Samsung 1.5 TB 5400 rpm sabit disk
  • Samsung SyncMaster 920NW monitör

Normal çalışma sistem(ler)ime ya da test sistemlerime erişimim yoktu çünkü Ankara'da olmam gereken zamana denkgeldi güncelleme. :) Bu Ankara'daki sistemim -daha doğrusu bu makaleyi yazabilmek için yanımda GTX 560 Ti getirdim. Yetmedi ama. :)

Bir kere Crysis 2 DirectX 11 yamasıyla birlikte ciddi sistem gereksinimi getiriyor. Oyunun kendisi şu an için 32 bit görünüyor ama sistem gereksinimlerinde 64 bit işletim sistemi sayılmış. Bunun nedeni belleğin bir kısmının işletim sistemine gerekecek olması. Oyun 4 GB kullanmıyor ama sistem genelinde 2 GB sınırı çok rahat geçiliyor. Gerçekten işin değiştiğini, bellek modüllerimden biri sorun çıkardığından dolayı sistemden sökmek zorunda kaldığımda farkettim. 2 GB bellekle sistem çok ciddi zorlanıyor, üstüne oyuna girip çıkınca epeyce bir süre kendine gelemiyor. Yüksek bellek gereksinimi olan başka oyunlar da oynamıştım ama Crysis 2'nin DirectX 9 versiyonu böyle değildi.

Görev yöneticisindeki performans görüntüleyici de bunu doğruluyor. Aşağıdaki ekran görüntüsü hiç de öyle tam zorlandığı yerde alınmış değil.

 Crysis 2 DirectX 11 ve yüksek kaliteli kaplama güncellemesi neler getiriyor?

Büyük hali için resme tıklayın.

Burada bellek kullanımı dışında işlemci kullanımını da görüyorsunuz. Crysis 2, çok çekirdekli işlemcilerden de gayet iyi yararlanacak görünüyor. Ekran kartı limitine takıldığım için işlemci darboğazı olur mu ya da ne kadar olur bir şey henüz söyleyemiyorum ama oyun en az üç çekirdek kullanıyor. Core i7 sistemimle deneyince kaç çekirdek (ya da kaç iş parçacığı) kullandığını göreceğiz.

Ekran kartı limiti demişken…

ekstremgtx560ti Crysis 2 DirectX 11 ve yüksek kaliteli kaplama güncellemesi neler getiriyor?

Bu ekran görüntüsü, oyun Ultra değil Ekstrem modunda oynandıktan sonra alındı. Oyundan çıktıktan sonra alındığı için değerler düşük görünüyor ama onlar en son değerler. Grafiklerin hepsinin tavan yaptığını görebiliyorsunuz yer yer. Grafik işlemcisi yükü genellikle %90'larda seyretti. Bellek kullanımı ise 997 MB tavanını gördü. Bu değerin Ekstrem modunda, 1 GB belleğe sahip bir GeForce GTX 560 Ti'da olduğuna tekrar dikkat çekmek istiyorum. :)

İlk izlenimlerim, subjektif gözlemlerim ve FRAPS'la yaptığım gayrıresmi ölçümlere göre, oyunun neredeyse orijinal kendi zamanı için Crysis kadar zorlayıcı olduğu yönünde. Yukarıda yazdığım sistem bu oyunu hiç sorunsuz, akıcı şekilde Ultra kalite ayarlarında oynamak için yeterli değil ve bunun nedeni ekran kartı gözüküyor. Ultra'dan bir aşağı, Ekstrem ayarlara düştüğümde bile ekran kartının belleğini ağzına kadar dolduruyor ve en az iki kere de takıldığını gördüm. Şu an konuşmak için erken. Ama bu oyun yüksek ayarlarla oynamak için bize yeni ekran kartı bile aldırabilir.

Ekran kartı, işlemci ve bellek kısıtlamalarının yanısıra oyunun ara yüklemelerinin de benim kullandığım diskle uzun sürdüğünü belirtmeliyim. :) Yani bu oyun daha çok kullanıcıya SSD de aldırabilir bu haliyle.

Kalite konusunda ise… Crysis 2'yi ilk oyuna göre lineer ilerleme gibi nedenlerden yermişsem de oyunun genelini beğenmiştim. DirectX 9 için fazlasıyla başarılı grafik gerçekçiliği zaten vardı. Oyunun atmosferi de çok başarılıydı bence. Şimdi daha iyi grafikler geldi. DirectX 9 olarak ilk oynadığımda gözüme takılan pek çok sorun çözülmüş. Çözülmeyenler de var; arabalar istediğim kadar detaylı değil mesela. Ceph'ler Half Life'tan fırlamış gibiydi; gelişme var görünüyor ama o dokuların daha net yapılmasını tercih ederdim. Yeni güncellemede bu da benim beklediğim kadar başarılı olmamış. Etkisiz karakterlerin kafaları gibi yerlerde yine köşeler var; AvP'de yaratıkların kafalarını yuvarlak yapan tessellation kullanılmamış ya da çok düşük seviye kullanılmış gözüküyor. Yani pürüzler hala var.

Ancak özellikle "dünya" temsili çok çok iyi. Bu yazıda saydığım teknolojiler ilk oyuna göre çok büyük gelişme. Duvarların görünüşü, yerler, gölgelendirmeler… Oyunun atmosferiyle birlikte çok büyük ilerleme var.

Sonuç olarak "bu sefer olmuş" diyorum. Ufak tefek pürüzler elbette var. Ancak Crysis 2, tıpkı birincisi gibi, güncel PC donanımlarını kemiklerine kadar zorlayan bir oyun olmuş ve bunun karşılığında çok gerçekçi görüntüler veriyor.