J'ai donc codé un super petit jeu avec une sprite qui bouge. Seulement quand le jeu est lancé mon usage CPU monte à 55% (contre 10-15% avant), ce que je trouve quand même conséquent.
De plus j'ai comparé avec un jeu équivalent en C# (aussi une sprite qui bouge, un tuto que j'avais commencé) et là, le jeu fait seulement monter l'usage CPU à 20% !
Limiter le framerate via SetFrameRate() ne change pas grand chose (quelque % de gagnés tout au plus, si c'est bien du à cela, ce qui n'est pas sûr).
Alors, est-ce normal ou est-ce que je m'y suis très mal pris ? J'ai utilisé un loop infini comme on fait souvent en jeu vidéo. Voici la partie de mon code qui gère l'affichage :
Code : Tout sélectionner
Repeat
FlipBuffers()
ClearScreen(RGB(0, 0, 0))
ExamineKeyboard()
If WindowEvent() = #PB_Event_Menu And EventMenu() = 2 : Goto Menu : EndIf
If WindowEvent() = #PB_Event_CloseWindow : End : EndIf
If KeyboardPushed(#PB_Key_Up) : y - speed : EndIf
If KeyboardPushed(#PB_Key_Down) : y + speed : EndIf
If KeyboardPushed(#PB_Key_Left) : x - speed : EndIf
If KeyboardPushed(#PB_Key_Right) : x + speed : EndIf
If x > WindowWidth(0) - size : x = WindowWidth(0) - size : EndIf
If y > WindowHeight(0) - size : y = WindowHeight(0) - size : EndIf
If x < 0 : x = 0 : EndIf
If y < 0 : y = 0 : EndIf
Start3D() : ZoomSprite3D(0, size, size) : DisplaySprite3D(0, x, y) : Stop3D()
ForEver
C'est grave docteur ?