Keresés

Hirdetés

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

  • jerry311

    nagyúr

    válasz .LnB #18 üzenetére

    Kihagytál egy részt.
    Vannak a szabványban definiált módszerek, függvényhívások, stb., azoknak a kimenetele, működése dokumentált és mindig ugyanazt csinálja.
    És vannak az olyan esetek, amikor a szabvány szerint egy adott függvény, utasítás, stb. nem használható, mert nem arra tervezték, nincs dokumentálva... Na ezek a programkódok vagy futnak és jó eredményt adnak, futnak és rossz eredményt adnak, nem futnak, attól függően milyen hardver, driver, stb van a gépben. A szabványnak megfelelő kódok viszont futnak mindenhol. Kis túlzással persze, mert hibák így is lehetnek, de ha a kód szabványos, a fordító szabványos, és mégsem úgy működik, ahogy le van írva, akkor nem a kódban van a hiba.

  • rudi

    nagyúr

    válasz .LnB #18 üzenetére

    Könnyen lehet, hogy ezeknek a nem szabványos kódoknak a megszületése még arra az időre datálható, amikor az NVIDIA a saját jól képzett, fizetett kódereit küldte ki a nagyobb projektekben besegíteni. Nekik lehetett olyan szintű visszahatásuk egy-egy "hibás" kódra, hogy a drivert csináló NV-s csapat átengedje a rostán a működését. És mivel ezt évekig csinálták, bőséggel van a mai motorokban ilyen kód, ezeket le "tisztalapozni" nem lehet egy varázsütéssel, még ha az iparágnak jót is tenne a reboot. Lényegében pont ezért lehet nagyon ritkán sikeres újrakezdést csinálni akármilyen technikai területen.

    Resistance Is Futile. You will be assimilated!

  • #05364992

    törölt tag

    válasz .LnB #18 üzenetére

    Ahogy mondod, a programozóknak kellene leszokniuk az ilyen megoldásokról, de ez nem következik be addig, amíg erre nem vagyunk kényszerítve valamilyen módon. A D3D11-hez csinált az MS egy frankó kis hibakeresési réteget, amit ha fejlesztés közben bekapcsolunk, akkor az ilyen esetekben azonnal ránk üvölt, hagyja ugyan a programot tovább futni, de egyértelműen jelzi hogy gond van. Szvsz ez a megoldás az ilyen gondokat csökkenti jelentősen, ugyan fizikailag nem vagyunk akadályozva abban hogy hülyeséget csináljunk, de azért annyi szakmai önérzete szokott lenni mindenkinek, hogy olyan trógerolt vackot nem ad ki a kezéből, ami ugyan látszólag jól működik, de tudja róla hogy a háttérben meg ontja a hibákat. (Bár azt hagyjuk meg, hogy a nappali munkában webfejlesztőként már láttam "csodákat", ha a vezetésnek sikerül mentálisan leépíteni egy fejlesztőt annyira, hogy tegyen mindenre magasról, ott nincs mit tenni.) A másik dolog amit az MS ilyen téren "jobban" csinál, az az hogy a shaderes dolgokon is erősebben rajta van a kezük, amit az MS shader fordítója lefordít, annak mennie kell mindenhol, az helyes kód. (Mellékes megjegyzés: azért ez sem tökéletes, pont a 600-as szériás geforce-ok azok, amikre emlékszem hogy az alábbi pszeudo kódra is képesek voltak negatív értéket számítani: a = ha b < 0 akkor 0 különben b; A megoldás anno az volt hogy nem azt vizsgáltuk hogy b < 0, hanem hogy b < valami marha pici pozitív szám, így már működött az egész.)

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