Hardware Accelerator benutzen ?


Masen

Member
Joined
Dec 29, 2005
Messages
205
Hi,

ich wollte zur SDL Ausgabe (ausgabe mit SDL_ttf) die Hardware Beschleunigung benutzen. Jedoch bleibt bisher die Ausgabe aus, also wären nun meine Fragen:

1. Welche Flags muss ich mein Bildschrim erzeugen benutzen ? ich benutz bisher das hier : SDL_SetVideoMode (320, 240, 16, SDL_DOUBLEBUF | SDL_HWSURFACE | SDL_HWACCEL);

2. Welche Flags muss ich beim Linken benutzen ? ich benutzt bisher einfach alle die ich so finden konnte und auch funktionierten (hab die aus sonem SDL Test Programm übernommen) : -lSDL -lSDL_gfx --start-group -lSDL_ttf -lfreetype -lSDL --end-group -lSDL_image -ljpeg -lpng12 -lz --start-group -lvorbisidec -lmikmod -lSDL --end-group -lgcc -lm -lc -lexpat -lpthread -ldl


danke schon mal im voraus ^^
 
Nur so zum Ausschliessen ob du dir richtigen sdl libs linkst.
SDL, ob statisch oder als shared lib, sollte jedenfalls in der HardwareACC Version dazugelinkt sein.
Soweit ich mitbekommen habe gibt es einige Versionen der SDL. Eine ältere kann die ACC modi erst gar nicht.

Apropos Doublebuffer und 16Bit.
Ich hab schon einen thread zu dem Thema eröffnet,
es gibt kein echtes Doublebuffer in 16bit mode, während im 8bit mode alles wunderbar funktioniert. Egal ob minimal lib oder sdl, ich hab beide probiert.
 
also ich benutze das aktuelle Windows DevKit was man im Archive findet ...
da sollte laut ReadMe auf jeden fall die HA Libs drinne sein ....

zudem Doublebuffer ich habs auch ohne probiert nur dann bekomm ich auch leider keine Ausgabe.
 
So funktionierts in meinen sdl_gfx treiber:
Code:
<i>
</i>SDL_SetVideoMode(
	llgfx_displaywidth, 
	llgfx_displayheight,
	llgfx_bitspixel, 
	SDL_DOUBLEBUF|SDL_FULLSCREEN);

SDL_Flip(screen);

Das du keine Ausgabe hattest hängt mit dem HARDWARE Surface flag zusammen. Ich müssts noch mal ausprobieren, aber soweit ich mich erinnere hatte ich dann auch keine Ausgabe.
Bis auf das Flimmern funktioniert soweit alles.
 
naja aber wenn ich das HW Surface weglasse kann ich dann noch die Hardware Acceleration benutzen ? also ich mein software mässig klappt ja die ausgabe, aber ich hätte es ja gerne mit der Hardware Accelatration ^^
 
HARDWARE Surface funktioniert nicht wirklich.
Es kann gut sein das nur ein paar Teile wie z.b 8bit hardware doublebuffer über hardware geswitched werden.
Was alles hardware accelerated ist steht ja auch nirgends.
Die minimal lib verbiegt in 8bit modus definitiv die hardware register für den framebuffer.

Gibts den sourcecode für den hardware gp2xsdl `? Da würd ich liebend gern reinschauen.
 
ich glaub schon das es den source irgendwo geben müsste ...

also weißt du/jemand anderes welche flags ich genau benutzten muss um die Hardware Acceleration mit der GP2X SDL zu benutzten ?
 
Das linken der Hardware Accelerated SDL Libs reicht vollkommen. Das HARDWARE Surface flag ist nicht das "einschaltflag" für die hardwareunterstützung. Es ist nur ein flag für das erstellen von surfaces und funktioniert offensichtlich für gp2x nicht.
Unter hardware unterstützung versteh ich neben einen hardwareblitter die hardware encoder für video und soundformate und aber auch die framebuffer register für echtes hardware-doublebuffering (was in 16bit mode ja auch nciht funkt). Von einem hardwareblitter hab ich bis jetzt noch nichts gehört, sehr wohl aber von mpeg encoder etc.

Wie gesagt, n sdl source und eine hardware support liste wäre echt nicht schlecht.
 
Back
Top