Petit jeu de cible, probleme d'affichage.

cs_faucheuse Messages postés 308 Date d'inscription jeudi 10 janvier 2008 Statut Membre Dernière intervention 27 octobre 2011 - 26 avril 2008 à 09:09
cs_faucheuse Messages postés 308 Date d'inscription jeudi 10 janvier 2008 Statut Membre Dernière intervention 27 octobre 2011 - 2 mai 2008 à 12:52
Bonjour ami(e)s programmeurs et programmeuzes,

J'ai essyer dernierement de programmer un petit jeux de cible tout simple (que je compte améliorer avec le temps), et rien dans la version "tres" simple j'ai un petit probleme ; pour commencer je vous met mon code :

//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
Form1->Height=750 ;
Form1->Width=1260 ;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
randomize();
Horizontale = rand()%1200 ;
Verticale = rand()%700 ;

Cible->Top = Verticale ;
Cible->Left = Horizontale ;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::CibleClick(TObject *Sender)
{
temps = Timer1->Interval ;

pnt += 10 ;
Points->Caption = pnt ;

if (temps != 50)
{
temps -= 50 ;
Timer1->Interval = temps ;
}

randomize();
Horizontale = rand()%1200 ;
Verticale = rand()%700 ;

Cible->Top = Verticale ;
Cible->Left = Horizontale ;
}

Cible est une image, et Points un Label.

Mon probleme c'est qu'apres un certain nombre de cliques sur la cible, et que l'interval du timer est devenu vraiment petit, l'image ne met pas 50ms à changer de place, et de temps en temps(à intervalle aléatoire) elle s'arrete une seconde environ.

Je pense que c'est par ce que l'ordinateur n'a pas le temps d'executer le programme dans le temps de l'intervalle, vous pensez que c'est ca?
Et comment puis je régler ce probleme?

Merci d'avance pour vos réponses.

6 réponses

cs_faucheuse Messages postés 308 Date d'inscription jeudi 10 janvier 2008 Statut Membre Dernière intervention 27 octobre 2011
28 avril 2008 à 10:57
Bin...personne veut me répondre? vous me boudés? T_T
0
Pistol_Pete Messages postés 1054 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 9 juillet 2013 7
29 avril 2008 à 12:57
Salut


Effectivement c'est une possibilite.
Essaye de mettre ta limite a 100ms et non a 50 ms et vois si tu obtient le meme resultat.

Si tu veux de plus grande perf, il va falloir se debaraser de toutes les surcouches inutiles:
Regarde du cote de la fonction BitBlt c'est ce qu'il y a de plus rapide pour afficher une image.

A+

Mon site internet : http://pistol.petesampras.free.fr
0
cs_faucheuse Messages postés 308 Date d'inscription jeudi 10 janvier 2008 Statut Membre Dernière intervention 27 octobre 2011
1 mai 2008 à 15:39
Bonjour, desolé du retard, qu'est ce que tu appelle "surcouche inutile"?
0
cs_faucheuse Messages postés 308 Date d'inscription jeudi 10 janvier 2008 Statut Membre Dernière intervention 27 octobre 2011
1 mai 2008 à 15:43
Et je ne trouve pas de fonction BitBlt ^^'
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Pistol_Pete Messages postés 1054 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 9 juillet 2013 7
2 mai 2008 à 12:37
Les surcouche inutiles c'est de passer par les MFC, qui encapsule tous le WIN32. Si tu veux avoir des performances, il vaux mieux eviter et coder directement en WIN32
Sinon pour la fonction BitBlt c'est par ici: 
http://msdn.microsoft.com/en-us/library/ms532278(VS.85).aspx

C'est marant, c'est le premier lien qui apparait dans google quand tu tappes BitBlt...

A+
Mon site internet : http://pistol.petesampras.free.fr
0
cs_faucheuse Messages postés 308 Date d'inscription jeudi 10 janvier 2008 Statut Membre Dernière intervention 27 octobre 2011
2 mai 2008 à 12:52
Désolé j'avais pas cherché, je postais surtout pour le "surcouches" (la j'aurais pas toruvé sur google XD)
0