Affichage du buffer à l'écran

CyberP Messages postés 283 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 4 juillet 2007 - 29 févr. 2004 à 10:45
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 29 févr. 2004 à 11:10
Voilà, j'ai fait un programme censé afficher différentes figures à l'écran... Après plusieurs calculs, le résultat est stocké dans un buffer et je voudrais afficher le contenu à l'écran
Le buffer est un tableau int contenant autant de lignes et de colonnes que de pixels à afficher dans la fenêtre

Le seul problème est que je ne sais pas comment faire pour que ce soit rapide, pour l'instant j'utilise ca :

RECT rectangle;
for (int i = 0; i < scr_width; i++) {
for (int j = 0; j < scr_height; j++) {
rectangle.left = i;
rectangle.top = j;
rectangle.right = i+1;
rectangle.bottom = j+1;
FillRect(hdc, &rectangle, (HBRUSH)COLOR_WINDOW+buffer[(j*scr_width)+i]);
}
}

Mais le programme met 2 secondes pour afficher 450*550 pixels !!! Quelqu'un aurait-il une solution pour que ca aille plus vite ?

CyberP,
Celui qui dit que toute question a une réponse

1 réponse

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
29 févr. 2004 à 11:10
Teste en creant un compatibleDC et trace dessus, ensuite tu BitBlt en 1 passe vers hdc.

ciao...
BruNews, Admin CS, MVP Visual C++
0
Rejoignez-nous