RIEN RIEN RIEN RIEN RIEN RIEN RIEN RIEN RIEN RIEN RIEN RIEN RIEN RIEN RIEN RIEN

Utilisateur anonyme - 23 juin 2007 à 15:10
 florenth - 26 févr. 2008 à 10:32
Le mot scanline apparaît deux fois dans le code dans la procédure TOptimized24BitBitmap.PrepareBits; (fichier Optimizedbitmap.pas)

Le but de cette source est d'aller plus vite, donc il s'agit de faire le moins d'appels possibles à cette méthode qui mine de rien consomme un peu de ressources.
Voila tout.
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
26 févr. 2008 à 00:31
Bonjour, j'ai un petit problème : étant dans l'impossibilité de lancer l'executable, je ne peux pas apprecier ton code dans toute sa splendeur. Mais j'ai juste une question... pourquoi le mot "scanline" n'apparait nulle part dans ton code ? ... Désolé je n'ai pas la fiche ni la plupart des fichiers .dcu, je comprends donc très mal la plupart des sources postées ici :(
cs_barbichette Messages postés 220 Date d'inscription lundi 30 octobre 2000 Statut Membre Dernière intervention 15 juillet 2013
25 juin 2007 à 11:58
Salut,
En effet, suite à la discution sur le forum, j'ai bien étudié les deux.
Les performances sont en gros les même. MAIS seulement lorsque l'on doit redessiner tout le bitmap.
Sinon, il est bien évident que de modifier quelques pixels puis de transférer tout le bitmap est bien plus lent.

Je regarde toujours pourquoi get/setdibits ne marche tout le temps chez moi. Ca pourra toujours servir... Il doit sûrement y a voir des bugs ailleurs...
cs_Kenavo Messages postés 702 Date d'inscription vendredi 21 mars 2003 Statut Membre Dernière intervention 1 octobre 2009 5
25 juin 2007 à 09:31
L'utilisation de Scanline semble être un sujet qui plaît ces temps-ci !
Merci à Florenth d'avoir pris du temps pour mettre au propre ce que je continuais à brouillonner salement !
Salut Delphiprog !
Ta présence se fait de plus en plus rare par les temps qui courent, alors ça me fait plaisir que ce code te plaise !
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
23 juin 2007 à 23:06
Y a pas à dire, c'est du grand art, de la haute voltige, que dis-je, du Florenth pur jus :))
En plus, c'est bien codé !
Et hop, je mets dans ma caisse à outils ce petit bijou :)

Bravo pour ce code.
NB : Heureusement qu'il y a quelques personnes comme toi pour relever le niveau.
Oui Cirec, y'a décidément des gens qui croient qu'il n'ont rien à apprendre sur rien... ce qui est totalement faux !
Par contre, je relativiserais le gain de performances. En fait, suivant le calcul que tu fais, il se peut que GetDIBits ne soit pas loin derrière Scanline[] (je suis arrivé à 5ms d'écart entre les deux, mais bon, le calcul durait 500ms !).
Dans TOUS les cas, ma technique de Scanline[] est plus rapide. J'ai pas dit LA plus rapide (on doit pas en être loin quand même) mais c'est déjà bien mieux que ce que j'ai vu avant.

Merci à vous trois pour vos appréciations !
Albedo039 Messages postés 18 Date d'inscription mercredi 8 novembre 2006 Statut Membre Dernière intervention 31 janvier 2008
23 juin 2007 à 18:06
Moi, je l'ai déjà mis dans mes codes favoris :))
fbalien Messages postés 251 Date d'inscription dimanche 7 décembre 2003 Statut Membre Dernière intervention 11 novembre 2016
23 juin 2007 à 16:34
excellent
70 lignes de codes pour un résultat maximum
Utilisateur anonyme
23 juin 2007 à 15:10
Vue 217 fois et pas un commentaire :

Je constate que cette source passe au dessus de beaucoup de tête ;)

Cette source s'adresse à tous ceux qui croient savoir utiliser Scanline correctement

Un ScanLine mal utilisé est au moins deux fois plus lent qu'un Get/SetDiBits

Mais utilisé comme Florenth nous le propose ici, ScanLine devient au moins deux fois plus rapide que
Get/SetDiBits

10/10
@+
Cirec
Rejoignez-nous