Hirdetés

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

  • Blazs120gl

    aktív tag

    válasz GodGamer5 #8 üzenetére

    Egy már létező projektnél, ha egymagos render fázisra épül, elég drága az átírás sajnos, még OpenGL-ről is. Különösen, ha az egész program nem többszálasra lett tervezve. Ha a grafika nem képezi a program fő fícsörét, ott nem fogják szánni az időt rá. Mobil eszközökön meg első sorban energiatakarékosságra használható fel (több mag között szétdobva a render terhét nem kell turbózni a frekit, de a csúcs fps nem növekszik), ami valszeg nem sok mobil játékfejlesztőt érdekel... :(

    Sokan nem értik, hogy a Vulkan/DX12 nem tudja emelni a csúcs fps-t ott, ahol a GPU-t az adott CPU 100%-ra ki tujda hajtani, ezért a dev-ek inkább magasabb minimumot írnak elő. Ezért amikor egyesek azt látják, hogy egy csúcs CPU+VGA konfigon ugyanannyi az fps mint D3D11-en (ami NV kártyákkal automatikusan próbál render feladatokat szétdobni magok között), legyintenek.
    Gyengébb gépen, ahol CPU, IPC és/vagy TDP korlát van (pl. gpu-s laptopok, régebbi többmagos AMD procik, régebbi CPU/VGA, gyakorlatilag a gépek 95%-a), a vulkan magasabb fps-t ki tud hozni, ha a játék legtöbb CPU %-ot igénylő fázisát, a render-t és a részfeladataira várakozást (driver overhead) szét tudja több mag között dobni.
    Az se teszi egyszerűbbé, hogy a vulkan a feladatok nagy részét ráhárítja a programozóra, mindezt még azelőtt, hogy bármit csinált volna. :D
    Cserébe a driver-nek nem kell találgatnia, hogy mi lesz a következő lépés és előre el lehet készíteni a GPU-nak kiadandó műveletsorokat, majd a következő frame-ekhez újrahasználni. :D

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