Jump to content
Sign in to follow this  
radiergummi

Directx 12 - AMD oraz Nvidia

Recommended Posts

O tym, że DX12 jest skazany na sukces starają się nas przekonywać zarówno producenci oprogramowania i sprzętu.

Nadal jednak dzielą nas miesiące od pierwszych gier, które mają wykorzystać w pełni możliwości nowego środowiska.

 

 W międzyczasie natrafiłem na kilka ciekawych artykułów:

 

AMD’s DirectX 12 Advantage Explained – GCN Architecture More Friendly To Parallelism Than Maxwell

 

Lack of Async Compute on Maxwell Makes AMD GCN Better Prepared for DirectX 12

 

Co o tym myślicie?

Edited by radiergummi

Share this post


Link to post
Share on other sites

https://www.reddit.com/r/pcgaming/comments/3j1916/get_your_popcorn_ready_nv_gpus_do_not_support/

 

http://www.dsogaming.com/news/amds-directx-12-advantage-explained-gcn-architecture-more-friendly-to-parallelism-than-maxwell/

 

http://hardforum.com/showthread.php?t=1873640

 

 

Małe streszczenie tego co zrozumiałem - Karty Nvidii nie sa przystosowane, fizycznie (oprogramowanie, sterowniki - nie moga nic tu zdzialac), do oblugi wszystkich fuknkcji DX 12. Karty te (nawet te z najnowszej serii 9xx) nie sa w stanie obsugiwac czegos co nazywa sie Async Compute (dla ciekawskich link nr 2 i 3), dlatego nvidia nie odnotowała w pierwszym benchmarku z uzyciem DX12 zadnych korzysci (gra ashes of singularity), wrecz prosila tworcow gry o wylaczenie niektorych rzeczy w dx12, bo karty nie dawaly sobie z tym rady w bechmarkach. Karty AMD wrecz przeciwnie - odnotowaly ogromne korzysci i boost w wydajnosci, bo sa lepiej fizycznie do tego przystosowane. W tym momencie nie wiadomo wiele wiecej, tworcy gry i nvidia obrzucaja sie blotem i jeden zwala wine na drugiego, a AMD zaciera rece.

 

Mam w planach w tym miesiecu zlozyc komputer. Do tej pory bylem przekonany, ze pojde w gtx 950, kartke ktora za ~700 zl wydawala sie najlepszym wyborem, jednak teraz juz nie jestem tego taki pewiem, bo wychodzi na to, ze karta ta bedzie tracila bardzo duzo w stosunku do kart amd w przyszlym roku. Szczerze mowiac jestem w kropce. Wiem, ze nie bede w stanie za rok kupic kolejnej karty graficznej (czy to pascala czy czegos od amd), musze dokonac zakupu teraz, takiego ktory starczy mi na dluzej, na lata. Po tym jak przeczytalem pare artykulow przychylam sie w strone r9 270x, ktory za rok bedzie dzialal moze nawet 30% lepiej od gtx 950. Nvidia pisze ze karty z serii 9xx oblsuguja dx12, ale im wiecej czytam, tym wieksze mam obawy, bo wychodzi na to ze to najzyklejsze klamstwo. Co wy o tym myslicie? Jak powaznie powinienem traktowac takie informacje? Wyboru musze dokonac juz niedlugo i mam naprawde spory dylemat z powodu tego newsa. (przepraszam jezeli to zly dzial i bede wdzieczny za ewentualne przeniesienie tematu, z gory dziekuje)

Edited by Obsyd
  • Upvote 1

Share this post


Link to post
Share on other sites

Z tego na ile rozumiem te artykuły i jak to wszystko ma działać, w przypadku istniejących gier albo nie powstaną "nakładki" korzystające z tej funkcji, albo mają szanse powstać ale w bardzo ograniczonym zakresie.

 

To chyba prawie tak jakby program korzystający na sztywno przykładowo z trzech wątków przerobić tak, aby dynamicznie zmieniał ilość wątków i efektywnie zarządzał tą ilością. Czy jest to proste czy nie to nawet nie wiem (intuicyjnie nie wydaje się to proste), ale trudno mi sobie wyobrazić, aby twórcy gier zdecydowali się ponieść teraz dodatkowe koszty i ryzyko, wypuszczając jakieś łatki (pomijając marketingowe "dodanie obsługi DX12") do już wydanych produkcji.

 

Ergo wydaje mi się, że dotyczy to gier powstających "natywnie pod DX12" czyli gier przyszłorocznych i późniejszych. A zatem albo Pascal będzie to w pełni wspierał, albo Pascal nie wejdzie do produkcji w planowanej formie, tylko trzeba będzie wprowadzić w nim zmiany. Dla konsumentów bardzo dobrze to wróży. A Maxwelle no cóż, najpierw pewnie znacznie potanieją, a potem odejdą w niepamięć, tak jak VLIW5. Ale nie stanie się to szybko, bo w pozostałych aspektach mają nad GCN przewagę.

Share this post


Link to post
Share on other sites

A jak powinien zachowac sie ktos kto przymierza sie teraz do kupna GPU? Jeszcze pare dni temu byl to prawie oczywisty wybor ;p teraz nagle wychodzi na to, ze maxwelle bedac bezuzyteczne za rok i lepiej pojsc w AMD, ktore na dx12 radza sobie najwyraziej wysmienicie.

Share this post


Link to post
Share on other sites

Wg mnie kompletnie nic się nie zmieniło (oprócz zwiększenia ryzyka utraty wartości kart nVidii, w przypadku kart AMD tracą one natychmiast po zakupie). Do DX11 nVidia jest lepszym wyborem i ja tego bym się trzymał.

 

AMD dotarło do granic wydajności, nie mogą za bardzo jeszcze wyżej kręcić tych chipów bo już nie ma potencjału i ilość zwrotów kart wzrosłaby dramatycznie. Nie mogą za bardzo dalej zwiększać ilości jednostek wykonawczych, bo temperatury zaraz zrobią się 3-cyfrowe. Samo DX12 nie uratuje AMD, nawet jeśli by się okazało, że to wszystko prawda.

 

A czy to faktycznie prawda okaże się dopiero po wyjściu realnie istniejących gier DX12. Wtedy obecne karty AMD będą raczej i tak przestarzałe, no bo HBM niższy proces technologiczny itd.

 

Takie by było moje podejście.

Share this post


Link to post
Share on other sites

W konsolach jest GCN, a to właśnie one decydują o kształcie przyszłych gier. Async Compute zmniejsza narzut na CPU co przy rdzeniach Jaguar siedzących w konsolach jest to na pewno istotne dla developerów.

 

Cała ta sytuacja pokazuje kolejne etapy bezczelności nVidii. Skoro już teraz w sterownikach robią takie wałki to co wypłynie dalej?

Na pewno będą chcieli teraz naciskać na developerów by nie korzystali z standardowej funkcji DX12 jaką jest Async Compute by kiedy w końcu w Pacalu się dorobią sprzętowo tej możliwości ich polityka zmieni się o 180 stopni i posiadacze serii 900 bedą w takiej samej czarnej [gluteus maximus] jak obecni właściciele serii 700.

  • Upvote 1
  • Downvote 1

Share this post


Link to post
Share on other sites

AMD projektując GCN skupiło się nie tylko na wydajnym przetwarzaniu grafiki ale również na wykorzystaniu GPU do obliczeń. Od 2011 roku AMD dominowało w dziedzinie liczenia na GPU. Nie wiem, czy pamiętacie ale początkowe problemy z dostępnością Hawaii wynikało z tego, że ludzie masowo montowali to do koparek kryptowalut karty AMD.  DX11 skryty za masywnym API nie pozwalał na wykorzystanie Asynchronous Compute więc było wykorzystywane tylko w aplikacjach obliczeniowych pisanych w OpenCL.

We wczesnych grafikach GCN były 2  jednostki ACE (Asynchronous Compute Engine) w Hawaii, Tondze i Fiji jest już 8 takich jednostek. Co ciekawe Xone ma 2 takie jednostki a PS4 8 (Sony specjalnie poprosiło AMD o większą ilość takich jednostek ponieważ od początku chcieli wykorzystywać GPU do dodatkowych obliczeń), można o tym poczytać w artykule dostępnym na necie, w którym główny projektant PS4 omawiał jakie założenia mieli podczas projektowania konsoli i co przewidywali, że będzie przyszłościowe - niestety czytałem to bardzo dawno i nie pamiętam, gdzie dokładnie to było...

W DX12 zrezygnowano z masywnego front-endu API co umożliwia deweloperom lepsze zarządzanie zasobami sprzętowymi. Asynchronous Compute w DX12 jest wykorzystywane w taki sposób, że są dostępne 3 kolejki, do których engine gry może wysyłać rozkazy. Jedna kolejka jest do zadań, które muszą być wykonane w określonej kolejności, do pozostałych dwóch kolejek mogą być delegowane zadania, które nie wymagają określonej kolejności wykonania takie jak obliczenia fizyki, czy postprocessing gotowej sceny. Asynchronic Compute pozwala upakować dodatkowe zadania pomiędzy te z głownej kolejki w taki sposób aby maksymalnie obciążyć GPU (czyli ograniczyć przestoje, w których część GPU nie jest obciążona ponieważ wcześniejsza operacja nie została wykonana). Najlepszym porównaniem ze świata CPU jest Hyper Threading w CPU intela, który podobnie pozwala na lepsze wykorzystanie dostępnych zasobów CPU bez zwiększania fizycznej ilości rdzeni. 

Maxwelle teoretycznie też obsługują Asynchronous Compute (sterownik zgłasza obecność tego ficzera), lecz wygląda na to, że jest on obsługiwany w większym stopniu software'owo a nie jak w GCN AMD w sposób sprzętowy przez dedykowane do tego jednostki. Powoduje to, że wykorzystanie tej funkcji powoduje nie przyrost a wręcz spadek wydajności na kartach Nvidii przy próbie korzystania z tej funkcji. Ostatnio można było przeczytać oświadczenie Nvidii w sprawie słabych wyników Maxwelli w Ashes of Singuarity po przejściu na DX12 (wydajność wręcz spadała względem DX11), w którym firma zarzekała się, że tytuł ten nie może być brany pod uwagę jako miarodajny benchmark. Wiele osób podejrzewało, że Oxide zoptymalizowało silnik pod grafiki AMD. Jeden z twórców gry wypowiedział się jednak w tej sprawie pisząc, że jedyną optymalizacją jakia została poczyniona pod konkretny sprzet w grze było wyłączenie Asynchronous Compute w przypadku Nvidii, ponieważ powodowało to bardzo duże spadki wydajności (optymalizacja poczyniona na prośbę Nvidii po konsultacjach z ich developerami).

Podsumowując sam ficzer jest bardzo ciekawy, ponieważ na sprzęcie go obsługującym pozwala na uzyskanie dodatkowej wydajności teoretycznie "za darmo". AMD ciężko sobie zapracowało na tę przewagę poświęcając energie na Mantle, w którym po raz pierwszy ta funkcja została wykorzystana. Jako, że pomysł jest dobry, to został tez wykorzystany w DX12 i będzie również w Vulkanie, który bezpośrenio bazuje na Mantle. Jestem pewien, że w Pascalu Nvidia udoskonali ten ficzer na dużą skale(i może być tak jak było z telestacją, że będzie nawet górować nad AMD), lecz obecne grafiki NV wydają się być w tej dziedzinie stracone. Dla posiadaczy NV pocieszenie jest takie, że w 2015 na bank będzie dominował DX11, w którym Maxwell góruje ze względu na to, że jest architektura bardziej "szeregową" niż GCN.

Możliwe jest równiez to, że Nvidia będzie wymuszała na deweloperach nie korzystanie z tej funkcji, co spowoduje przywrócenie dawnego porządku. Niestety ale nadbudowy typu Gameworks bardzo ułatwiają takie działania. Nie wszyscy jednak na to pójdą - następną gra korzystającą z Asynchronous Compute ma być Fable Legends, które wyjdzie w październiku. 

Edited by udam_u
  • Upvote 2

Share this post


Link to post
Share on other sites

http://www.guru3d.com/news-story/amd-there-is-no-such-thing-as-full-support-for-dx12-today.html

 

AMD: There is no such thing as full support for DX12 today

Problem w tym ze amd swoje braki moze przeskoczyc oprogramowaniem, sterownikami - maxwelle po prostu nie sa w stanie obsluzyc async compute, ktore niby odpowiada za przyrost wydajnosci :(

 

 

EDIT :

 

http://wccftech.com/nvidia-amd-directx-12-graphic-card-list-features-explained/

 

Bardzo fajny artykul, polecam wszystkim zainteresowanym.

Edited by Obsyd

Share this post


Link to post
Share on other sites

Aktualnie wydaje mi się, że i tak jeszcze ze dwa lata będą dominować gry na DX11. Jak ktoś będzie potrzebował zmieniać grafikę, to dopiero wtedy ja kupi.

DX12 został ogłoszony na GDC w 2014r, a dopiero po roku wyszła wersja oficjalna, troche jeszcze minie i będa pewnie łatki i nowe dodatki - wydaje mi się, że po prostu to jest jeszcze zbyt nowa technologia aby masowo wpłynęła na rynek.

Gry korzystające z DX12 pewnie pojawią się dopiero za rok (nie mówiąc o tych dobrze zoptymalizowanych pod DX12).

Maxwell nie ma szans na jakiekolwiek zmiany w architekturze, bo karty juz wyszly. Natomiast ciekawej jest z Pascalem - jeśli nie ma w Pascalu obslugi Async Compute to nVidia ma teraz bardzo duzy problem. Jedyne co moze im uratowac troche kasy to czas i wlasnie brak tytulow na DX12.

 

Pewnie skończy się tak jak było z DX9 i DX11 - gry będą miały dwa tryby renderowania grafiki (no moze teraz trzy: DX9,DX11,DX12), i to gracz będzie decydował jaki tryb wybrać. nVidia pewnie w swoijej aplikacji sugerującej ustawienia gier będzie przestawiać na DX11 - i nie ma się co dzwić, każdy normalny tak by zrobił.

 

Ja mam cicha nadzieję, że jednak Vulkan bedzie bardziej promowany.

Poczekamy, zobaczymy, ciekawie dopiero będzie :)

 

Dorzucamy do ognia, tylko trzeba sie wczytac w kilka postow a nie tylko ten na gorze: https://www.reddit.com/r/nvidia/comments/3j5e9b/analysis_async_compute_is_it_true_nvidia_cant_do/

Edited by _KaszpiR_

Share this post


Link to post
Share on other sites

 

EDIT:

 

http://wccftech.com/nvidia-async-compute-directx-12-oxide-games/

 

We actually just chatted with Nvidia about Async Compute, indeed the driver hasn’t fully implemented it yet, but it appeared like it was. We are working closely with them as they fully implement Async Compute. We’ll keep everyone posted as we learn more.

Read more: http://wccftech.com/nvidia-async-compute-directx-12-oxide-games/#ixzz3kz4YproR

 

As we have already detailed in an in-depth editorial two days ago, Nvidia GTX 900 series GPUs do have the hardware capability to support asynchronous shading/computing.

Read more: http://wccftech.com/nvidia-async-compute-directx-12-oxide-games/#ixzz3kz4i9eLo

Edited by Obsyd
  • Upvote 2

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

Aktualności

Artykuły



×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.