Weno esta es la segunda vez ke escribo este mensaje pq "algo extraño" ocurrio cuando ya casi lo tenia escrito por primera vez
En primer lugar como hace tiempo ke no intervenia en el foro, keria saludar a todos y agradecer las respuestas ke me dieron en su dia
Ahi va mi duda:
Pues resulta que estaba experimentando formas de volcado a pantalla con un ejemplo que habia encontrado por ahi que funcionaba a las mil maravillas. La parte que interesa del codigo es esta:
dblbuffer = create_bitmap(SCREEN_W, SCREEN_H);
if(dblbuffer)
{
clear(dblbuffer);
circlefill(dblbuffer, 0, 100, 50, 15);
vsync();
blit(dblbuffer, screen, 0, 0, 0, 0, SCREEN_W, SCREEN_H);
for (x = 1; x < 320; x++) {
rest(10);
circlefill(dblbuffer, x - 1, 100, 50, 0);
circlefill(dblbuffer, x, 100, 50, 15);
textout_centre(dblbuffer, font, "Con doble buffer", SCREEN_W/2, 3, 15);
vsync();
blit(dblbuffer, screen, 0, 0, 0, 0, SCREEN_W, SCREEN_H);
}
// Ahora, recuerde que debe liverar la memoria previamente reservada.
destroy_bitmap(dblbuffer);
return 0;
}
El problema llego cuando sustitui el create_bitmap por create_video_bitmap, que teoricamente deberia ser mas eficiente al ser la copia de vram a vram, pero el efecto resultante fue un horrible parpadeo de la figura similar al que se produce cuando se copia directamente a vram sin esperar el retrazo. Esto me parece bastante paradojico, dado que si no se producia con un bitmap de memoria convencional, como puede producirse con un bitmap de vram?
Mencionar que probe a quitar el vsync() para comprobar si al ser la copia de vram a vram hecha por hard pudiera existir un vsync() implicito ke interfiriera con la llamada explicita, pero el asunto no mejoraba en absoluto.
Otra duda que me atormenta
es saber que opcion consideran mejor para el volcado (en rendimiento o en ventajas practicas) hacer un doble buffer o un page flipping?
Un saludo a todos y gracias de antemano.