Salve a tutti,
sto seguendo questo tutorial () per imparare ad usare le SDL.
sono arrivato al punto di caricare due immagini. Il codice è esattamente quello del tutorial escluso il nome delle variabili ma quello non conta.
Ho notato che facendo partire il mio programma questo si porta via il 120% della mia CPU stabilmente. Ho attribuito la colpa di questo al ciclo principale che si ripete fino a quando non chiudo il programma:
while(running) {
while(SDL_PollEvent(&Event)) {
OnEvent(&Event);
}
OnLoop();
OnRender();
}
}
volevo sapere quali modi esistono per evitare questa cosa per esempio un metodo per rallentare il ciclo principale o qualcosa del genere.
Sono certo che esistono dei modi per alleggerire il tutto dato che esistono giochi infinitamente più complessi che consumano il 4% della mia CPU, ma non riesco a pensare a quali questi siano.
EDIT: mi sono dimenticato di dire che ho anche provato a mettere il classico usleep(10000) all'interno del ciclo:
while(running) {
usleep(100000);
while(SDL_PollEvent(&Event)) {
OnEvent(&Event);
}
OnLoop();
OnRender();
}
}
ovviamente però questo rallenta i tempi di reazione del gioco.