Eu li que a velocidade dos objetos do jogo não deve ser prejudicada pelo FPS, mas sim pelo tempo. Como posso separar o código de atualização / desenho para maximizar o desempenho sem limitar a taxa de desenho e fornecer uma taxa de atualização lógica constante com base no tempo?
Meu pseudo-código atual é o seguinte
loop
{
draw();
if (ticksElapsed() > 100)
{
update();
ticks+= ticksElapsed();
}
}
O problema é que o código do desenho dificulta o desempenho da taxa de atualização (). E consome 100% da CPU, porque se o sono é acionado, ele desativa as duas funções de desenho / lógica.
Também estou usando SDL e ele não parece ter uma opção vsync. Também ouvi falar dos termos tempo fixo e variável, mas não tenho certeza de como isso pode ser feito com o sono ()