• 06 Juin 2026, 03:25:23


Auteur Sujet: Timer Économique ?  (Lu 1547 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Eloctro

  • Pawno Fan
  • *
  • Grand Banditisme
  • Aight !
  • Messages: 846
    • Voir le profil
    • GtaSA-RP
Timer Économique ?
« le: 12 Avril 2010, 23:11:13 »
Bonsoir ,
Je me posais une Question sur un Moyen d'économiser les Timers .
Esqu'il est mieux de lancer un Timer dans le OnGameModeInit .
Et Compter le temp avec les Variables .
Ou lancer plusieurs Timer en même temp ?

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : Timer Économique ?
« Réponse #1 le: 12 Avril 2010, 23:20:35 »
Bonsoir ,
Je me posais une Question sur un Moyen d'économiser les Timers .
Esqu'il est mieux de lancer un Timer dans le OnGameModeInit .
Et Compter le temp avec les Variables .
Ou lancer plusieurs Timer en même temp ?

C'est comme tu veux, mais pour la premiere méthode ce sera peut être moins précis et plus dur à organiser !

Mais la seconde méthode utilise peut être plus de CPU, mais elle est plus facile à géré ^^



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Timer Économique ?
« Réponse #2 le: 13 Avril 2010, 15:14:46 »
Le mécanisme de gestion des timers ne consomment pas beaucoup de CPU.
Donc il vaut mieux créer plusieurs timers.
Par contre, il y a une limite au nombre de timers que l'on peut créer je crois. Si on en fait trop, le serveur ne fonctionne plus correctement.
Mais je ne connais pas cette limite (qui a peut-être changée avec la 0.3).

++
Syg
Courtesy of GtaManiac

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : Timer Économique ?
« Réponse #3 le: 13 Avril 2010, 19:43:48 »
Il n'y a jamais eu de limite pour les timer, vu que c'est indépendant du pawn, je ne pense pas qu'il se saoulerons pour mettre une limite donc changez la lib pawn ^^




Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Timer Économique ?
« Réponse #4 le: 14 Avril 2010, 09:48:31 »
Ce n'est jamais PAWN qui limite quoi que ce soit, c'est la plupart du temps SAMP (nombre de véhicules, nombre de textdraw, ...).
Dans les autres cas, la limite n'est pas forcément voulue par SAMP, elle vient de la machine par exemple.
Pour les timers, je me rappelle qu'à partir d'un certain nombre, on constatait des problèmes (timers qui ne s'arrêtent pas quand on fait KillTimer). Mais ces problèmes ont peut-être disparus.
Pour info, sur Lalu's Stunt il y a 10 timers permanent (variants de 100 ms à 5 minutes) plus plein de timers "one-shot" et aucun problème constaté clairement.

++
Syg
Courtesy of GtaManiac

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : Timer Économique ?
« Réponse #5 le: 14 Avril 2010, 15:06:01 »
Oui,c'est ce que je disais ^^ il n'y a pas de limite imposé par la team SAMP, c'est géré par le PAWN qui lui aussi n'impose pas de limite ^^



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne Eloctro

  • Pawno Fan
  • *
  • Grand Banditisme
  • Aight !
  • Messages: 846
    • Voir le profil
    • GtaSA-RP
Re : Timer Économique ?
« Réponse #6 le: 14 Avril 2010, 20:52:16 »
Ok beaucoup dise qu'il faut utilise qu'un timer .
Il appelle ça l'optimisation .
Mais bon je te fait confiance .
J'ai comeme réduit beaucoup de timer sur un seul .
Avec une boucle pour les joueurs .

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : Timer Économique ?
« Réponse #7 le: 14 Avril 2010, 21:06:19 »
Moi je te conseil d'utilisé le nombre de timer qu'il te faut, mais si tu peut par exemple en inclure 2 en un seul c'est aussi bien ^^

genre toute les 20 seconde tu doit appelé une fonction et c'est la pour une autre fonction ( peut importe le moment ou il doit être appeler )

tu fait
SetTimer("Appeler_les_fonctions",20000,1);

public Appeler_les_fonctions()
{
fonction1();
fonction2();
}



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : Re : Re : Timer Économique ?
« Réponse #8 le: 14 Avril 2010, 21:16:49 »
Moi je te conseil d'utilisé le nombre de timer qu'il te faut, mais si tu peut par exemple en inclure 2 en un seul c'est aussi bien ^^

genre toute les 20 seconde tu doit appelé une fonction et c'est la pour une autre fonction ( peut importe le moment ou il doit être appeler )

tu fait
SetTimer("Appeler_les_fonctions",20000,1);

public Appeler_les_fonctions()
{
fonction1();
fonction2();
}

J'appelle pas ça de l'optimisation, mais plutôt de la logique dans ce cas. ^^

J'ai pas dit que c'était de l'optimisation lol, mais plutôt que ça permet de se facilité la tache à la programmation =)



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne Eloctro

  • Pawno Fan
  • *
  • Grand Banditisme
  • Aight !
  • Messages: 846
    • Voir le profil
    • GtaSA-RP
Re : Timer Économique ?
« Réponse #9 le: 14 Avril 2010, 21:28:46 »
Sa fait longtemp que j'ai compris le Pawno xd .
J'ai meme une tactic plus efficace que la tienne .
Exemple :
En haut :
new TempMenote[MAX_PLAYERS];
Dans un Timer qui s'éxécute toutes les secondes tu met :
public Timer()
{


for(new i = 0; i < MAX_PLAYERS; i++)
{
   if(IsPlayerConnected(i))
   {

if (TempMenote[i] >= 0)//Timer Menottes
{
if(TempMenote[i]==1)
{
TempMenote[i]=-1;
//On demenotte
}
else
{
TempMenote[i]--;
}
}
   }
}
        return 1;
}

Et pour lancer le Timer :
TempMenote[playerid]=7;
Et ne pas oublier de mettre la variable a Zero à la deconnexion/connexion du Joueur
Mais sinon je me posais la question qu'esse qu'il faut optimiser pour réduire les crashs ?