Ben, moi je m'en sert partout, même pour les menus.
En fait la boucle que tu as présentée te pause pendant 1/10 de seconde. Mai l'intérêt n'est pas là.
Imagine que tu puisse avoir un nombre variable d'objet à dessiner sur ton écran, comme des fourmis (voir Animings

). La GP n'aura pas le même travail à faire s'il y a 1 objet que s'il y en a 50.
Pour être sûr que ta boucle principale durera toujours le même nombre de millisecondes, il te faudra utiliser GpTickCountGet().
Ex:
while (TRUE)
{
nTick = GpTickCountGet();
//
// code pour calculer et dessiner tout se qu'il faut
//
while ((GpTickCountGet() - nTick) < 100);
}
Là t'est sûr, que ta boucle tardera toujours et invariablement 100 millisecondes à se compléter.
Mais, attention, il faut que tu soir sûr que tout ce que tu veux faire puisse être fait en 100 millisecondes, sinon va falloir augmenter le délai.
Autre chose à prendre en compte, c’est pas exactement des millisecondes, mais presque, et surtout que c’est pas la même valeur pour toutes les fréquences d’horloge, mais pour la fréquence par défaut, c’est presque ça.