Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 2 sur 2
Aller à la page: <  1, 2
Connaitre le nombre de fps en batch
Auteur Message
Répondre en citant
Message Connaitre le nombre de fps en batch 
Revue du message précédent :

sachadee a écrit:
Bon voilà ma solution finale.

En Mode debug on lanceras des timers vbs et on calculera
le nombre de FPS corrigé par un facteur de correction determiné 1 x en debut de code.
Ceçi pour corriger l'impact (environ 10 % sur ma machine) de l'execution de ces VBS.

Donc en mode debug ton code s'executera un petit peu moins vite mais le nb de FPS afficher
sera celui d'une utilisation réel (sans le -debug). Grâce au facteur de correction.


Code:

::// By SachaDee (c) 2015
@echo off

:://CREATION DE LA COMMANDE EXTERNE
:://CETTE COMMANDE VA EVALUER N'IMPORTE QUEL CODE VBS PASSER EN ARGUMENT

if not exist "timer.vbs" echo Wscript.echo eval(WScript.Arguments(0))>timer.vbs

:://On active le mode debug
set "$debug=1"

:://Determination du facteur de correction (temps de traitement VBS)

if %$debug%==1 for /f "delims=" %%a in ('cscript  //nologo timer.vbs "(timer())"') do set "$debut=%%a"
if %$debug%==1 cscript //nologo timer.vbs "(wscript.sleep(1000))"
if %$debug%==1 for /f "delims=" %%a in ('cscript //nologo timer.vbs "(1/(FormatNumber(timer -%$debut:,=.%,2)))"') do set "$FPS=%%a"
if %$debug%==1 for /f "delims=" %%a in ('cscript //nologo timer.vbs "(1 / %$FPS:,=.%)"') do set "$Cor=%%a"
echo Facteur De Correction : %$Cor%

:://


:menu2

:://On initialise le timer en debut de boucle
if %$debug%==1 for /f "delims=" %%a in ('cscript  //nologo timer.vbs "(timer())"') do set "$debut=%%a"

:://On lançe la boucle
:://ICI TON CODE IK-DC ici je fais juste une attente de 1 seconde pour simuler ton code
:://supprime la ligne suivante et met ta boucle sans le goto:menu2 qui est plus bas

if %$debug%==1 cscript //nologo timer.vbs "(wscript.sleep(1000))"


:://


:://On calcul le nb de FPS corigé par le facteur de correction

if %$debug%==1 for /f "delims=" %%a in ('cscript //nologo timer.vbs "((%$cor:,=.%*1)/(FormatNumber(timer -%$debut:,=.%,2)))"') do set "$FPS=%%a"
echo Nb d FPS : %$FPS%

::// On retourne au début de la boucle

goto:menu2




Voilà j'espère que c'est clair, ças paraît compliqué mais le principe est assez simple.

Okay


Mcici beaucoup :3

Fonctionne tel quel mais pas dans mon jeu : & était inattendu ...

Et au fait pourquoi fait-tu des set avec $ devant à chaque fois ?

Visiter le site web du posteur Skype
Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message Connaitre le nombre de fps en batch 
Citation:
Et au fait pourquoi fait-tu des set avec $ devant à chaque fois ?

Moi aussi je le fait sans faire exprès, là tu reconnais ceux qui codent en autoit et en PHP Laughing




______________________________________________________
Visiter le site web du posteur
Répondre en citant
Message Connaitre le nombre de fps en batch 
Pour arrondir a 2 decimal :

modifie cette ligne de cette manière :

Code:


:://On calcul le nb de FPS corigé par le facteur de correction

if %$debug%==1 for /f "delims=" %%a in ('cscript //nologo timer.vbs "round(((%$cor:,=.%*1)/(FormatNumber(timer -%$debut:,=.%,2))),2)"') do set "$FPS=%%a"



Okay




______________________________________________________
AffPng.exe , StringBetween.exe , Hex2Png.exe
Répondre en citant
Message Connaitre le nombre de fps en batch 
sachadee a écrit:
Pour arrondir a 2 decimal :

modifie cette ligne de cette manière :

Code:


:://On calcul le nb de FPS corigé par le facteur de correction

if %$debug%==1 for /f "delims=" %%a in ('cscript //nologo timer.vbs "round(((%$cor:,=.%*1)/(FormatNumber(timer -%$debut:,=.%,2))),2)"') do set "$FPS=%%a"



Okay



Merci beaucoup ! Problème résolut Wink

@ ++




______________________________________________________
Coucou, tu veux voir mon Site Web ?? Mort de Rire
Visiter le site web du posteur Skype
Répondre en citant
Message Connaitre le nombre de fps en batch 
Personnellement j'ai fait ça en full batch en trafiquant le %time% Mr. Green :
Code:
@echo off
:b
set actual=%time:~6,2%
if "%time:~6,2%"=="%actual%" set /a fps+=1&goto:b
if NOT "%time:~6,2%"=="%actual%" goto:say
goto:b
:say
cls
echo.%fps% fps
set fps=0
goto:b





______________________________________________________
C'est en forgeant que l'on devient un forgeron Razz
Visiter le site web du posteur
Répondre en citant
Message Connaitre le nombre de fps en batch 
Stachy a écrit:
Personnellement j'ai fait ça en full batch en trafiquant le %time% Mr. Green :
Code:
@echo off
:b
set actual=%time:~6,2%
if "%time:~6,2%"=="%actual%" set /a fps+=1&goto:b
if NOT "%time:~6,2%"=="%actual%" goto:say
goto:b
:say
cls
echo.%fps% fps
set fps=0
goto:b


Mort de Rire

Je crois que je vais m'y mettre au full batch....

Blague à part je suis persuadé que ton code calcul énormément de chose, mais hélas, pas le nombre de FPS....



Mr. Green




______________________________________________________
AffPng.exe , StringBetween.exe , Hex2Png.exe
Répondre en citant
Message Connaitre le nombre de fps en batch 
sachadee a écrit:

Mort de Rire

Je crois que je vais m'y mettre au full batch....

Blague à part je suis persuadé que ton code calcul énormément de chose, mais hélas, pas le nombre de FPS....



Mr. Green


Hé je t'interdis de contredire le Ô grand dieu du batch Bannir ! Mort de Rire
Non c'est plus les commandes par seconde en fait mais je savais pas quoi faire vu mon niveau très grand




______________________________________________________
C'est en forgeant que l'on devient un forgeron Razz
Visiter le site web du posteur
Répondre en citant
Message Connaitre le nombre de fps en batch 
Bonjour à tous !
Je viens faire un petit Up parce que j'ai remarqué que le code de sacha fait vraiment beaucoup baisser les performances (de l'ordre de 40 % sur certaines machines, je tournes parfois à 2 Fps ...)
Du coup si quelqu'un à un code Full batch bien optimisé sa m'intérrése ... @ ++ Mort de Rire




______________________________________________________
Coucou, tu veux voir mon Site Web ?? Mort de Rire
Visiter le site web du posteur Skype
Répondre en citant
Message Connaitre le nombre de fps en batch 
Je croyais que c'était en mode debug que tu allais utiliser mon magnifique code !

Okay




______________________________________________________
AffPng.exe , StringBetween.exe , Hex2Png.exe
Répondre en citant
Message Connaitre le nombre de fps en batch 
sachadee a écrit:
Je croyais que c'était en mode debug que tu allais utiliser mon magnifique code !

Okay


Oui, mais ça fait quand même pas mal baisser les fps ... Mort de Rire




______________________________________________________
Coucou, tu veux voir mon Site Web ?? Mort de Rire
Visiter le site web du posteur Skype
Répondre en citant
Message Connaitre le nombre de fps en batch 
Personne ne peux me répondre ??? Rolling Eyes




______________________________________________________
Coucou, tu veux voir mon Site Web ?? Mort de Rire
Visiter le site web du posteur Skype
Répondre en citant
Message Connaitre le nombre de fps en batch 
Comme personne arrive à donner quelque chose de convenable, je vais proposer mon code :
Code:
:: A appeler aprés le dessin d'une frame
:fps
if "%time:~6,2%"=="%actual%" (
  set /a frame_count+=1
) else (
  call:draw_fps %frame_count%
  set actual=%time:~6,2%
  set frame_count=0
)
goto:EOF
   
:: Affiche le nombre de FPS
:draw_fps
title Test - FPS : %1
goto:EOF


On doit faire call:fps après (ou avant) avoir dessiner une image et voila !

Si tu veut optimiser (fps x2+), il faut que tu remplace le call:fps par ce qu'il y a dans la fonction fps, par exemple :
Code:
@Echo off
:test
set /p =x<NUL
if "%time:~6,2%"=="%actual%" (
  set /a frame_count+=1
) else (
  call:draw_fps %frame_count%
  set actual=%time:~6,2%
  set frame_count=0
)
goto test
   
:draw_fps
title X eater - XPS : %1
goto:EOF





______________________________________________________
Partager permet le savoir. Le savoir permet de partager de nouveau savoirs.
Répondre en citant
Message Connaitre le nombre de fps en batch 
Citation:
Comme personne arrive à donner quelque chose de convenable, je vais proposer mon code :


Tu plaisantes ta pas bien du voir mon code Very Happy

Mort de Rire

Mon code fais exactement se qu'on lui demande avec facteur de correction qui tiens compte de sa propre exécution.
Maintenant ça peu effectivement ralentir le système mais avec le facteur de correction ça n'a pas d'influence sur
le résultat. et ça compte bel et bien le nombre de FPS.

Juste pour vous le rappeler IK voulais faire ça en mode debug.

Pour ce qui est de ton code. Il ne compte absolument rien.

L'unique test de temps est fait avec :

Code:

if "%time:~6,2%"=="%actual%"


si l'image mets 2 secondes pour s'afficher il va retourner 1 FPS au lieu de 0.5 FPS

Pas très précis !

Comment veux-tu calculer le nombre de FPS sans setter au moins 2 timers (départ et fin), Impossible TS !

T'as repris le code Full Batch de stachy en fait :

Code:
@echo off
:b
set actual=%time:~6,2%
if "%time:~6,2%"=="%actual%" set /a fps+=1&goto:b
if NOT "%time:~6,2%"=="%actual%" goto:say
goto:b
:say
cls
echo.%fps% fps
set fps=0
goto:b


Si vous voules faire qqe chose de fonctionnele il suffit de faire le même code que j'ai fait mais 100 % en bat.
C'est faisable facilement.


Okay




______________________________________________________
AffPng.exe , StringBetween.exe , Hex2Png.exe
Répondre en citant
Message Connaitre le nombre de fps en batch 
sachadee a écrit:
Citation:
Comme personne arrive à donner quelque chose de convenable, je vais proposer mon code :


Tu plaisantes ta pas bien du voir mon code Very Happy

Mort de Rire

Mon code fais exactement se qu'on lui demande avec facteur de correction qui tiens compte de sa propre exécution.
Maintenant ça peu effectivement ralentir le système mais avec le facteur de correction ça n'a pas d'influence sur
le résultat. et ça compte bel et bien le nombre de FPS.

Juste pour vous le rappeler IK voulais faire ça en mode debug.

Pour ce qui est de ton code. Il ne compte absolument rien.

L'unique test de temps est fait avec :

Code:

if "%time:~6,2%"=="%actual%"


si l'image mets 2 secondes pour s'afficher il va retourner 1 FPS au lieu de 0.5 FPS

Pas très précis !

Comment veux-tu calculer le nombre de FPS sans setter au moins 2 timers (départ et fin), Impossible TS !

T'as repris le code Full Batch de stachy en fait :

Code:
@echo off
:b
set actual=%time:~6,2%
if "%time:~6,2%"=="%actual%" set /a fps+=1&goto:b
if NOT "%time:~6,2%"=="%actual%" goto:say
goto:b
:say
cls
echo.%fps% fps
set fps=0
goto:b


Si vous voules faire qqe chose de fonctionnele il suffit de faire le même code que j'ai fait mais 100 % en bat.
C'est faisable facilement.


Okay


Du coup quelqu'un saurait le faire 100% en batch (j'ai pas le temps de le faire Mort de Rire) ?

@ ++ Okay




______________________________________________________
Coucou, tu veux voir mon Site Web ?? Mort de Rire
Visiter le site web du posteur Skype
Répondre en citant
Message Connaitre le nombre de fps en batch 
Il me semble que les réponses sont 100% batch.

Je vais essayer de faire un code C# compilable dynamiquement (comme Shaxa et une commande de téléchargement) qui aura un timer et enverra la sortie dans un fichier, c'est pas vraiment 100% mais ça marche aussi.

EDIT: C'est moins performant.




______________________________________________________
Partager permet le savoir. Le savoir permet de partager de nouveau savoirs.
Répondre en citant
Message Connaitre le nombre de fps en batch 
TSnake41 a écrit:
Il me semble que les réponses sont 100% batch.


Je parlais du code Wink
TSnake41 a écrit:
Il me semble que les réponses sont 100% batch.

Je vais essayer de faire un code C# compilable dynamiquement (comme Shaxa et une commande de téléchargement) qui aura un timer et enverra la sortie dans un fichier, c'est pas vraiment 100% mais ça marche aussi.

EDIT: C'est moins performant.


Ah ... Rolling Eyes




______________________________________________________
Coucou, tu veux voir mon Site Web ?? Mort de Rire
Visiter le site web du posteur Skype
Message Connaitre le nombre de fps en batch 


Montrer les messages depuis:
Répondre au sujet Page 2 sur 2
Aller à la page: <  1, 2
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch