Bonjour,
Ca fait un petit bout de temps maintenant que je programme avec SFML (dont je suis comblé
) et il y a peu de temps j'ai décidé de passer à la version 2.0. Jusque là, tout va bien, je ne remarque aucun problème vraiment ennuyeux, jusqu'à l'execution d'un code minimal pour tester SFML 2. Là, j'ai quelques problèmes qui se présentent:
- Le premier est lié au CPU: un programme très basique de test (une fenêtre vide) a une consommation CPU plus forte en SFML 2 qu'un en SFML 1.6 contenant deux fenêtres et plusieurs composants plus lourds
- Quand je regarde la consommation mémoire du programme, elle ne cesse d'augmenter
- J'ai remarqué que lorsque ma fenêtre sfml récupère le focus (au lancement ou quand je lui clique dessus), ma barre des tâches se bloque pendant quelques secondes (et si je clique pendant le blocage, le clic s'effectue en retard)
- J'ai aussi un problème marrant, mais intriguant: j'ai testé la synchro. verticale tantôt, en mode débug le CPU était tout beau à 2, mais en release il montait à 14 quand je bougeais la souris. J'ai donc mis ma carte graphique à jour (puisque c'est souvent une cause de problèmes, à ce que j'ai pu comprendre) et là la situation s'est inversée: en mode debug, le CPU explose à 25 non-stop (le max quoi (chez moi)), tandis qu'en release j'ai plus qu'un petit 2
J'ai fait des recherches pour trouver d'où pourraient venir ces bugs, mais je n'ai rien trouvé (excepté un topic qui parlait du blocage de la barre des tâches, mais je l'ai trouvé avant de passer à la version 2 et si je me souviens bien, aucune solution n'avait été trouvée). Aussi, je précise que je n'ai jamais eu de problème de ce genre avec la version 1.6
Et voilà mon code source de test (celui utilisé pour la 2.0):
#include <SFML/Graphics.hpp>
using namespace sf;
int main()
{
RenderWindow window(VideoMode(800, 600, 32), "SFML Graphics");
Event event;
window.setVerticalSyncEnabled(true);
while (window.isOpen())
{
while (window.pollEvent(event))
{
if (event.type == Event::Closed)
{
window.close();
}
}
window.clear(Color(128,128,128,255));
window.display();
}
return 0;
}
En ce qui concerne mon environnement de travail, je suis sous Windows 7, carte graphique NVidia GeForce 330 GT et j'utilise Code::Blocks avec le compilateur mingw (que j'ai mis à jour récemment) (il se trouvait sur le blog de Lynix, que j'ai trouvé dans le tuto de la 1.6 sur SFML et Code::Blocks (ou alors je l'ai pris direct sur le tuto?... j'sais plus), d'ailleurs j'en profite pour signaler que le lien ne marche plus)
Voilà, merci d'avance!
[Édit]: changement d'icone du sujet[Édit 2]: ajout des fichiers .txt dont je parle en page 2
[attachment deleted by admin]