Keresés

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

  • Envo_

    aktív tag

    válasz Petykemano #40320 üzenetére

    Akkor ajánlom hogy az első kommentet is olvasd hozzá:

    "The API's used on the consoles are different from the PC. The xbox one uses a custom version of dx12. The dx12 on PC relies on an abstraction layer in order to work that it's not necessary on the console. The ps4 uses their own API which should resemble the vulkan or dx12, since they provide more control to developers.

    Other thing that you don't count are shaders. On PC need to be compile before using them. The shaders are like programs that run on the GPU and need to be compile against the architecture of the Graphics Card in order to run. So the developers need to be sure that the shaders works on all the GPU, AMD, NVIDIA and INTEL (if supported), and also different families of each vendor (not the same the pascal gpu's and the turing ones) by using a common language. In consoles they need to aim just to the console ones, so they precompile the shaders and make them part of the game files (the reason why console games normally occupies more space on consoles than the pc version). If you remember Doom 2016 was optimize for amd gpu's using shaders intrinsics that make use of the optimize version from the console to feed them to graphics card (It is a little more complicated than that). This is one of the reasons why Doom on AMD performs better compare to NVIDIA equivalent at the time. Also remember that the consoles cpu's are weaker than pc. If they make games to compile shaders on the consoles the games will stutter like hell or will make the load times longer (One of the reasons of the state of load times at the start of the generation ).

    So to resume: there are special optimizations on consoles to make the games run faster, from the API level to the handle of shaders. "

    Ehhez hozzátenném, hogy pont a napokban (kb pár hete) jelent meg itt IS a hír, hogy az MS elérhetővé akarja tenni a konzolos API hívásokat Windows-ra.

    Egyébként az egész kérdés tárgytalan annak függvényében, hogy MÁS AZ INTERFÉSZ, tehát az API. Az optimalizáció azt jelenti első körben, hogy van egy API, és megpróbálom minden esetben az optimális hívással megoldani a kívánt viselkedést. Amint akad egy olyan dolog is, amit meg akarok hívni, de nem szerepel az API-ban (pl Windows portolás), akkor máris komplikációk lépnek fel. Szinte biztos hogy vagy "hackelni kell" egy majdnem jó megoldást, ami rosszabb lesz, mint az eredeti, vagy már tervezés során figyelem előtt kell tartani mind a két platformot, amit manapság szinte senki nem szokott csinálni. (Nem véletlen, ez a fajta tervezés kb 1,5x több erőforrást igényel egy hagyományos szoftverfejlesztési folyamatban, pénzben is meg munkaerőben is)

    [ Szerkesztve ]

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