Keresés

Hirdetés

Új hozzászólás Aktív témák

  • Fiery

    veterán

    válasz Jack@l #2 üzenetére

    Egyertelmuen nem. Egyebkent is teljesen eletszeru, hogy egy teljesitmeny-orientalt (tehat nem egy tetris- vagy solitaire jellegu) jatekot 3 operacios rendszerre es 3+1 (+1: DirectX12) PC-s grafikus API-ra portoljanak, plusz fejben me'g 2 API-ra. Raadasul, ezeknek lehet kulonfele kombinacioja is, meg ott vannak a konzolok is :) Abszolut eletszeru, hogy egy jatekfejlesztonek vegtelen eroforrasa van a programozoi es a quality checking oldalon.

  • .tnm

    addikt

    válasz Jack@l #23 üzenetére

    a Mantle-höz nem kell directx, ne terjesszük ezt a tévhitet. az AMD előírja, hogy aki Mantle kódot ír, az írja meg DirectX-ben is, de emögött az van, hogy még nem bíznak a Mantle-ben teljesen. (nincs is ugye kész minden tekintetben.)

    It's a rare occurrence, like a double rainbow, or someone on the Internet saying, "You know what? You've convinced me I was wrong."

  • Abu85

    HÁZIGAZDA

    válasz Jack@l #28 üzenetére

    A Mantle-nek semmi köze a DX-hez. Az egy teljesen külön API.

    A DX már rég nem felel a hangokért és az Inputokért. A DirectSound a Vistában került ki a rendszerből és a helyét az XAudio API vette át, míg a DirectInput helyére az XInput érkezett.

    (#30) Jack@l: PS4-en nincs OpenGL. Csak libGNM API. A PS3-on volt OpenGL ES, de amint lett libGCM nem fejlesztették tovább. A multiplatform fejlesztéseknek lesz még opcióban libGNMX.

    Azt felejtsd el, hogy ezek az új API-k egy régebbi kiegészítései. A next-gen low-level API-k (D3D11.X, libGNM, Mantle, Direct3D12) nulláról újraírt rendszerek. A modern OpenGL, amiről manapság lehet hallani, például azért tud működni, mert magán az API-n belül is elvágták a kompatibilitást.

    [ Szerkesztve ]

    Senki sem dől be a hivatalos szóvivőnek, de mindenki hisz egy meg nem nevezett forrásnak.

  • Abu85

    HÁZIGAZDA

    válasz Jack@l #41 üzenetére

    A draw call az elsődleges probléma. Nem véletlen, hogy low-level API-k egységesen ezekre kínálnak gyors megoldást, és a fejlesztők is elsőként ezt használják ki. Az a baj, hogy már az előző generációs konzoloktól is messze van a DX, hát még az újtól. Persze semmibe lehet venni az MS ajánlásait a DX-re vonatkozóan, de van egy határ, amit nem éri meg átlépni. Túlzott batch/frame, vagy a mutex-alapú zárolások extrém erőltetése, olyanokat csinál, hogy random ledobja a hardvert az appról. Lásd BF4. Ez még ma is előfordul sajnos, mert a Frostbite 3 túlterheli a DX-et, de nem tudnak vele mit tenni a fejlesztők, mert ha kiveszik a mutex-alapú zárolásokat, akkor az -50-80%-ot jelent teljesítményben. Nyilván az új játékot a Mantle birtokában finomabbra tervezhetik, mert ha kell a sebesség, akkor ott a másik API, de ez egy komoly probléma egy PC-s játéknál, mert nem azért veszed, hogy játék közben ledobja a DX az erőforrást. Ez nem engedhető meg, és ez tisztán az API problémája, driverből is mindenki próbál javítani, de esélytelen a tökéletes stabilitás

    [ Szerkesztve ]

    Senki sem dől be a hivatalos szóvivőnek, de mindenki hisz egy meg nem nevezett forrásnak.

  • Abu85

    HÁZIGAZDA

    válasz Jack@l #44 üzenetére

    A háromszög ma már nem probléma. A gond igazából a raszterizálás. A mai API-kban található futószalag négyes pixelblokkokon működik, tehát ahhoz, hogy a hatékonyság 90% fölött legyen legalább 16 pixelesnek kell lennie a háromszögeknek. Tehát a háromszögek rajzilása nem gond, de azok "színezése" már az. Például a Firaxis ezért dobta el a fixfunkciós tesszellátort használatára épített rendszerét, mert túl kicsi háromszögeket kreált. Helyette írtak egy emulált tesszellátort compute shaderben. Lás csodát még jobb részletesség mellett is 20-30%-kal gyorsabb. Pedig több háromszöget rajzol ki, csak figyel arra, hogy a hardver egyszerre négy pixeles blokkokon raszterizáljon.

    [ Szerkesztve ]

    Senki sem dől be a hivatalos szóvivőnek, de mindenki hisz egy meg nem nevezett forrásnak.

  • Abu85

    HÁZIGAZDA

    válasz Jack@l #49 üzenetére

    A jobb részletesség igazából nem egyenlő a több háromszöggel. Pont ez a baj a fixfunkciós tesszellátorral. Van egy bedrótozott algoritmus, amit nem lehet vezérelni. Helyenként sok, míg más helyeken kevés háromszöget eredményez. Az a jó minőség, ha a háromszögek minden egyes területen elegendő mennyiséget ütnek meg. Könnyen kitalálható, hogy a több háromszögnek az a gondja, hogy rossz lesz a raszterizálás hatékonysága, míg ellenkező esetben a felület lesz a kelleténél rosszabb minőségű.
    Azért csináltak speciális tesszellálást a Firaxisnál, mert a végeredményt tekintve egyik sem jó. A köztes állapotot kell belőni, amikor a háromszögek elég kicsik ahhoz, hogy a felület részletessége maximális legyen, de közben elég nagyok ahhoz is, hogy a raszterizálás hatékonysága 90% fölött maradjon.

    Nagyon fontos még az is, hogy a tesszellálás még akkor sincs ingyen, ha az adott rendszer nem tesszellál. A hull shader ugyanis mindenképp lefut, csak ugye tesszellálás nélkül a számításoknak nem lesz eredménye. Például a Crystal Dynamics a Tomb Raider PC-s verziójában ezért nem használ hagyományos tesszellálást, míg a két új konzolon már ezt használják, mivel ott az API-ban ki tudják vágni a hull shadereket, ha nem lesz tesszellálás.

    [ Szerkesztve ]

    Senki sem dől be a hivatalos szóvivőnek, de mindenki hisz egy meg nem nevezett forrásnak.

Új hozzászólás Aktív témák