begin process at 2010 03 15 06:45:50
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Systeme

 > 

wxThread --> rundll32.exe s'affole !!


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

wxThread --> rundll32.exe s'affole !!

jeudi 13 avril 2006 à 17:34:36 | wxThread --> rundll32.exe s'affole !!

satellite34

salut,

voila, je dev une appli multithread avec wxWidgets, j'ai 2 threads qui roulent séparément, un avec un sleep de 100ms et un autre 20ms, pourquoi diable ces threads consomment a eux seul 20% de cpu et pourquoi le rundll32.exe ds le gestionnaire des taches prends pareil en cpu, a peu prés 20% ????

voila comment je code mes threads, j'en met qu'un mais le 2e est du meme type :

CRenderThread::CRenderThread(MyFrame *m_frame, MyCanvas *m_canvas) : wxThread()

{

m_pFrame = m_frame;

m_pCanvas = m_canvas;

}

void *CRenderThread::Entry()

{

if( TestDestroy() != 0 )

return NULL;

 

wxWindowDC dc( m_pCanvas );

RenderSpectrum(dc);

return NULL;

}

void CRenderThread::OnExit()

{

wxCriticalSectionLocker locker( wxGetApp().m_critsect );

wxArrayThread& threads = wxGetApp().m_threads;

threads.Remove(this);

if( threads.IsEmpty() )

{

if( wxGetApp().m_waitingUntilAllDone )

{

wxGetApp().m_waitingUntilAllDone = false;

wxGetApp().m_semAllDone.Post();

}

}

if( !m_pFrame->IsQuit && m_pFrame->channel )

m_pCanvas->StartRenderThread();

}

void CRenderThread::RenderSpectrum(wxDC &dc)

{

Sleep( 20 )

// instructions........

}

voila, du coup mon apli prends 60% cpu en comptant rundll32.exe, ce qui est beaucoup trop a mon gout, car de plus je dessine avec RenderSpectrum, ce qui n'ameliore pas la donne.......

Si vous avez des idées ou si quelque chose cloche dans ce code........

PS:mon pc est une merde, DELL dimension celeron 2.4ghz avec 256 de ram, mais est-ce bien normal?


@+;
satellite34

http://www.rootscommunity.com/

jeudi 13 avril 2006 à 19:24:35 | Re : wxThread --> rundll32.exe s'affole !!

fredcl

Bonjour,

ça doit venir de ta façon de coder tes threads, car j'ai testé le client FTP qui me sert de base pour le tutoriel (que je viens de mettre en relecture)
et la différence est minime (entre un et cinq % de différence) quand il est lancé avec un téléchargement en cours.

Cordialement

Fred Cailleau-Lepetit ( [ Lien ])

jeudi 13 avril 2006 à 21:05:45 | Re : wxThread --> rundll32.exe s'affole !!

Xaviou

Salut,

As-tu pensé, dans ta fonction "CRenderThread::RenderSpectrum(wxDC &dc)" , à mettre un dc.BeginDrawing() avant de faire ton rendu, et à mettre un dc.EndDrawing() lorsque le rendu est terminé ?

vendredi 14 avril 2006 à 00:06:02 | Re : wxThread --> rundll32.exe s'affole !!

satellite34

xaviou---> aucun proble du coté du dc;

en fait j'ai réussi et c'etait pas dans les threads que le pb se posait mais ds un thread de l'api FMOD ( rien a voir );

sinon, ben c'est clair que je trouve que le dc est trés gourmand dés lors qu'on rempli plus de la moitié de la zone, je trouve ca génant car je tourne a 25ms pour le rendu;

si j'affiche des lignes les performances sont correctes mais avec des points c'est gourmand, et je suis obligé d'utiliser des points pour avoir un dégradé, donc je fais comme l'affichage de mon spectrum (cf sources), mais ca ne me convient pas.

Un wxGLCanvas serait plus aproprié pour du rendu véloce?


@+;
satellite34

http://www.rootscommunity.com/

vendredi 14 avril 2006 à 00:08:13 | Re : wxThread --> rundll32.exe s'affole !!

satellite34

ha, fredcl ---->  j'ai quand meme modifié ma maniere de sortir des threads et j'arrive a des perfs correctes sur les threads : les 2 en meme temps , sans le rendu graphique 7-- 10 % cpu, je pense que c'est ca non?pour une machine comme moi bien sur

Sinon, ben j'aimerai bien voir la partie des threads en avt premiere lol;

@+;
satellite34

http://www.rootscommunity.com/



Cette discussion est classée dans : exe, threads, crenderthread, wxgetapp, rundll32


Répondre à ce message

Sujets en rapport avec ce message

modification d'un fichier .exe [ par jackky ] salut je voulais savoir comment faire un fichier .exe en c++(crack) pour changer un saut dans un fichier .exeexemple00401595 7416 je 004015ADCHANGER lance un exe avec des paramètres en c sous nt [ par max ] salut à tousJe voudrais lancé un exe avec des paramètres dans mon fichier C et récuperer l'arret de l'exe.Je voudrais savoir comment faire.merci erreur cl.exe [ par Synhok ] Je suis un programmeur debutant en C++ et j'utilise Visual C++, j'essaie de faire une application toute simple ("Hello World"), il est impossible qu'i creer un .exe qui ouvre une fenetre internet explorer [ par dany ] bonjourj'aimerais avoir le source pour creer un fichier.exe a mettre sur un cd et qui ouvre un fichier .htmen c++ (avec dev-c++)merci d'avance Pb avec Glut sous Visual C++ [ par Yoann ] Bonjour !Je viens de me mettre à OpenGL avec Glut, mais j'ai un petit problème. En effet, quand je compile un exemple, j'ai l'erreur suivante :TestGlu Salut je voudrai savoir comment faire pour lancer une appl. en C/C++ [ par jarodx64 ] comment faire pour lancer une application en C/C++ sur : - Win32: j'ai commencer un programme et je voudrai lancer une application externe Win16/32 (m Lancement d'exe [ par fg ] Je cherche a lancer un .exe créé sous visual C++, à partir d'un autre projet.Merci d'avance C++ recuperer les icones d'un exe ou d'une application [ par rerebozo ] BonjourComment faire pour charger les icones d'une application ou d'un exe Merçi Probleme sur une methode [ par kild ] Bonjourje desire crée un exe ki execute via le choix de l'utilisateur un autre executable dont g po les sources et ki utilise des commandes en ligne d integer des images dans le EXE [ par pipo ] qq un sait il comment inserer dans bitmap dans l'exe final (winapi) ! un peu comme en MCF !


Nos sponsors


Appels d'offres

Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
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 : 0,655 sec (4)

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