Bonjour,
Je programme en assembleur (NASM) pour une machine windows x64.
Je crée une fenêtre par la winapi de 1250x800 (1 Mpx). Je remplis cette fenêtre de points de différentes couleurs. La couleur de chaque point est calculée à partir de sa position et d'un gros paquet de données déjà calculées et stockées dans une plage mémoire réservée dans la section .bss.
A ce jour, je dessine les points avec la fonction SetPixel de la winapi. Le problème est que c'est lent, très lent : pour redessiner l'ensemble de la fenêtre, ça prend un peu plus de 2 secondes, alors que pour mon application, il faudrait que ça prenne environ 100 ms.
La lenteur vient presque exclusivement de la fonction SetPixel : sans l'appel à cette fonction, le 1 M de boucles dure environ 10 ms.
Ma question est donc : comment puis-je dessiner un point plus rapidement qu'avec SetPixel ? (via la winapi, mais peut-être autrement ?)
Merci d'avance de votre réponses, même si ce ne sont que des directions de recherches.