2010-11-05 6 views
4

Est-ce encore possible? Comme ive a remarqué que v-sync ne marche pas du tout sur mon ordinateur portable, je construis un "limiteur" FPS "manuellement" et maintenant je voudrais utiliser la limite FPS que l'utilisateur a définie sur son écran.Comment obtenir le taux de rafraîchissement de l'écran?

Éditer: Je veux dire le taux hz du moniteur.

Edit3: Heres le code que je suis travailler (je pense ... quelque chose de mal là-bas?):

DEVMODE lpDevMode; 
memset(&lpDevMode, 0, sizeof(DEVMODE)); 
lpDevMode.dmSize = sizeof(DEVMODE); 
lpDevMode.dmDriverExtra = 0; 

if(EnumDisplaySettings(NULL, ENUM_CURRENT_SETTINGS, &lpDevMode) == 0){ 
    framerate_limit = 60; // default value if cannot retrieve from user settings. 
} 

Sur demande, voici mon code permettant v-sync jay.lee demandé:

PFNWGLSWAPINTERVALEXTPROC wglSwapIntervalEXT = NULL; // global 

... 

wglSwapIntervalEXT = (PFNWGLSWAPINTERVALEXTPROC) wglGetProcAddress("wglSwapIntervalEXT"); 

v_sync_enabled = 0; 
if(wglSwapIntervalEXT != NULL){ 
    if(wglSwapIntervalEXT(1) != FALSE){ 
     v_sync_enabled = 1; 
    } 
} 
+0

Voulez-vous dire la fréquence Hz du moniteur, et non votre boucle de dessin? –

+0

moniteur je veux dire. – Newbie

+0

juste curieux, comment essayez-vous d'activer vsync? –

Répondre

Questions connexes