begin process at 2012 05 28 04:51:28
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

98 vs XP


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

98 vs XP

jeudi 20 janvier 2005 à 11:30:35 | 98 vs XP

ricky78

Bonjour à tous

J'ai développé une application en visual C++ 6.0 capable de piloter un système RFID (identification de puce électronique). De base il s'agit d'échange de caractére sur le port de communication série.

Mon souci est le suivant, le programme en visual c++ 6.0 compilé et utilisé sur un pentium 2 à 200MHz sous windows 98 met pour l'identification environ 12s.
Le même programme en visual c++ 6.0 compilé et utilisé sur un pentium 3 à 733MHz sous windows 98 met pour l'identification environ 8s.
Le même programme en visual c++ 6.0 compilé et utilisé sur un pentium 4 à 2.8GHz sous windows XP met pour l'identification environ 30s.

Je ne comprend pas le problème, le pentium 4 a été vérifié avec norton , spybot, adaware,et optimiser avec tuneup 2004 sans résultats pour l'augmentation de la vitesse.

Y'a t il une différence au niveau du code ?
Y a til des priorité différentes pour gérer le port com entre XP et 98?
Je suis preneur de n'importe quel piste?

Merci à l'avance pour vos réponses.


TOCHE

jeudi 20 janvier 2005 à 12:02:04 | Re : 98 vs XP

ymca2003

Tu utilise quoi comme fonction pour l'accès aux port (API ou dll spéciale) ?

Ensuite, s'il s'agit d'échange de caractères sur le port série, tu sera limité par la vitesse d'échange, donc :
- à quelle vitesse est le port série.
- quel est a peu près le nombre d'octets transférés.

pour attendre une réponse utilise-tu un thread, une boucle while qui lit en permanence ou une fonction d'attente de l'API ?
jeudi 20 janvier 2005 à 12:36:29 | Re : 98 vs XP

ricky78

Merci de ta réponse

Pour acceder au port j'utilise les fonctions
WriteFile(); et ReadFile();

le port série est définit à travers une structure DCB ayant 57600 bauds

Le programme est completement synchrone un envoi d'un caractére puis réception d'un caractére. Le temps entre l'émission et la réception est invariable et n'entre pas en compte pour la différence de vitesse.

la différence est uniquement le temps de traitement du programme entre la derniere reception et la prochaine emission. ce temps varie de 2ms à 8ms en fonction du pc et de l'os et je ne sait pas ce qui gere ce temps.

TOCHE
jeudi 20 janvier 2005 à 12:43:26 | Re : 98 vs XP

ymca2003

Tu crée bien Avec CreateFile sans FILE_FLAG_OVERLAPPED ?

Tu peux essayer d'appeler FlushFileBuffers après l'envoi du caractère.

Les temps que tu donne sont en s ou ms. Pour mesurer + présisément les temps, regarde du coté de QueryPerformanceCounter et QueryPerformanceFrequency.
jeudi 20 janvier 2005 à 14:19:12 | Re : 98 vs XP

ricky78

Je vais essayer  le Flushfilebuffers

Les temps sont en Seconde pour le temps de traitement du prog et en Milliseconde pour les temps entre chaque emission reception.

Je ne connait pas Queryperformance counter et queryperformance frequency, peux tu SVP etre plus explicite
merci encore !!!

TOCHE
jeudi 20 janvier 2005 à 14:24:46 | Re : 98 vs XP

ymca2003

Ces fonctions permette de récupérer un compteur système plus précis que GetTickCount qui renvoi des ms.

QueryperformanceCounter revoi la valeur actuelle du compteur.
QueryperformanceFrequency récupère le nombre de tick par seconde (constante pour la machine).

utilisation :
__int64 start, ent, freq;

QueryperformanceCounter((LARGE_INTEGER*)&start);
.....
QueryperformanceCounter((LARGE_INTEGER*)&end);

QueryperformanceFrequency((LARGE_INTEGER*)&freq);
double time = ((double)(end-start))/freq;
jeudi 20 janvier 2005 à 19:52:56 | Re : 98 vs XP

Funto66

D'un autre côté vu la taille de ses mesures en secondes, je ne pense pas qu'utiliser QueryPerformanceCounter() soit vraiment utile ^^

---------------------------------------------------------
Patience et longueur de temps font plus que force ni que rage....
Coucous flingueurs 3D : http://www.freewebs.com/cf3d/


Cette discussion est classée dans : programme, visual, xp, identification, pentium


Répondre à ce message

Sujets en rapport avec ce message

Du Visual C++ en Borland C++ : Comment faire ? [ par MaitreDragon ] Bonjour a tous !!!Je souhaiterais mettre en borland C++ les sources d'un programme fait en Visual C++.Le probleme, c'est que ce n'est pas moi qui ai f erreur de demarrage programme [ par nango ] Quand je compile sous visual c++ il m'apparait le message d'erreur suivant : "un fichier.DLL requis, MSPDB60.DLL, n'a pas été trouvé".Pourtant ce fich portage Linux vers visual C++ [ par acsx ] Salut,J'ai un programme écrit en C sous Linux et je souhaite le faire tourner sous Visual C++ 6.0 sous Windows.J'ai donc créé un projet win32 et intég Borland C++ et Visual C++ [ par superromu ] Bonjour,J ai un programme ecrit en Borland C++ et je voudrait le modifier, mais je n ai que Visual C++, et les deux ne sont pas compatible.Que dois je problème de session sous win XP [ par vdox05 ] Bonjour,J' aimerais savoir comment on fait pour savoir le nom de la session dans laquelle le programme est ouvert ...Par exemple si je veux mettre un HELP!!! Pilotage port parralele sous XP avec Visual CPP 6.0 [ par deus92 ] Bonjour, je cherche à piloter mon port parallele avec Visual CPP 6.0 sous Win XP, pour commander un moteur pas à pas. Si quelqu'un pouvait m'aider à r Problème avec un programme qui marche sous XP sous Win2000/NT [ par Super Pouce ] Bonjour,J'au un programme qui fonctionne sous XP mais pas sous 2000 et NT. Le problème est identifié (voir la source)Source du fichierMerci de aide sur visual c++ svp [ par morgandetoi06 ] alors deja bonjour ;)j aimerait savoir comment faire pour que la console d un programme ms-dos compilé par visual c++ ne se voit pas.pour dev c++ j al Version de programme sous Visual 97 [ par themaste ] Salut a tous!Voila, je viens de récupérer un vieux programme dont je dois faire des mise à jour. Je dois bosser sous visual studio 97, et je n'arrive Probleme Visual C++ 6 [ par supergrey ] Bonjour, j'ai fait un programme a partir de la source d'un sniffer et mon programme fonctionne seulement en mode debogage (sous VC++6).Comment est-ce


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 19,843 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales