Keresés

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

  • Abu85

    HÁZIGAZDA

    válasz _Scythe_ #721 üzenetére

    Egyszerű. Amikor elindul a program, akkor kikérhet a drivertől egy listát, hogy mit tud a hardver. A DX11.1 alapértelmezetten hét módot különböztet meg (köznyelven ezek: DX11.1, DX11, DX10.1, DX10, DX9.3, DX9.2, DX9.1). Ezt persze a fejlesztő redukálhatja, vagyis megadhatja, hogy ha nincs minimum DX10, akkor DX9.3-nál már dobja a hibaüzenetet. A lényeg az, hogy a driver visszaválaszol még az indításnál, hogy a hardver mondjuk DX11-es. Ilyenkor a program a DX11-es módot aktiválja a programkódon belül, és ez a kódrész biztos, hogy kompatibilis a termékkel.
    A DX11.1 behozza még a kiterjesztéseket. A program indulásánál azt is megkérdezheti a drivertől, hogy tud-e a kártya valami extra kiterjesztést a DX11.1-en kívül. A driver visszaküld egy listát, hogy ezt meg ezt tudja. Ez természetesen csak DX11.1-es hardverrel lehetséges. Ilyenkor a programkódon belül azok a részek is aktiválódnak, amelyek az alap DX11.1 implementációban nem. Az előnye ennek a módnak, hogy csak egyszer kell ellenőrizni, és a program végig tudni fogja, hogy mit tud a hardver. A régi DX9 és azelőtti megoldással minden rajzolási parancs előtt meg kellett kérdezni a drivert, hogy azt a hardver egyáltalán végre tudja-e hajtani. Ha nem, akkor a rajzolási parancs ki sem lett adva. Természetesen nem mindegy, hogy a program teljes futtatása alatt egyszer ellenőrzöd a hardver tudását, vagy másodpercenként négy-ötezerszer.
    Az új Radeonnál ez azért fontos opció, mert a hardver sokkal többet tud annál, mint amit maga a DX11.1 hivatalosan megkövetel. Ezt a tudást a specifikus kiterjesztéseken keresztül lehet beépíteni. Persze ennek az a hátránya, hogy ezek a kiterjesztések gyártóhoz kötöttek, vagyis, ha például a virtuális textúrázást ptex textúraformátummal beépíted a játékba, akkor azt PRT eljárással csak a GCN architektúrára épülő Radeonok tudják megcsinálni. Más hardverre más megvalósítást kell majd keresni.

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