37Fermer39
PpHdLe 13/02/2008 à 19:57
Kevin Kofler (./31) :
Ce qu'on fait dans gray.s (et que Julien Muchembled a fait dans son Universal OS), c'est qu'on teste si 0x70001D a flippé et si ce n'est pas le cas, on quitte avec un rte et attend tout simplement la prochaine AI1. (C'est ça la méthode "top secret" de Julien Muchembled qui a déclenché la fameuse flamewar à l'époque.)

Pour en avoir implanté, C'est "légèrement" plus compliqué.
Ximoon (./36) :
L'idée, c'est qu'on attribue à la même IT qui gère les NVG de faire le switch dès qu'elle le peut : ainsi, pas besoin d'attendre la synchro. Le problème, c'est que du coup, il faut non plus utiliser deux buffers (un affiché, un en cours de dessin) mais trois (un affiché, un prêt, et un en cours de dessin) car on ne peut pas garantir que le switch ne va pas se produire pendant le dessin du second buffer... Toussa toussa biggrin.gif

La méthode proposée avec genlib permet de ne pas faire de triple buffering, sans problèmes de synchro.