Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: SDL ja graffan hitaus

Sivun loppuun

Meitsi [26.04.2005 16:53:22]

#

Ohjelmani toimii ikkunassa aivan sujuvasti mutta kun vaihtaa kokoruudulle, alkaa peli tökkiä aivan älyttömästi ja vielä käyttää prossua 100% kuormituksella. Miksi näin? Resoluutiona 800x600x32

rndprogy [26.04.2005 17:27:04]

#

Minä käytän yleensä sellaista halpaa tapaa kourmitukseen alentamiseksi kuin SDL_Delay(1);

Meitsi [26.04.2005 17:29:02]

#

Tökkii edelleen aivan kamalasti...
EDIT: mutta prossun käyttö aleni...
EDIT:EDIT: Tutkin frapsilla ja kokoruudulla (hw/sw-surfaceista huolimatta) pyörii kokoajan 3fps. Resoluutio ei vaikuta.

Lazu [27.04.2005 10:32:26]

#

Onkos sinulla tehokaskin kone ja näytönohjain? SDL käyttää windowsissa directx:ää ja linuxilla (kai) OpenGL:ää
Siskoni koneella joka on 800mhz, kaikki mahdollinen integroituna ja jossa on linux, ei pystyisi kuvittelemaankaan pelaamaan mitään joka on tehty SDL:llä. SuperTux (meniköhän oikein) tökkii erittäin paljon.

Markus [27.04.2005 12:12:52]

#

>SDL käyttää windowsissa directx:ää ja
>linuxilla (kai) OpenGL:ää

SDL EI käytä laitteistokiihdytystä eli se ei käytä OpenGL tai DirectX:ää.

SDL:n kanssa voi käyttää OpenGL:ää,jolloin ohjelmasta saa nopean (olettaen, että koneessa on 3D-kiihdytystä tukeva näytönohjain)

Meitsi [27.04.2005 16:05:58]

#

Mitäsvarten on sitten tuo SDL_HWSURFACE-lippu jos kerta sdl ei käytä laitteiston kiihdytyksiä?

Ja koneeni on ihan riittävän tehokas... (1,8GHz AMD; Radeon9800XT; 1Gb muistia)

EDIT: Ja ikkunassa pyörii edelleenkin ihan hyvin...

Markus [27.04.2005 19:36:17]

#

Meitsi kirjoitti:

Mitäsvarten on sitten tuo SDL_HWSURFACE-lippu jos kerta sdl ei käytä laitteiston kiihdytyksiä?

Se tarkoittaa ainoastaan sitä, että piirtopinta sijaitsee näytönohjaimen muistissa RAM:n sijaan. Tämä nopeuttaa kyllä jonkin verran, mutta EI käytä hyödyksi näytönohjaimen huipputehokasta grafiikkaprosessoria toisin kuin OpenGL.

maagimies [27.04.2005 20:03:16]

#

Markus kirjoitti:

...mutta EI käytä hyödyksi näytönohjaimen huipputehokasta grafiikkaprosessoria toisin kuin OpenGL.

No, en tiiä Windowsista, mutta Linuxissa SAA monille SDL functioille laitteistokiihdytyksen. Itselläni saan normaali ja alpha kanavaisen bittikartan piirron kiihdytettyä. Muistaakseni tämä hoituu tekemällä ympäristämuuttuja, tämmöne koodi vaik mainii (linuxissa siis)

#ifdef __linux__
  putenv("SDL_VIDEODRIVER=dga");
#endif

sama koodi windoosas mut toho driverii tulee kait directx
Täs o tietoi linuxille, joita voi kuiteski hyödyntää windoosaa: http://www.linuxdevcenter.com/pub/a/linux/2003/08/07/sdl_anim.html
Sekä täs o lista kaikista SDL:llän ympäristömuuttujist:
ftp://ptah.lnf.kth.se/pub/misc/sdl-env-vars

Lisäys:
JOUDUIN ottaa asiasta selvää, sillä itellä on niin tuhnu kone et tarviin kaiken mahollisen kiihdytyksen, ja ny toimii omat softat paremmi :) Kun vaa kaikki ny lukis tän postin ja tekis muutokset SDL ohjelmiinsa... :D

Lazu [29.04.2005 08:52:51]

#

Markus: Käyttääpäs, ainakin windowsilla se käyttää directx:ää.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta