Salut,
Alors primo, le fait que windows ait changé les coefficients de la formule de luminance ne change pas grand chose, en effet, comme je l'ai décrit, les coefficients peuvent être différents pour coller à la réalité (et j'en ai donné l'exemple).
Secundo, je suis d'accord avec toi en ce qui concerne la création des fenêtres, l'API est indispensable pour éviter de longues procédures rébarbatives liées à la gestion de l'interface.
Par contre je suis absolument contre le fait d'utiliser les APIs là où le codage en assembleur prend toute son sens ! Les manipulations d'octets, les manipulations de flux image/audio/vidéo ainsi que les calculs sont les exemples types d'optimisations en assembleur !
C'est dommage de passer à coté d'une telle opportunité quand on se met à l'assembleur !
Tertio, la formule que je t'ai présenté est effectivement en flottant, par contre il n'est pas interdit de ruser quand on fait de l'assembleur, et c'est même recommandé. Ex :
La formule de luminance vidéo :
L = 0.3 * R + 0.59 * G + 0.11 * B
L = 77/65536 * R + 151/65536 * G + 28/65536 * B
L = ((77 * R + 151 * G + 28 * B) / 65536)
or X/65536 => X>>16
donc L=(77*R+151*G+28*B)>>16 !! tu vois encore des floats là ????
Je m'attendais pourtant à mieux au vu de tes questions, je voyais enfin une personne interressé par l'assembleur (fpu, optimisations des calculs ...), mais le coté obscure de l'api a encore frappé.
Je suis vraiment déçu quand je vois les raisonnements du type :
"[...] mais bon que de temp perdu, alors que l'api hop, en 30s vous avez codé. [...]"
Dune2 ... blazé ... mais où sont passés les demomakers, les jongleurs de l'asm, ceux qui font danser les instructions asm pour la beauté du spectacle .... ceux qui rigolent des apis simplistes et génériques et recodent leurs fonctions de traitement de l'image qui semblent s'exécuter en un éclair ... oui cet éclair de génie qui illuminait vos yeux en voyant leur tours de passe-passe s'afficher sans artéfact avec une fluidité inimaginable en utilisant une API standard .... cette fluidité qui les métamorphosait de simple codeur à génie du code asm ...
raoulli: Ce n'est pas aprés toi que j'en ai ;) ce que je dis est générique et adressé à tous les codeurs asm qui ont ce raisonnement !
Tu as fait l'effort de coder la luminance avec le fpu, et c'est vrai que c'est plus long,
mais regarde le code que je t'ai mis en lien pour la luminance ... je l'avais écrit à l'époque où je fesais du traitement d'image en temps-réel, car une personne qui venait de rentrer dans mon équipe ne comprenait pas pourquoi je réecrivais certaines fonctions en asm bien plus long ... alors je lui ai demandé de coder une fonction de luminance comme il en avait l'habitude (utilisation de l'api pour des chose aussi "simple" comme il disait

). Puis on a exécuté nos 2 fonctions sur une image 800x600 en 32 bits ... bilan, sa méthode qu'il considerait exemplaire mettait 12ms ce qui est plutôt bien, et celle en asm avec du SSE mettait 750us ... il a tout de suite compris l'intérêt de l'assembleur et il s'est mis à optimiser tous ses anciens codes en asm et en rusant ... bilan, il a apporté plus de 66% d'efficacité sur nos code ce qui nous a permis de faire bien plus de chose sur notre appli qu'on ne pouvait en espérer ;)
(et au passage il est devenu accro à l'asm ..... )
Voilà ... j'espère que cette anecdote te permettra de comprendre le but du codage asm ;) parfois c'est bien plus long à écrire mais quand le gain d'efficacité est au rendez-vous, quel satisfaction ;)
Gentoo... que du bonheur ...