Bonjour!
Dans mon programme, j'utilise un thread qui gère une fonction qui s'occupe d'exécuter une instruction toutes les x millisecondes, et ce jusqu'à ce que l'utilisateur stop le thread. Seulement, j'observe graphiquement de brusques latences, qui apparaissent puis disparaissent de manière totalement aléatoire... J'ai tout d'abord pensé à réduire la fréquence taux d'appel de l'instruction en fonction, mais même toute les 10 secondes, il y a le même taux de latence qu'avec 10 millisecondes. Voilà mon code:
void Map::anime()
{
m_clock.restart();
do
{
if(m_clock.getElapsedTime() > sf::milliseconds(m_animationSpeed))
{
m_clock.restart();
if(m_animationX<m_maxAnimationX-1) m_animationX += 1;
else m_animationX = 0;
for(int z=0; z<m_height; z++)
for(int y=0; y<m_width; y++)
for(int x=0; x<m_width; x++)
{
if(m_animationList[getIndexAtCase(x, y, z)]>1 && m_animationX<m_maxAnimationX) setCase(x, y, z, getIndexAtCase(x, y, z));
}
}
} while(!m_stop);
}
Ce code s'occupe en fait d'animer des tuiles de la carte en changeant les texcords en question de mes sf::VertexArray.
Merci d'avance!