je suis pas sur d'avoir compris le principe de WM_SYNCPAINT. jai bien une
idee que jai remarqué sur opengl, comme quoi un thread ou un process est
imcapable de partager l'espace memoire video avec un autre process ou
thread. du coup la gui (qui appartient au process bigboss) envoi un
WM_SYNCPAINT par un callwindowproc() a chaque fenetre (donc avec lespace
video de windows) pour recuperer l'espace memoire (dans la memoire
principale) afin de la copier dans la memoire video reservé par windows
(process bigboss). ce qui veut dire que tout les WM_PAINT et autre permette
juste d'ecrire dans un espace memoire situé dans la ram et rien d'autre.
c'est bien cela, ou pas? merci de me corriger
en fait je pense que c'est pas le cas, parceque je bloque le message
WM_SYNCPAINT, il se passe rien de visible.
merci de m'expliquer
--
-----
http://dark.freezee.org/
http://www.dark-team.cjb.net/
"dark poulpo" wrote in message news:42775cdb$0$3122$
bjr,
je suis pas sur d'avoir compris le principe de WM_SYNCPAINT. jai bien une idee que jai remarqué sur opengl, comme quoi un thread ou un process est imcapable de partager l'espace memoire video avec un autre process ou thread. du coup la gui (qui appartient au process bigboss) envoi un WM_SYNCPAINT par un callwindowproc() a chaque fenetre (donc avec lespace video de windows) pour recuperer l'espace memoire (dans la memoire principale) afin de la copier dans la memoire video reservé par windows (process bigboss). ce qui veut dire que tout les WM_PAINT et autre
permette
juste d'ecrire dans un espace memoire situé dans la ram et rien d'autre.
Pour la partie "partage de la mémoire vidéo" , c'est pas très clair votre topo. D'abord vous savez que l'affichage passe par l'obtention d'une DC (device contexte) et que cette DC peut être obtenu à n'importe quel moment (pas forcément pendant un WM_PAINT) et peut concerner la fenêtre courante comme c'est usuellement le cas, comme le bureau tout entier (GetDC(NULL) permet de récupérer une DC sur le bureau). Bref, tout cela pour dire que dans l'affichage sous windows, y'a pas vraiment de considération de mémoire écran ou de partage de je ne sais quoi, le système s'occupe de tout. Quant à l'espace memoire video, c'est plutot le driver qui s'occupe de ca.
WM_SYNCPAINT est un message systeme dont la fonction n'est pas très clairement expliquée ... il semblerait que cela permette à Windows de synchronizer l'affichage de différentes fenêtres (de différente applications ou pas) se trouvant sous une fenêtre en mouvement ou en changement d'état (maximized, resizing etc...).
Alors pourquoi faire exactement, et dans quel but !? la question reste ouverte...
VB
"dark poulpo" <qsdqd@sss.ss> wrote in message
news:42775cdb$0$3122$8fcfb975@news.wanadoo.fr...
bjr,
je suis pas sur d'avoir compris le principe de WM_SYNCPAINT. jai bien une
idee que jai remarqué sur opengl, comme quoi un thread ou un process est
imcapable de partager l'espace memoire video avec un autre process ou
thread. du coup la gui (qui appartient au process bigboss) envoi un
WM_SYNCPAINT par un callwindowproc() a chaque fenetre (donc avec lespace
video de windows) pour recuperer l'espace memoire (dans la memoire
principale) afin de la copier dans la memoire video reservé par windows
(process bigboss). ce qui veut dire que tout les WM_PAINT et autre
permette
juste d'ecrire dans un espace memoire situé dans la ram et rien d'autre.
Pour la partie "partage de la mémoire vidéo" , c'est pas très clair votre
topo. D'abord vous savez que l'affichage passe par l'obtention d'une DC
(device contexte) et que cette DC peut être obtenu à n'importe quel moment
(pas forcément pendant un WM_PAINT) et peut concerner la fenêtre courante
comme c'est usuellement le cas, comme le bureau tout entier (GetDC(NULL)
permet de récupérer une DC sur le bureau). Bref, tout cela pour dire que
dans l'affichage sous windows, y'a pas vraiment de considération de mémoire
écran ou de partage de je ne sais quoi, le système s'occupe de tout. Quant à
l'espace memoire video, c'est plutot le driver qui s'occupe de ca.
WM_SYNCPAINT est un message systeme dont la fonction n'est pas très
clairement expliquée ... il semblerait que cela permette à Windows de
synchronizer l'affichage de différentes fenêtres (de différente applications
ou pas) se trouvant sous une fenêtre en mouvement ou en changement d'état
(maximized, resizing etc...).
Alors pourquoi faire exactement, et dans quel but !?
la question reste ouverte...
"dark poulpo" wrote in message news:42775cdb$0$3122$
bjr,
je suis pas sur d'avoir compris le principe de WM_SYNCPAINT. jai bien une idee que jai remarqué sur opengl, comme quoi un thread ou un process est imcapable de partager l'espace memoire video avec un autre process ou thread. du coup la gui (qui appartient au process bigboss) envoi un WM_SYNCPAINT par un callwindowproc() a chaque fenetre (donc avec lespace video de windows) pour recuperer l'espace memoire (dans la memoire principale) afin de la copier dans la memoire video reservé par windows (process bigboss). ce qui veut dire que tout les WM_PAINT et autre
permette
juste d'ecrire dans un espace memoire situé dans la ram et rien d'autre.
Pour la partie "partage de la mémoire vidéo" , c'est pas très clair votre topo. D'abord vous savez que l'affichage passe par l'obtention d'une DC (device contexte) et que cette DC peut être obtenu à n'importe quel moment (pas forcément pendant un WM_PAINT) et peut concerner la fenêtre courante comme c'est usuellement le cas, comme le bureau tout entier (GetDC(NULL) permet de récupérer une DC sur le bureau). Bref, tout cela pour dire que dans l'affichage sous windows, y'a pas vraiment de considération de mémoire écran ou de partage de je ne sais quoi, le système s'occupe de tout. Quant à l'espace memoire video, c'est plutot le driver qui s'occupe de ca.
WM_SYNCPAINT est un message systeme dont la fonction n'est pas très clairement expliquée ... il semblerait que cela permette à Windows de synchronizer l'affichage de différentes fenêtres (de différente applications ou pas) se trouvant sous une fenêtre en mouvement ou en changement d'état (maximized, resizing etc...).
Alors pourquoi faire exactement, et dans quel but !? la question reste ouverte...