<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[100% CPU-Last]]></title><description><![CDATA[<p>Auf die Gefahr hin, das ich mich bei der Suche zu doof angestellt habe:</p>
<p>Ich habe eine Dialog-Applikation, die auch Tab-Ctrls beinhaltet. Das das Programm, wenn ich nichts mache auf Eingaben wartet, ist mir verständlich, dass das allerdings 100% der CPU in Anspruch nimmt, weniger. Wie bekomme ich denn raus, was ich ändern muss (oder besser wo ich es ändern muss), damit mein Programm bei &quot;Nichtbenutzung&quot; fast keine CPU verbraucht? Irgendwo ist da doch busy-waiting im Spiel...</p>
<p>zwette</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/49443/100-cpu-last</link><generator>RSS for Node</generator><lastBuildDate>Fri, 01 May 2026 16:56:55 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/49443.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 19 Sep 2003 10:04:44 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to 100% CPU-Last on Fri, 19 Sep 2003 10:04:44 GMT]]></title><description><![CDATA[<p>Auf die Gefahr hin, das ich mich bei der Suche zu doof angestellt habe:</p>
<p>Ich habe eine Dialog-Applikation, die auch Tab-Ctrls beinhaltet. Das das Programm, wenn ich nichts mache auf Eingaben wartet, ist mir verständlich, dass das allerdings 100% der CPU in Anspruch nimmt, weniger. Wie bekomme ich denn raus, was ich ändern muss (oder besser wo ich es ändern muss), damit mein Programm bei &quot;Nichtbenutzung&quot; fast keine CPU verbraucht? Irgendwo ist da doch busy-waiting im Spiel...</p>
<p>zwette</p>
]]></description><link>https://www.c-plusplus.net/forum/post/356632</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/356632</guid><dc:creator><![CDATA[zwette]]></dc:creator><pubDate>Fri, 19 Sep 2003 10:04:44 GMT</pubDate></item><item><title><![CDATA[Reply to 100% CPU-Last on Fri, 19 Sep 2003 10:10:25 GMT]]></title><description><![CDATA[<p>Lass mich raten: Entweder Sleep oder Endlosschleife im Spiel.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/356638</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/356638</guid><dc:creator><![CDATA[Walli]]></dc:creator><pubDate>Fri, 19 Sep 2003 10:10:25 GMT</pubDate></item><item><title><![CDATA[Reply to 100% CPU-Last on Fri, 19 Sep 2003 10:14:27 GMT]]></title><description><![CDATA[<p>Weder noch, ich habe mein Programm komplett &quot;event-driven&quot; geschrieben. Also wenn Sleep oder so, dann schon vom MFC-Grundgerüst her, aber ich selbst habe nichts dergleichen programmiert. Es passiert ja nur was, wenn man auf irgendwas klickt...</p>
<p>zwette</p>
]]></description><link>https://www.c-plusplus.net/forum/post/356642</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/356642</guid><dc:creator><![CDATA[zwette]]></dc:creator><pubDate>Fri, 19 Sep 2003 10:14:27 GMT</pubDate></item><item><title><![CDATA[Reply to 100% CPU-Last on Fri, 19 Sep 2003 10:18:46 GMT]]></title><description><![CDATA[<p>Zu dem Tab Control: Bei der Erzeugung müsst Ihr auf alle Fälle darauf achten, daß Ihr WS_EX_CONTROLPARENT den Child-Dialogen hinzufügt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/356645</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/356645</guid><dc:creator><![CDATA[child]]></dc:creator><pubDate>Fri, 19 Sep 2003 10:18:46 GMT</pubDate></item><item><title><![CDATA[Reply to 100% CPU-Last on Fri, 19 Sep 2003 11:11:21 GMT]]></title><description><![CDATA[<p>Heißt das, ich muss:</p>
<pre><code class="language-cpp">CDialog* m_tabellenSeite[6];
m_tabellenSeite[0]-&gt;Create(IDD_TRL, this);
</code></pre>
<p>durch CreateEx mit Parameter WS_EX_CONTROLPARENT ersetzen, da sind aber n Haufen neuer Variablen drin, die ich nicht deuten kann, ich habe die TabCtrl-Klasse auch nicht geschrieben, ist aus nem Forum übernommen. Erbitte höflichst Hilfe beim &quot;Füllen&quot; der Parameter.</p>
<p>zwette</p>
]]></description><link>https://www.c-plusplus.net/forum/post/356666</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/356666</guid><dc:creator><![CDATA[zwette]]></dc:creator><pubDate>Fri, 19 Sep 2003 11:11:21 GMT</pubDate></item><item><title><![CDATA[Reply to 100% CPU-Last on Fri, 19 Sep 2003 11:13:38 GMT]]></title><description><![CDATA[<p>hallo zwette</p>
<p>lad dein projekt, wenn möglich, mal auf deinen webspace drauf.</p>
<p>dann können wir dir wahrscheinlich helfen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/356667</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/356667</guid><dc:creator><![CDATA[hilfer]]></dc:creator><pubDate>Fri, 19 Sep 2003 11:13:38 GMT</pubDate></item><item><title><![CDATA[Reply to 100% CPU-Last on Fri, 19 Sep 2003 11:27:55 GMT]]></title><description><![CDATA[<p>OK, hier kann man es runterladen (586 KB):</p>
<p><a href="http://www.zwette.de/temp/TMLA_test.zip" rel="nofollow">http://www.zwette.de/temp/TMLA_test.zip</a></p>
<p>Es ist unter Visual Studio 6 entwickelt worden, allerdings jetzt in VS7 importiert und weiterbearbeitet.</p>
<p>zwette</p>
]]></description><link>https://www.c-plusplus.net/forum/post/356679</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/356679</guid><dc:creator><![CDATA[zwette]]></dc:creator><pubDate>Fri, 19 Sep 2003 11:27:55 GMT</pubDate></item><item><title><![CDATA[Reply to 100% CPU-Last on Fri, 19 Sep 2003 11:35:08 GMT]]></title><description><![CDATA[<p>die hohe cpu auslastung ist ja nur auf seite 1. da wird sich der fehler ja wohl ziemlich schnell finden lassen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/356687</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/356687</guid><dc:creator><![CDATA[marrccus]]></dc:creator><pubDate>Fri, 19 Sep 2003 11:35:08 GMT</pubDate></item><item><title><![CDATA[Reply to 100% CPU-Last on Fri, 19 Sep 2003 11:36:54 GMT]]></title><description><![CDATA[<p>...und auf der letzten auch...!!?? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/356689</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/356689</guid><dc:creator><![CDATA[zwette]]></dc:creator><pubDate>Fri, 19 Sep 2003 11:36:54 GMT</pubDate></item><item><title><![CDATA[Reply to 100% CPU-Last on Fri, 19 Sep 2003 11:44:14 GMT]]></title><description><![CDATA[<p>Kann es sein, das er hier nicht mehr rauskommt??</p>
<pre><code class="language-cpp">for(int nZaehler = 1; nZaehler &lt; m_Seitennummern; nZaehler++)
{
    m_tabellenSeite[nZaehler] -&gt; SetWindowPos(&amp;wndTop, nX, nY, nXz, nYz, SWP_HIDEWINDOW);
}
</code></pre>
<p>Ist die SetRec-Methode in der TabCtrl-Klasse.</p>
<p>zwette</p>
]]></description><link>https://www.c-plusplus.net/forum/post/356693</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/356693</guid><dc:creator><![CDATA[zwette]]></dc:creator><pubDate>Fri, 19 Sep 2003 11:44:14 GMT</pubDate></item><item><title><![CDATA[Reply to 100% CPU-Last on Fri, 19 Sep 2003 12:05:44 GMT]]></title><description><![CDATA[<p>was du brauchst ist ein Profiler - mit dem man die Stellen findet, wo es sehr langsam wird.</p>
<p>Wenn jemand einen für MSVC++ (.NET) kennt<br />
bitte mailen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/356705</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/356705</guid><dc:creator><![CDATA[Dezipaitor]]></dc:creator><pubDate>Fri, 19 Sep 2003 12:05:44 GMT</pubDate></item><item><title><![CDATA[Reply to 100% CPU-Last on Fri, 19 Sep 2003 12:14:57 GMT]]></title><description><![CDATA[<p>Meinst du sowas wie <a href="http://www.intel.com/software/products/vtune/" rel="nofollow">VTune</a> von Intel?</p>
<p>zwette</p>
<p>PS: HAB EINEN! <a href="http://www.codework.com/glowcode/product.html" rel="nofollow">http://www.codework.com/glowcode/product.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/356708</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/356708</guid><dc:creator><![CDATA[zwette]]></dc:creator><pubDate>Fri, 19 Sep 2003 12:14:57 GMT</pubDate></item><item><title><![CDATA[Reply to 100% CPU-Last on Fri, 19 Sep 2003 12:39:29 GMT]]></title><description><![CDATA[<p>Die OnPaint-Funktion hat sich als Schuldiger herausgestellt, aber wie bekomme ich das so hin, das er nicht dauernd nur zeichnet? Anscheinend hab ich keine korrekte Verknüpfung zwischen WM_PAINT und OnPaint!? Sie zeichnet nämlich <strong>permanent</strong> neu...</p>
<p>zwette</p>
]]></description><link>https://www.c-plusplus.net/forum/post/356726</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/356726</guid><dc:creator><![CDATA[zwette]]></dc:creator><pubDate>Fri, 19 Sep 2003 12:39:29 GMT</pubDate></item><item><title><![CDATA[Reply to 100% CPU-Last on Fri, 19 Sep 2003 13:31:21 GMT]]></title><description><![CDATA[<p>Darf ich nochmal raten? Du benutzt nicht CPaintDC in OnPaint, sondern GetDC() o.ä. CPaintDC ruft im Destruktor ValidateRect auf. Da dies bei dir nicht geschieht bleibt der Bereich invalidated (*g*) und es wird ständig neu gezeichnet. Also, entweder:</p>
<pre><code class="language-cpp">void CMyWnd::OnPaint()
{
  CPaintDC dc(this);
  ...
}
</code></pre>
<p>oder:</p>
<pre><code class="language-cpp">void CMyWnd::OnPaint()
{
  ...
  ValidateRect(0);
}
</code></pre>
<p>EDIT: (Habs mir in deinem Projekt angeguckt. Ist so wie ich vermutet habe. Nimm die OnPaint-Funktionen raus wenn du sie nicht brauchst oder schreib &quot;CPaintDC dc(this);&quot; rein.)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/356751</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/356751</guid><dc:creator><![CDATA[Walli]]></dc:creator><pubDate>Fri, 19 Sep 2003 13:31:21 GMT</pubDate></item><item><title><![CDATA[Reply to 100% CPU-Last on Fri, 19 Sep 2003 14:40:25 GMT]]></title><description><![CDATA[<p>noch ein hinweis: wenn man in deinem programm ESCAPE drückt, geht der aktuelle dialog zu. das ist bestimmt nicht so gewollt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/356805</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/356805</guid><dc:creator><![CDATA[:)]]></dc:creator><pubDate>Fri, 19 Sep 2003 14:40:25 GMT</pubDate></item><item><title><![CDATA[Reply to 100% CPU-Last on Fri, 19 Sep 2003 15:49:20 GMT]]></title><description><![CDATA[<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /> schrieb:</p>
<blockquote>
<p>noch ein hinweis: wenn man in deinem programm ESCAPE drückt, geht der aktuelle dialog zu. das ist bestimmt nicht so gewollt.</p>
</blockquote>
<p>Woher willst du das wissen? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/356833</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/356833</guid><dc:creator><![CDATA[Walli]]></dc:creator><pubDate>Fri, 19 Sep 2003 15:49:20 GMT</pubDate></item><item><title><![CDATA[Reply to 100% CPU-Last on Fri, 19 Sep 2003 16:06:58 GMT]]></title><description><![CDATA[<p>@MaSTaH:</p>
<p>Hey, THX, es funktioniert, im Grunde hattest du Recht, da ich aber einigen Quellcode (aus Sicherheitsgründen) unterschlagen hatte, konntest Du es nicht auf den Punkt bringen.</p>
<p>Ich hatte zuerst:</p>
<pre><code class="language-cpp">void CResonator_Single::OnPaint(void)
{
    if (m_pGraph-&gt;GetDrawn() == true) // stellt fest, ob schon ein Graph gezeichnet wurde
    {
        CPaintDC dc(this);
        m_pGraph-&gt;DrawChart(m_pFileGraphS12, m_hWndGraphArea, S12_DATA);
    }
}
</code></pre>
<p>es muss natürlich lauten:</p>
<pre><code class="language-cpp">void CResonator_Single::OnPaint(void)
{
    CPaintDC dc(this);
    if (m_pGraph-&gt;GetDrawn() == true) // stellt fest, ob schon ein Graph gezeichnet wurde
    {
        m_pGraph-&gt;DrawChart(m_pFileGraphS12, m_hWndGraphArea, S12_DATA);
    }
}
</code></pre>
<p>Nochmal ein dickes DANKE SCHÖN!</p>
<p>@:)<br />
Wie kann ich denn das unterbinden? Gibts etwas ne ESC-Message? Ist nicht gewollt (@MaSTaH )...</p>
<p>zwette</p>
]]></description><link>https://www.c-plusplus.net/forum/post/356843</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/356843</guid><dc:creator><![CDATA[zwette]]></dc:creator><pubDate>Fri, 19 Sep 2003 16:06:58 GMT</pubDate></item><item><title><![CDATA[Reply to 100% CPU-Last on Fri, 19 Sep 2003 16:20:52 GMT]]></title><description><![CDATA[<p>Es müsste so gehen:</p>
<pre><code class="language-cpp">BOOL CMyDlg::PreTranslateMessage(MSG* pMsg) 
{
  if(pMsg-&gt;message == WM_KEYDOWN &amp;&amp; pMsg-&gt;wParam == VK_ESCAPE)
    return TRUE;

  return CDialog::PreTranslateMessage(pMsg);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/356850</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/356850</guid><dc:creator><![CDATA[Walli]]></dc:creator><pubDate>Fri, 19 Sep 2003 16:20:52 GMT</pubDate></item></channel></rss>