W komentarzu pod którymś artykułem o tym pisałem, więc dla mnie żadna nowość. Niech MS robi tak dalej, a sporo ludzi przesiądzie się na na inny, tym razem darmowy OS, bo właśnie gry, trzymają mnóstwo osób przy Windowsie. Serfowanie po necie, bezproblemowo obsłuży jakiś 'linuksopochodny' systemik, natomiast grami zajmą się konsole.
Myślę, że ten pan nieśmiale sugeruje uniwersalne i wydajne rozwiązanie, niezależne od systemu, które jest praktycznie na wyciągnięcie ręki, a mianowicie Open CL
Dobra oprócz DirectX jest jeszcze openGL jeżeli chodzi o rendering graficzny, zamiast rozwiązań Nvidia jest openCL, aktualnie korzystam bo buduje z kolegą silnik do symulatora lotu. Naprawdę nie potrzeba nam wielkich mocy obliczeniowych do wyświetlania ładnej grafiki. W większości przypadków otwarte rozwiązania idą do lamusa, dlaczego ? openGL ma przewagę nad DX bo kod może być po części generowany software-owo w zależności z jakiego sprzętu korzystamy, jest wydajniejszy, jest wieloplatformowy. Ja nie rozumiem dlaczego ludzie wolą DirectX od openGL.
Proste OpenGL nie należy do MS , poza tym jakby były rozwijane gry na OpenGL-u to nie było by sensu posiadania Visty/Win7 , wszystkie efekty dx10/dx11 miałbyś na XP-eku. Cały czas rozchodzi się o kasę i nic więcej.
openGL ma przewagę nad DX bo kod może być po części generowany software-owo w zależności z jakiego sprzętu korzystamy, jest wydajniejszy, jest wieloplatformowy.
Na czym polega przewaga generowania programowo, skoro takie rozwiązanie będzie kilkakrotnie (lekko licząc) wolniejsze od sprzętowego ?
NeRuS @ 2011.03.23 12:32
Ja nie rozumiem dlaczego ludzie wolą DirectX od openGL.
Odpowiem za siebie bo programuję w obydwu jednocześnie: DX jest przejrzystszy, szybciej się w nim pisze, lepiej radzi sobie z wielowątkowością i jest obiektowy.
Wydajnościowo obydwa są praktycznie identyczne.
Grafika w PS3 ma bodajze moc dwoch 6800GT, tak że poprzeczka niska. Fakt ze sporo mocy jest marnowane, ale tak jak koledzy pisza, duzy problem jest ze wsparciem starych kart na PC. Obie platformy mają w swoich ofertach gier własne bastiony. Na PC lepiej gra sie w RTSy i FPSy, na konsolach w bijatyki i rpg. Jesli nic nie pozmieniaja w kontrolerach bo imo tutaj lezy problem to predko sytuacja sie nie zmieni.
W koncu do neta i prostych programow 90% uzytkownikow zadowoli komp za mniej wiecej 1000 zł, + konsola 1300zł to wychodzi dobry zestaw PC do gier. Tyle ze zestawi PC+konsola nie trzeba modernizowac co roku ;P
Dobra oprócz DirectX jest jeszcze openGL jeżeli chodzi o rendering graficzny, zamiast rozwiązań Nvidia jest openCL, aktualnie korzystam bo buduje z kolegą silnik do symulatora lotu. Naprawdę nie potrzeba nam wielkich mocy obliczeniowych do wyświetlania ładnej grafiki. W większości przypadków otwarte rozwiązania idą do lamusa, dlaczego ? openGL ma przewagę nad DX bo kod może być po części generowany software-owo w zależności z jakiego sprzętu korzystamy, jest wydajniejszy, jest wieloplatformowy. Ja nie rozumiem dlaczego ludzie wolą DirectX od openGL.
A moim zdaniem to nie kwestia szybkosci sprzetu, optymalizacji silnika, jednego rodzaju GPU czy konwersji z konsol. To kwestia pieniedzy.
Otóż to. Wszelkie inne kwestie są tylko pochodną. Zaś pan z AMD struga wariata, być może w celu, który opisał 'BluFox':
No właśnie chyba nie do końca.
Mi się wydaje, że te wszystkie sprawy o których piszecie się zazębiają. Gdyby np. istniał prosty sposób optymalizacji, to producenci gier nie musieliby liczyć każdego grosza.
Bo jeżeli się projektuje kod gry tak żeby tak samo dobrze działał zarówno na 32-bitowych jak i 64-bitowych systemach, to 64-bitowych liczb całkowitych się unika.
Co innego gdy się projektuje grę wyłącznie pod systemy 64-bitowe.
Dlatego Crysis nie jest dobrym przykładem.
Operowanie na liczbach całkowitych mających więcej niż 32 bity w 99% przypadków jest niepotrzebne i zużywa tylko dodatkową pamięć, a w wypadkach gdy potrzebujesz 64 bitów stosujesz __int64 i po problemie - nawet w środowisku 32bitwim . Także te 64 bity naprawdę dużego kopa grze nie dadzą jeśli dadzą jakikolwiek - więcej warta jest większa liczba rejestrów i to, że są szersze - więc można by tam upchać więcej zmiennych tymczasowych, redukując tym samym odwołania do pamięci RAM.
Bo jeżeli się projektuje kod gry tak żeby tak samo dobrze działał zarówno na 32-bitowych jak i 64-bitowych systemach, to 64-bitowych liczb całkowitych się unika.
Co innego gdy się projektuje grę wyłącznie pod systemy 64-bitowe.
Dlatego Crysis nie jest dobrym przykładem.
Andree, ale co ty chcesz na tych dodatkowych 32 bitach zapisać? W grach po prostu nie ma czego.
Jeśli mówimy już o 64 bitach to proponuję się skupić na samej architekturze AMD64, która zapewnia np. dużo dodatkowych rejestrów ogólnego przeznaczenia - i to jest bardzo fajna rzecz dla gier, a nie 2x większy rozmiar istniejących rejestrów.
1. Krytyka nie DX tylko API (krytyka DX/OGL/OCL TYŻ)
2. Skoro nie API to co? Ha i tu pojawia się zabawa.
-> On pisze, że chce by zejść niżej. Być bliżej sprzętu. Z drugiej strony wyglądałoby to tragicznie. Kula by była nie okrągła, a kwadratowa, nie ma mowy o tak realistycznej wodzie, czy takim bajeranckim świetle
-> Idea piękna, lecz ciężka do realizacji
3. Dlaczego konsole są lepsze?
-> nie są!, Też mają te same problemy. Tylko ludzi się cieszą jak mają rozdziałkę 480p zamazne tekstury i filtry....
-> Tego nie ma w PC
-> To dlaczego PC jest gorsze? No warto sobie zwrócić uwagę na CPU x86. To moim zdaniem taki mały winowajca. Zobaczcie jaką drogą musi przejść informacja z Dysku twardego do GPU. Przez ile zbędnych cześci przechodzi, których nie ma w konsolach. To ma wpływ na wydajność.
4. Kluczowe pojęcie o którym pisali to 'direct-to-metal
5. Mowa też była 'obiektach' graficznych/cykl. W przypadku kosnol są to wartości 10x wyższa to sporo. Pytanie co jest tu winowajcą.
On consoles, you can draw maybe 10,000 or 20,000 chunks of geometry in a frame, and you can do that at 30-60fps. On a PC, you can't typically draw more than 2-3,000 without getting into trouble with performance, and that's quite surprising - the PC can actually show you only a tenth of the performance if you need a separate batch for each draw call.
@Vega
Czy także Waszym zdaniem celowanie przez twórców gier w najdroższe karty graficzne jest jednak dowodem na to, że tylko ułatwiają sobie życie, korzystając z ogromnych mocy obliczeniowych, które tak naprawdę marnowane są przez źle zoptymalizowane silniki graficzne?
Czy w kontekście tego co napisałem nie uważasz, że takie pytanie jest bzdurą? Silniki są jak najbardziej zoptymalizowane. Podobnie jak całe gry. Problem pojawia się w DX/Windowsie/x86-> wreszcie mnogości konfiguracji. On pisze o utworzeniu nowych silkników z bezpośrednim dostępem do karty graficznej.....
... Wtedy PC odjechałoby przecież konsolom. Kto taki silnik miałby robić? Nie mam pojęcia. Bo zwrócić trzeba uwagę co daje API DX/OGL. Piękną wodę, piękne światło, efekty, tego jest masa i tworząc silnik trzeba z tego zrezygnować. Przynajmniej krótkotrwale i utworzyć na nowo.
To ogromny wysiłek programistyczny i wątpię by nawet Apple miało takie zasoby intelekturalne by coś takiego stworzyć. Czyli coś co był działało pod 'Windowsem'/ OSX oferowało możliwości DX11, a przy tym wszystkim było wydajniejsze, bo działało bezpośrednio na sprzęcie.... wątpię.
-> Apple, nie potrafi zrobić implementacji OGL4 w OSX. *(zażartuję, że Javy też nie), a mają NAJWIĘCEJ kasy i argument z kasą moim zdaniem odpada.
-> To o czym pisze Rysiek to wołanie o Billa Gatesa naszych czasów, który stworzy 'windowsa' do gier. Prostego w obsłudze dla grafika, zaawansowanego dla programisty.
Bo jeżeli się projektuje kod gry tak żeby tak samo dobrze działał zarówno na 32-bitowych jak i 64-bitowych systemach, to 64-bitowych liczb całkowitych się unika.
Co innego gdy się projektuje grę wyłącznie pod systemy 64-bitowe.
Dlatego Crysis nie jest dobrym przykładem.
@Hashi - tylko czy nawet Hd2900 nie potrafiłby przetrawić tych nowych technik renderingu okazując się jednocześnie szybszy od Xenosa/RSX? No pewnie by potrafił, heh.
Nie wierzę że twórcy gier konsolowych mając możliwość wykonywania obliczeń na wielkich liczbach całkowitych nie korzystają z nich w opracowywanych na potrzeby tych gier algorytmach.
Oj, bardzo byś się zdziwił jak byś zobaczył jak rzadko korzysta się z tych 64 bitów, przynajmniej jawnie - bo jak kompilator wykorzysta sobie np większa liczbę rejestrów dla zmiennych tymczasowych to już coś to da.
Konsole działają na odmianach 64-bitowego Power PC, a ich konwersje lądują w katalogu Program Files (x86), czyli są 32-bitowe z przyczyn marketingowych.
Nikt przecież nie sprzeda gry która nie działa na 32-bitowych Windowsach XP, Vista i 7, a tylko na ich 64-bitowych wersjach.
Oznacza to ogromny spadek wydajności w wydajności operacji na 64-bitowych liczbach całkowitych, który musi być skompensowany znacznie wyższą wydajnością procesora PC-ta.
Nie wierzę że twórcy gier konsolowych mając możliwość wykonywania obliczeń na wielkich liczbach całkowitych nie korzystają z nich w opracowywanych na potrzeby tych gier algorytmach.
Było już nie raz udowadniane, np. na przykładzie Crysisa 1, że różnice pomiędzy wersjami 32/64-bit owszem, są, ale minimalne. Gry to nie ten rodzaj softu, który jakoś szczególnie wymaga dodatkowej precyzji (a skoro nie wymaga, to jej nie używa, a skoro nie używa, to 64 bity niewiele dają).
Mijacie się lekko z prawdą. Na konsolach stosuję sie często nowatorskie techniki renderingu (wystarczy poczytać pdfy np Guerilla Games). Co do Xboxa to posiada on eDRAM który odciąża GPU od AA i innych rzeczy przez co te kilkadziesiąt Shaderów zazwyczaj wystarcza do większości rzeczy. Druga sprawa to deferred shading i rendering - stosowany od 2005-2007 (2004 to pierwsze prezentacje), który znacznie odciążą shadery i pozwala na stosowanie dynamicznego światła w dowolnej ilości bez spadku wydajności - więc twierdzenie że ktoś wspiera stare techniki jest bzdurą. Na konsoli można uzyskać praktycznie każdy efekt (nawet jeszcze nie istniejący) z DX11.
To co zawyżyło wymagania i zapotrzebowanie na moc PC to Vista (MS) - sam wymieniałem komputer w tamtych czasach i wiem co mówię...
Taki system w PS3 bierze 40MB RAM i wystarcza do multum zostawań multimedialnych - video, muzyka, gry, internet, telekonferencje a nawet drukowanie przez sieć.
I na końcu jeszcze powinien być komentarz że nie ma szans na zmianę sytuacji ponieważ nikt na to nie pozwoli ani Microsoft ani producenci kart. Maszyna ruszyła pewnie już jest zaplanowana premiera DX12.
Gdyby potencjał kart graficznych został uwolniony to przez następne dwa lata byłaby zapaść sprzedaży kart graficznych... Nierealne...
Battlefield 3 taki wyjdzie
Miejmy nadzieje,jeszcze nic nie jest przesądzone.
Nikt przecież nie sprzeda gry która nie działa na 32-bitowych Windowsach XP, Vista i 7, a tylko na ich 64-bitowych wersjach.
Battlefield 3 taki wyjdzie
64 Bit będzie zalecany z tego co wyczytałem..
Nikt przecież nie sprzeda gry która nie działa na 32-bitowych Windowsach XP, Vista i 7, a tylko na ich 64-bitowych wersjach.
Battlefield 3 taki wyjdzie
Proste OpenGL nie należy do MS , poza tym jakby były rozwijane gry na OpenGL-u to nie było by sensu posiadania Visty/Win7 , wszystkie efekty dx10/dx11 miałbyś na XP-eku. Cały czas rozchodzi się o kasę i nic więcej.
Na czym polega przewaga generowania programowo, skoro takie rozwiązanie będzie kilkakrotnie (lekko licząc) wolniejsze od sprzętowego ?
Odpowiem za siebie bo programuję w obydwu jednocześnie: DX jest przejrzystszy, szybciej się w nim pisze, lepiej radzi sobie z wielowątkowością i jest obiektowy.
Wydajnościowo obydwa są praktycznie identyczne.
W koncu do neta i prostych programow 90% uzytkownikow zadowoli komp za mniej wiecej 1000 zł, + konsola 1300zł to wychodzi dobry zestaw PC do gier. Tyle ze zestawi PC+konsola nie trzeba modernizowac co roku ;P
Otóż to. Wszelkie inne kwestie są tylko pochodną. Zaś pan z AMD struga wariata, być może w celu, który opisał 'BluFox':
No właśnie chyba nie do końca.
Mi się wydaje, że te wszystkie sprawy o których piszecie się zazębiają. Gdyby np. istniał prosty sposób optymalizacji, to producenci gier nie musieliby liczyć każdego grosza.
Co innego gdy się projektuje grę wyłącznie pod systemy 64-bitowe.
Dlatego Crysis nie jest dobrym przykładem.
Operowanie na liczbach całkowitych mających więcej niż 32 bity w 99% przypadków jest niepotrzebne i zużywa tylko dodatkową pamięć, a w wypadkach gdy potrzebujesz 64 bitów stosujesz __int64 i po problemie - nawet w środowisku 32bitwim
@up
Ubiegłeś mnie
Co innego gdy się projektuje grę wyłącznie pod systemy 64-bitowe.
Dlatego Crysis nie jest dobrym przykładem.
Andree, ale co ty chcesz na tych dodatkowych 32 bitach zapisać? W grach po prostu nie ma czego.
Jeśli mówimy już o 64 bitach to proponuję się skupić na samej architekturze AMD64, która zapewnia np. dużo dodatkowych rejestrów ogólnego przeznaczenia - i to jest bardzo fajna rzecz dla gier, a nie 2x większy rozmiar istniejących rejestrów.
1. Krytyka nie DX tylko API (krytyka DX/OGL/OCL TYŻ)
2. Skoro nie API to co? Ha i tu pojawia się zabawa.
-> On pisze, że chce by zejść niżej. Być bliżej sprzętu. Z drugiej strony wyglądałoby to tragicznie. Kula by była nie okrągła, a kwadratowa, nie ma mowy o tak realistycznej wodzie, czy takim bajeranckim świetle
-> Idea piękna, lecz ciężka do realizacji
3. Dlaczego konsole są lepsze?
-> nie są!, Też mają te same problemy. Tylko ludzi się cieszą jak mają rozdziałkę 480p zamazne tekstury i filtry....
-> Tego nie ma w PC
-> To dlaczego PC jest gorsze? No warto sobie zwrócić uwagę na CPU x86. To moim zdaniem taki mały winowajca. Zobaczcie jaką drogą musi przejść informacja z Dysku twardego do GPU. Przez ile zbędnych cześci przechodzi, których nie ma w konsolach. To ma wpływ na wydajność.
4. Kluczowe pojęcie o którym pisali to 'direct-to-metal
5. Mowa też była 'obiektach' graficznych/cykl. W przypadku kosnol są to wartości 10x wyższa to sporo. Pytanie co jest tu winowajcą.
@Vega
Czy w kontekście tego co napisałem nie uważasz, że takie pytanie jest bzdurą? Silniki są jak najbardziej zoptymalizowane. Podobnie jak całe gry. Problem pojawia się w DX/Windowsie/x86-> wreszcie mnogości konfiguracji. On pisze o utworzeniu nowych silkników z bezpośrednim dostępem do karty graficznej.....
... Wtedy PC odjechałoby przecież konsolom. Kto taki silnik miałby robić? Nie mam pojęcia. Bo zwrócić trzeba uwagę co daje API DX/OGL. Piękną wodę, piękne światło, efekty, tego jest masa i tworząc silnik trzeba z tego zrezygnować. Przynajmniej krótkotrwale i utworzyć na nowo.
To ogromny wysiłek programistyczny i wątpię by nawet Apple miało takie zasoby intelekturalne by coś takiego stworzyć. Czyli coś co był działało pod 'Windowsem'/ OSX oferowało możliwości DX11, a przy tym wszystkim było wydajniejsze, bo działało bezpośrednio na sprzęcie.... wątpię.
-> Apple, nie potrafi zrobić implementacji OGL4 w OSX. *(zażartuję, że Javy też nie), a mają NAJWIĘCEJ kasy i argument z kasą moim zdaniem odpada.
-> To o czym pisze Rysiek to wołanie o Billa Gatesa naszych czasów, który stworzy 'windowsa' do gier. Prostego w obsłudze dla grafika, zaawansowanego dla programisty.
Co innego gdy się projektuje grę wyłącznie pod systemy 64-bitowe.
Dlatego Crysis nie jest dobrym przykładem.
Nie wierzę że twórcy gier konsolowych mając możliwość wykonywania obliczeń na wielkich liczbach całkowitych nie korzystają z nich w opracowywanych na potrzeby tych gier algorytmach.
Oj, bardzo byś się zdziwił jak byś zobaczył jak rzadko korzysta się z tych 64 bitów, przynajmniej jawnie - bo jak kompilator wykorzysta sobie np większa liczbę rejestrów dla zmiennych tymczasowych to już coś to da.
Nikt przecież nie sprzeda gry która nie działa na 32-bitowych Windowsach XP, Vista i 7, a tylko na ich 64-bitowych wersjach.
Oznacza to ogromny spadek wydajności w wydajności operacji na 64-bitowych liczbach całkowitych, który musi być skompensowany znacznie wyższą wydajnością procesora PC-ta.
Nie wierzę że twórcy gier konsolowych mając możliwość wykonywania obliczeń na wielkich liczbach całkowitych nie korzystają z nich w opracowywanych na potrzeby tych gier algorytmach.
Było już nie raz udowadniane, np. na przykładzie Crysisa 1, że różnice pomiędzy wersjami 32/64-bit owszem, są, ale minimalne. Gry to nie ten rodzaj softu, który jakoś szczególnie wymaga dodatkowej precyzji (a skoro nie wymaga, to jej nie używa, a skoro nie używa, to 64 bity niewiele dają).
To co zawyżyło wymagania i zapotrzebowanie na moc PC to Vista (MS) - sam wymieniałem komputer w tamtych czasach i wiem co mówię...
Taki system w PS3 bierze 40MB RAM i wystarcza do multum zostawań multimedialnych - video, muzyka, gry, internet, telekonferencje a nawet drukowanie przez sieć.
Gdyby potencjał kart graficznych został uwolniony to przez następne dwa lata byłaby zapaść sprzedaży kart graficznych... Nierealne...