Code : Tout sélectionner
Structure RGB
r.a
g.a
b.a
EndStructure
Structure Couleur
StructureUnion
color.l
RGB.RGB
EndStructureUnion
EndStructure
MaCouleur.Couleur\color = RGB(6, 94, 106)
Debug MaCouleur\RGB\r
Debug MaCouleur\RGB\g
Debug MaCouleur\RGB\b

et chez vous ??
j'utilise le code suivant pour tester la vitesse :
Code : Tout sélectionner
Debug Hex(RGB(255, 0, 0))
Debug Hex(RGB(0, 255, 0))
Debug Hex(RGB(0, 0, 255))
var = 0
time = 0
For b = 0 To 50
t = ElapsedMilliseconds()
For a = 0 To 1000000
var = Red(#Magenta)
Next
time = time + ElapsedMilliseconds() - t
; Debug b
Next
Debug "t = " + Str(time / 51) + "ms"
time = 0
For b = 0 To 50
t = ElapsedMilliseconds()
For a = 0 To 1000000
var = Green(#Magenta)
Next
time = time + ElapsedMilliseconds() - t
; Debug b
Next
Debug "t = " + Str(time / 51) + "ms"
time = 0
For b = 0 To 50
t = ElapsedMilliseconds()
For a = 0 To 1000000
var = Blue(#Magenta)
Next
time = time + ElapsedMilliseconds() - t
; Debug b
Next
Debug "t = " + Str(time / 51) + "ms"
Debug "#############"
time = 0
For b = 0 To 50
t = ElapsedMilliseconds()
For a = 0 To 1000000
var = #Magenta & $0000FF
Next
time = time + ElapsedMilliseconds() - t
; Debug b
Next
Debug "t = " + Str(time / 51) + "ms"
time = 0
For b = 0 To 50
t = ElapsedMilliseconds()
For a = 0 To 1000000
var = (#Magenta & $00FF00) >> 8
Next
time = time + ElapsedMilliseconds() - t
; Debug b
Next
Debug "t = " + Str(time / 51) + "ms"
time = 0
For b = 0 To 50
t = ElapsedMilliseconds()
For a = 0 To 1000000
var = (#Magenta & $FF0000) >> 16
Next
time = time + ElapsedMilliseconds() - t
; Debug b
Next
Debug "t = " + Str(time / 51) + "ms"
Debug "#############"
Structure RGB
r.a
g.a
b.a
EndStructure
Structure Couleur
StructureUnion
color.l
RGB.RGB
EndStructureUnion
EndStructure
var2.Couleur\color = #Magenta
time = 0
For b = 0 To 50
t = ElapsedMilliseconds()
For a = 0 To 1000000
var = var2\RGB\r
Next
time = time + ElapsedMilliseconds() - t
; Debug b
Next
Debug "t = " + Str(time / 51) + "ms"
time = 0
For b = 0 To 50
t = ElapsedMilliseconds()
For a = 0 To 1000000
var = var2\RGB\g
Next
time = time + ElapsedMilliseconds() - t
; Debug b
Next
Debug "t = " + Str(time / 51) + "ms"
time = 0
For b = 0 To 50
t = ElapsedMilliseconds()
For a = 0 To 1000000
var = var2\RGB\b
Next
time = time + ElapsedMilliseconds() - t
; Debug b
Next
Debug "t = " + Str(time / 51) + "ms"
Debugger a écrit :FF
FF00
FF0000
t = 134ms
t = 126ms
t = 126ms
#############
t = 129ms
t = 129ms
t = 130ms
#############
t = 125ms
t = 125ms
t = 124ms