Sto lavorando a un semplice gioco in OpenGL, usando SDL per l'inizializzazione e l'input del display, e appare in termini di tempistica che ho due opzioni disponibili per me. Il numero uno sta dormendo solo per ottimaleTimePerFrame - theTimeTakenToRender, quando ottimaleTimePerFrame in secondi = 1 / theFramerateCap. (Non sono del tutto sicuro se ciò sia necessario, poiché equivale all'utilizzo di vsync, che potrebbe essere più accurato. Se la mia ipotesi è corretta, per favore dimmi se SDL + OpenGL ha vsync per impostazione predefinita, e se no come per abilitarlo.) L'altro è misurare il tempo trascorso dal rendering dell'ultimo fotogramma e semplicemente regolare di conseguenza il movimento. (Il tempo più breve impiegato per il rendering di un frame, le entità meno lontane si muovono in quel frame). In termini di prestazioni, riduzione dello sfarfallio ecc., Quali sono i vantaggi e gli svantaggi di questi due metodi?