Kun oon C++:n SDL:llä tehny pelejä, jossa piirretään joka framella koko screeni täyteen, ohjelmaa pitää optimoida todella paljon, että se lähtisi pyörimään kunnolla. OpenGL:ään siirtyessä ei ollut enää samaa ongelmaa, kun näytönohjaimen prosessori otetaan käyttöön.
Tässä herää kysymys, että miksi näytönohjaimen prosessoria ei käytetä kaksiulotteisissa ohjelmissa?
Käytetään kyllä, jos teet 2D-ohjelmankin OpenGL:llä. Siitä se vain on kiinni.
Käytännössä siis samalla tavalla kuin 3D:n käyttökin, mutta piirtoon glVertex2f ja perspektiiviksi ortogonaalinen näkymä (glOrtho-funktiolla).
Onko näytönohjaimia, jotka tekee työtä SDL:nkin eteen? SDL on sen verran käytetty, että luulis siitä olevan jotain hyötyä, jos näyttikset sitä tukisivat. Direct X:n kanssa näytönohjain varmaan tekee jokatapauksessa töitä, eikö? (en ole direct x:n 3d ja 2d ohjelmoinnista tietoinen ollenkaan)
No kun SDL nimenomaan on tehty niin, että se toimii millä tahansa, niin silloin siihen ei ole järkevää ruveta laittamaan mitään vaatimuksia näytönohjaimen suhteen. Ja jos nyt ihan realistisesti katsotaan suureen maailmaan, niin aika vähän SDLää näkee missään isoissa projekteissa. (Älkää nyt taas tulko siitä CIV2:sta valittamaan :)
OpenGL ja DirectX yleensä toimivat kaikilla suhteellisen uusilla ohjaimilla ainakin suurelta osin.
Metabolix kirjoitti:
Ja jos nyt ihan realistisesti katsotaan suureen maailmaan, niin aika vähän SDLää näkee missään isoissa projekteissa. (Älkää nyt taas tulko siitä CIV2:sta valittamaan :)
Muistelisin että UT200x:ssä oli ikkunan nimenä Linuxissa SDL_App ennen kokoruututilaan siirtymistä.
Ja tuo näytönohjainten suora tuki: käsittääkseni SDL käyttää ainakin Windowssissa DirectX:ää (Linuxissa OpenGL:ää?), jolloin mitään suoraa tukea ei oikein voidakaan tehdä.
Aihe on jo aika vanha, joten et voi enää vastata siihen.