Kas yra greitasis režimas?

Kompiuterinės grafikos programavime tiesioginis režimas yra atvaizdavimo būsena, kai įprasta veiksmų seka ir sistema, kurioje jie egzistuoja, yra visiškai apeinami ir kai kuriais atvejais išjungiami. Tai reiškia, kad vykdoma programa turi tiesiogiai iškviesti funkcijas, būtinas norint ką nors parodyti rodymo įrenginyje, pvz., monitoriuje, o ne pasikliauti įgimtais ciklais už programos ribų. Greitasis režimas dažniausiai naudojamas programoms, kurioms reikalingas greičiausias atvaizdavimo laikas, pvz., daugialypės terpės programoms ar vaizdo žaidimams, arba naudojamas kaip mokymo priemonė mokantis naudotis sudėtingomis grafinėmis bibliotekomis. Dėl prastai suprojektuotos arba netinkamai įdiegtos programos, kuri naudoja tiesioginio režimo atvaizdavimą, tušti ekranai arba tuščios ekrano sritys gali pasirodyti ir išlikti, nes, jei reikia, nėra atliekami automatiniai iškvietimai perbraižyti esamą kadrą. Vienas variantas žinomas kaip mišrus režimas, kai programa išlaiko išsaugotą atvaizdavimo sistemą, bandydama valdyti tam tikras jos dalis naudodama tiesioginio režimo stiliaus funkcijas.

Daugelyje kompiuterių programų informacija arba grafika į rodymo įrenginį atvaizduojama naudojant įvykiais pagrįstą programos architektūrą. Tai reiškia, kad ekranas perbraižytas tik reaguojant į tam tikro tipo programos ar vartotojo įvestį. Tai puikiai tinka programoms, pvz., tekstų rengyklėms ar žiniatinklio naršyklėms, bet neveikia tokioms programoms kaip daugialypės terpės grotuvai, meninio atvaizdavimo programinė įranga ar vaizdo žaidimai, kuriuose ekraną gali tekti perpiešti 60 ar daugiau kartų per sekundę be jokios rūšies įvestis. Sprendimas yra naudoti tiesioginį režimą.

Užuot leidusi operacinei sistemai arba grafikos bibliotekai valdyti, kada ir kaip ekranas atnaujinamas ir pateikiamas, programa visiškai valdo ir pašalina visas kliūtis tarp rodymo įrenginio ir programos kodo. Tokiu būdu programa, naudodama laikmačius ir kitą pasirinktinį kodą, gali susikurti savo rodymo kilpą, todėl ekranas perbraižiamas tiek ar tiek kartų, kiek reikia norimam rezultatui pasiekti. Viena iš tiesioginio režimo naudojimo komplikacijų yra ta, kad kai kurios skaidrios išlaikyto režimo atvaizdavimo funkcijos, pvz., geometrijos variklis, gali būti nepasiekiamos, todėl programa turi turėti savo diegimus. Kita problema yra ta, kad programai gali prireikti daug apdorojimo galios, kad atvaizdavimo ciklas būtų palaikomas priimtinu greičiu.

Alternatyva išimtinai tiesioginiam režimui yra naudoti mišrų atvaizdavimo režimą. Taikant šį dizainą, išlaikyto režimo atvaizdavimo sistema išlaikoma vietoje, kad būtų galima naudoti visas grafinės bibliotekos funkcijas, tačiau tam tikros funkcijos ar metodai yra nepaisomi ir pakeičiami vartotojo sukurtu kodu, kuris gali priversti esamą atvaizdavimo sistemą veikti būdas, kuris labiau primena tiesioginį režimą. Šis metodas gali būti veiksmingas, bet taip pat gali sukurti kodą, kurį sunku derinti ir kuris gali turėti netikėtų rezultatų, atsižvelgiant į vartotojo kodo ir bibliotekos kodo sąveiką.