Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : wxThread --> rundll32.exe s'affole !! [ Archives / Systeme ] (satellite34)

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é 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

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,577 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.