Bitblt et stretchblt lent et pas efficaces :-(

Messages postés
16
Date d'inscription
mercredi 29 mai 2002
Statut
Membre
Dernière intervention
5 novembre 2002
-
Messages postés
82
Date d'inscription
samedi 23 février 2002
Statut
Membre
Dernière intervention
28 mars 2005
-
Bonjour à tous !

je prépare en ce moment un petit prog pour faire deseffets de transition entre images en pelin écran (pour plus tard préparer une screensaver).
J'ai utilisé la fonction paintpicture pour faire tout un tas d'effets entre autres losanges, cercles d'une image sur une autre (je l'uploaderai quand ça sera prêt). Par contre paintpicture m'empêche de faire des effets de "passage" d'une image sur une autre.
Si par exemple je veux faire passer une petite image sur une grande d'un côté à l'autre de l'écran; là où l'image est passé il reste la "trace" (autoredraw doit être à "False").
J'avais cru comprendre que Bitblt et stretechblt (pour effet d'augmentation et réduction) permettait de s'affranchir de ce problème en "nettoyant"l'écran au fur et à mesure du déplacement de l'image en question...
Hors il n'en est rien. en mettant autoredrax à true comme exigé, rein ne se passee jusqu'à la fin du traitement (coordonées mis dnas une boucle pour simuler le déplacement). les seusl résutlats sont :
- un écran gelé jsuq'à la fin de la boucle.
- les traces du dpélcement toujorus présentes
et pour combler le tout, bien que stipulant les HDC sources et destination, la fonction utilise apparement le HDC de l'écran car le résultat tient comtpe de tout ce qui est à l'écran (si j'ai une petite feuille modale sur l'écran d'un autre appli elle se retrouve dans mon résultat.
Et enfin c'est très lent ! qlq'1 eput il m'expliquer (j'ai pourtant mis autoredraw à "true", scalemode à "pixel" et tout ce qui s'en suit ...: -((

1 réponse

Messages postés
82
Date d'inscription
samedi 23 février 2002
Statut
Membre
Dernière intervention
28 mars 2005

Vu la quantité de problèmes que tu as, la meilleure solution pour toi serait de tout reprogrammer en utilisant directdraw, ça sera très rapide (plus de 200 affichages par seconde) car ca utilise la carte graphique et en plus tu n'aura plus de probleme de traces restante puisque tout l'écran est recalculé a chaque fois

En esperant t'avoir aidé

Progmeister :)