Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 2021
-
3 mai 2007 à 14:52
ciberrique
Messages postés589Date d'inscriptionlundi 25 août 2003StatutMembreDernière intervention18 juillet 2010
-
4 mai 2007 à 16:14
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
4 mai 2007 à 16:14
4 mai 2007 à 16:12
coté maths, ca multiplie (shift a gauche) ou divise (shift a droite) par deux...
00001000 <<
donne
00010000
etc.
si tu fais des opéations de multiplication(ou division) par des multiples de deux, dans des langages qui permettent les shifts, tu y gagne en perfs.
4 mai 2007 à 16:06
4 mai 2007 à 12:21
3 mai 2007 à 21:20
3 mai 2007 à 20:33
mais j'ai cru lire dans un bench que les multiplications etaient plus rapides que les divisions
peut etre n'est plus d'actualité, remarques...
3 mai 2007 à 17:46
(Le code variable/2 est préférable, est-ce à cause du fait qu'en assembleur on fait notamment appel à lsl.[taille], ou lsr.[taille] ?)
3 mai 2007 à 16:05
3 mai 2007 à 16:03
Jamais vu cet editeur :s
3 mai 2007 à 15:58
le /1.5 en *0.666666666666667
pas indispensable (non critique) car pas dans la boucle de traitement.
3 mai 2007 à 15:56
3 mai 2007 à 15:33
Pour le GDI je ne connaissais pas du tout cette fonction ^^ .
3 mai 2007 à 14:52
http://msdn2.microsoft.com/en-us/library/ms532296.aspx
permet de copier un rectangle source vers un parallélogramme cible
pour questions de perf (peu important ici, mais conseils bons a prendre) :
/ 2
à remplacer par * 0.5
utilises des variables (ou des constantes) pour ne pas recalculer
Cos(AngleRad) et Sin(AngleRad)
de même, tu peux stocker dans une variable
(y * Sin(AngleRad)) et (y * Cos(AngleRad)) pour ne pas les recalculer a chaque iteration de la boucle en x
voilà ^^
++ l'ami