Pages: 1
- Accueil forums
- » Performances/Optimisations
- » Frame Rate qui descend de 60 à 14 !
04-08-2009 17:23:44
- Hawk
- Membres
- Date d'inscription:
- Messages: 91
- IP: 82.121.139.131
- Courriel Site web
Bonjour à tous.
J'ai un problème qui me bloque énormément depuis une semaine. Je travail sur un moteur de jeu 3D depuis quelques mois, qui tournait assez bien il y a encore une semaine, à 60FPS (valeur que j'ai fixée)
Sans que je comprenne pourquoi, du jour au lendemain, je me retrouve à un FPS de 14 !! Du coup, ça rame énormément.
Pour comprendre ce phénomène, j'ai lancé gprof sous linux sur mon binaire, pour comprendre d'où venait le problème. Et voici un extrait du résultat :
Each sample counts as 0.01 seconds.
% cumulative self self total
time seconds seconds calls Ts/call Ts/call name
25.00 0.01 0.01 irr::core::array<unsigned char, irr::core::irrAllocator<unsigned char> >::operator[](unsigned int)
25.00 0.02 0.01 irr::video::CColorConverter::convert24BitTo24Bit(unsigned char const*, unsigned char*, int, int, int, bool, bool)
25.00 0.03 0.01 irr::video::SColor::getRed() const
25.00 0.04 0.01 irr::video::SColor::getAlpha() const
Un peu plus bas, dans le call graph :
granularity: each sample hit covers 4 byte(s) for 25.00% of 0.04 seconds
index % time self children called name
<spontaneous>
[1] 25.0 0.01 0.00 irr::core::array<unsigned char, irr::core::irrAllocator<unsigned char> >::operator[](unsigned int) [1]
- ----------------------------------------------
<spontaneous>
[2] 25.0 0.01 0.00 irr::video::CColorConverter::convert24BitTo24Bit(unsigned char const*, unsigned char*, int, int, int, bool, bool) [2]
- ----------------------------------------------
<spontaneous>
[3] 25.0 0.01 0.00 irr::video::SColor::getRed() const [3]
- ----------------------------------------------
<spontaneous>
[4] 25.0 0.01 0.00 irr::video::SColor::getAlpha() const [4]
Je n'arrive pas à comprendre d'où vient ce phénomène.
Je suis sous Ubuntu 9.04, je compile avec gcc, j'utilise Irrlicht 1.5.
Est-ce que quelqu'un aurait une idée pour m'éclairer ?
D'avance merci.
EDIT : J'ai relancer mon binaire, et refait gprof dessus, je n'obtiens pas les même résultats !
Each sample counts as 0.01 seconds.
% cumulative self self total
time seconds seconds calls Ts/call Ts/call name
50.00 0.01 0.01 irr::video::CNullDriver::addAndDropMaterialRenderer(irr::video::IMaterialRenderer*)
25.00 0.01 0.01 irr::video::SMaterialLayer::SMaterialLayer()
25.00 0.02 0.01 irr::core::CMatrix4<float>::operator()(int, int) const
granularity: each sample hit covers 4 byte(s) for 50.00% of 0.02 seconds
index % time self children called name
<spontaneous>
[1] 50.0 0.01 0.00 irr::video::CNullDriver::addAndDropMaterialRenderer(irr::video::IMaterialRenderer*) [1]
- ----------------------------------------------
<spontaneous>
[2] 25.0 0.01 0.00 irr::video::SMaterialLayer::SMaterialLayer() [2]
- ----------------------------------------------
<spontaneous>
[3] 25.0 0.01 0.00 irr::core::CMatrix4<float>::operator()(int, int) const [3]
Hors ligne
04-08-2009 18:57:02
- tmyke
- Administrateurs

- Date d'inscription:
- Messages: 1025
- IP: 90.56.249.233
- Courriel
Heu, j'avoue que si je comprend globalement ton soucis, pour le reste, je suis largué.
Les connaisseurs analyseront certainement les chiffre ci-dessus, mais moi ... ![]()
Force et sagesse...
Hors ligne
04-08-2009 19:47:45
- Magun
- Administrateurs

- Date d'inscription:
- Messages: 910
- IP: 188.93.45.30
- Courriel Site web
j'avoue ça me fait cela de temps a autre avec irrlicht donc je ne peut pas te dire pourquoi, j'ai une petit idéee mais bon
....
ba la seul chose que je peut te dire ses de regarder si l'anti-aliasing, vertical syncro et le stencil buffer ne sont pas activer, il on tendance a faire chuter les fps
ps : j'ai certainement de faute d'orthographe plus grosse que le monde mais j'ai pas mon correcteur la ... ![]()
sinon si tu utilise la svn, ses peut-être sa bien que je doute qu'il est changer le code par un, contre optimiser
Hors ligne
06-08-2009 10:55:53
- dark calculator
- Membres
- Date d'inscription:
- Messages: 153
- IP: 82.252.241.50
- Courriel
Juste une idée comme ça, ta pas fais une mise a jour d'ubuntu par hasard ?
Enfin test sur un autre système au cas où, avec la version a 60 FPS aussi si tu l'a encore.
je connaissais pas gprof sa a l'air pas mal mais du coup je peux pas te dire.
Enfin test quand même l'accélération graphique sous ubuntu si elle est pu activé a cause d'une maj c'est sur que sa réduit pas mal les FPS.
Je crois que c'est glxgears pour faire tester.
Hors ligne
07-08-2009 07:26:46
- Hawk
- Membres
- Date d'inscription:
- Messages: 91
- IP: 91.103.40.50
- Courriel Site web
@Dark Calculator :
Effectivement, c'est un problème d'accélération graphique qui était désactivée.
Merci beaucoup, le problème est corrigé.
Hors ligne



