przez wobes w 26 Sty 2013, 22:31
Nie ułatwia. Pisanie bezpośrednio na kartę przypomina zwykły assembler. Po to właśnie powstały directy, opengle: żeby ukryć przed programistą niuanse sprzętu, żeby sobie nie musiał tym umysłu zaprzątać, zamiast czytać tysiąc czy dwa tysiące stron dokumentacji i myśleć czy piksela narysuje wysyłając 50 instrukcji niskopoziomowych, czy też ta 51-sza też jest potrzebna. Mogłoby się wydawać, że zwiększy to wydajność... A tu jest tak jak z assemblerem i c: póki program jest prosty, to człowiek wygeneruje szybszy kod. Ale prędzej czy później nadejdzie ten moment, że kod stanie się zbyt obszerny i będzie się to nierealne, wręcz bezsensowne, nie mówiąc o debugowaniu. Wtedy człowiek napisze sobie nakładkę i... tak powstały directX i opengl.
Sytuacja ta przypomina trochę słynne CUDA od Nvidii. Po premierze okazały się zbyt niskopoziomowe, tak że większość programistów nie dała rady opanować tej technologii w takim stopniu, żeby była dla nich użyteczna i stworzone przez nich aplikacje działały wyraźnie wydajniej od tych działających na CPU. Wraz z kolejnymi wersjami cudów było lepiej, ale na dzień dzisiejszy "wysokopoziomowy" OpenCl cieszy się większym wzięciem.
Wreszcie sprawa najważniejsza: czy zmuszanie programistów, żeby nadrabiali braki wydajności sprzętu niskopoziomowych kodowaniem, przysporzy tej konsoli popularności czy też ją dobije?