Keresés

Hirdetés

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

  • Abu85

    HÁZIGAZDA

    válasz fLeSs #354 üzenetére

    Röviden igen. Akármilyen gyors a PCI Express sáv, az nem ment meg attól, hogy ha elfogy a VRAM, akkor bizonyos allokációkat törölni kell. Már maga a törlés időigényes, és explicit API-kkal különböző ellenőrzéseket kell futtatnia a CPU-val a programnak, hogy ne töröljön olyan adatot, ami éppen használatban van. Ez eléggé szopás lenne a programfuttatásra. DirectX 11-ben ez még rosszabb, mert ott aztán az allokáció törléséhez egy rém lassú és processzorigényes folyamaton keresztül vezet az út.

    Az is probléma, hogy a fejlesztők nincsenek a helyzet magaslatán az explicit API-kkal, és még ma is előfordul, hogy kb. 1 GB-nyi adat szemetelt adat, és nem is távolítja el a megírt kód, mert a törlés még explicit API-val sem ingyenes. Ez például a 4 GB-os kártyáknak nem egy fasza dolog. Vagy mondjuk a Far Cry 6, amiben basszus a VRAM telítődése konkrétan játékösszeomláshoz vezethet, mert annyira el van baszarintva a menedzsment, hogy ha pont akkor lesz out of memory, amikor konstansot direkten a root signature-ba ír, akkor azt a motor nem tudja lekezelni alkalmazásfagyás nélkül. Egyszerűen meghal a cucc, kilép és ennyi. Ezért pofázza a Microsoft teli szájjal évek óta, hogy a root signature nem buffer viewek tárolására való, azokat leíróhalmazokba kell rakni.

    Ha valamelyik fejlesztő nem tud jó menedzsmentet írni, akkor fel lehet használni a D3D12MA és a VMA libeket. Előre megírt menedzsment egy rakás beállítással, ott a Horizon Zero Dawn, a Strange Brigade, a World War Z (Aftermath), akármi, fejből nem jut eszembe több, ami használja ezeket. Meg lehet nézni, hogy mennyire veszettül működnek ezek a motorok ha menedzsmentről van szó. Különösen a World War Z: Aftermath és a Strange Brigade, amelyek valós idejű defragmentációt is alkalmaznak, így időnként az allokációkat egymásra tolják és korrigálják a pointereket, vagyis anélkül szabadítanak fel, pontosabban tesznek egybefüggővé VRAM-ot, hogy bármit is törölnének. De még mindig van olyan fejlesztő, amelyik inkább szenved egy saját menedzsmenttel, ami némi eséllyel kifagyhat (igen a Far Cry 6-ra gondolok).

    #357 gbors : Nem mindegy, hogy mennyi adatot másolsz. Általában ez minimumra van véve a magas késleltetés miatt, de ha elfogy a VRAM, akkor nyilván nincs más út. És innentől kezdve semmi sem ment meg az időszakos akadástól, hacsak nem veszed lejjebb a beállításokat.
    Attól függ az akadás gyakorisága, hogy mennyi VRAM fogy el. Az allokációk különböző méretűek, lehet nagy és kis allokációt is másolni, a kicsi nyilván kedvezőbb. Vagy példát lehet venni a World War Z: Aftermath és a Strange Brigade játékokról, amelyek defragmentálnak, és akkor nincs probléma.

    Az általános ajánlás, és a saját ajánlásom is az, hogy 1080p-re is 8 GB-os kártya kell. Ez a minimum. Hacsak nem szénné optimalizált csúcsmotor van a játék alatt, mint az Asura, vagy a Swarm. De ezek a fehér hollónál is ritkábbak, így inkább a 8 GB. Csak ezekért kurvára zsebbe kell ám nyúlni manapság.

    [ Szerkesztve ]

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

  • Yutani

    nagyúr

    válasz fLeSs #354 üzenetére

    A Techspot a 6500XT tesztjében figyelt arra, hogy ne ultra quality módban tesztelje a játékokat, legalábbis az újabbakat, és mégis nagyon jól látható a PCIe 3.0 hatása.

    Szóval ez a kártya még medium beállításokon is szenved a gyatra PCIe sávszélességtől.

    #tarcsad

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