Hirdetés

Hirdetés

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

  • Abu85

    HÁZIGAZDA

    válasz ->Raizen<- #28 üzenetére

    Egyszerűen ábrázolva ez történik:

    Rohadtul elnagyolt a kép, de tök jól szemlélteti a lényeget. Fent van a rendszermemória, pontosabban annak az a szelete, amit a CPU és a GPU is elér. A HBCC nélkül az allokációk teljes egészében kerülnek át. Innen ered a hagyományos modell problémája, mert lehet egy allokáció 100 MB-os is, de abból elképzelhető, hogy csak 4 kB-nyi adat kell. Tehát ebben a példában 4 kB-ért kötelező 100 MB-nyi erőforrással fizetni a VRAM oldalán. A HBCC-vel elég csak azt a 4 kB-os lapot átmásolni, legrosszabb esetben két lapot. Vagyis csak az van ott a GPU melletti lokális memóriában, amire tényleg szükség van. Így éri el ez a modell a 100%-os hatásfokot. Olyan lap nem kerülhet bele a HBC-be, amire nincs szükség.

    Visszatérve a HBCC nélküli megoldáshoz láthatod, hogy ott is ugyanúgy bekerül az adat a VRAM-ba, csak jóval több, mint ami szükséges. Ergo az egy szintén reális megoldás, hogy maga a VRAM legyen mindig jóval nagyobb, mint amire reálisan szükség lenne, mert így bőven elfér az az adat is, amihez a program az adott időszakban hozzá sem fog nyúlni, de muszáj betölteni, mert az absztrakció olyan magas szinten valósul meg, hogy nem lehet lapszinten menedzselni a lokális memória tartalmát. Persze az a "4 kB kell a 100 MB-ból" eléggé extrém eset, nagyon sokszor az allokációk 30-70%-a hasznos adat, de a különbséget jól szemlélteti az extrém példa.

    [ 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