<?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[Vernünftiger loop für Animationen]]></title><description><![CDATA[<p>Hiho!<br />
Ich mache gerade ein Programm dass sich Buchstaben aus einem Bitmap file ausliest und die Buchstaben anschließend in einem Scroller ausgibt. Genau beim Scrollen des Textes liegt auch schon das Problem. Ich habe eine Funktion gemacht, die bei jedem Aufruf den Text um einen Pixel verschiebt. In diversen game foren wird einem immer das hier als gameloop empfohlen:</p>
<pre><code>while( true )
	{
		if (PeekMessage(&amp;msg,NULL,0,0,PM_REMOVE))
		{	  
         if (msg.message == WM_QUIT) break;

         TranslateMessage(&amp;msg);
	     DispatchMessage(&amp;msg);
		}
		GameLoop( hWnd );
	}
</code></pre>
<p>Davon halte ich aber nichts, weil die Prozessor auslastung immer bei 99% ist.<br />
Es soll ja auch nur ein kleines Windows programm sein. Threads sind ja angeblich auch ne schlechte lösung. Hat jemand ne idee?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/154218/vernünftiger-loop-für-animationen</link><generator>RSS for Node</generator><lastBuildDate>Thu, 23 Jul 2026 14:00:24 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/154218.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 25 Jul 2006 12:57:16 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Vernünftiger loop für Animationen on Tue, 25 Jul 2006 12:57:16 GMT]]></title><description><![CDATA[<p>Hiho!<br />
Ich mache gerade ein Programm dass sich Buchstaben aus einem Bitmap file ausliest und die Buchstaben anschließend in einem Scroller ausgibt. Genau beim Scrollen des Textes liegt auch schon das Problem. Ich habe eine Funktion gemacht, die bei jedem Aufruf den Text um einen Pixel verschiebt. In diversen game foren wird einem immer das hier als gameloop empfohlen:</p>
<pre><code>while( true )
	{
		if (PeekMessage(&amp;msg,NULL,0,0,PM_REMOVE))
		{	  
         if (msg.message == WM_QUIT) break;

         TranslateMessage(&amp;msg);
	     DispatchMessage(&amp;msg);
		}
		GameLoop( hWnd );
	}
</code></pre>
<p>Davon halte ich aber nichts, weil die Prozessor auslastung immer bei 99% ist.<br />
Es soll ja auch nur ein kleines Windows programm sein. Threads sind ja angeblich auch ne schlechte lösung. Hat jemand ne idee?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1103826</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1103826</guid><dc:creator><![CDATA[Perner]]></dc:creator><pubDate>Tue, 25 Jul 2006 12:57:16 GMT</pubDate></item><item><title><![CDATA[Reply to Vernünftiger loop für Animationen on Tue, 25 Jul 2006 13:02:02 GMT]]></title><description><![CDATA[<p>Setz in die obige Schleife einfach ein Sleep(0) ans Ende,<br />
dann bleibt die Prozessorauslastung niedrig, da der Thread die CPU-Kontrolle immer wieder abgibt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1103838</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1103838</guid><dc:creator><![CDATA[Gill Bates]]></dc:creator><pubDate>Tue, 25 Jul 2006 13:02:02 GMT</pubDate></item><item><title><![CDATA[Reply to Vernünftiger loop für Animationen on Tue, 25 Jul 2006 13:03:51 GMT]]></title><description><![CDATA[<p>(Multimedia)Timer</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1103842</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1103842</guid><dc:creator><![CDATA[mmmmm]]></dc:creator><pubDate>Tue, 25 Jul 2006 13:03:51 GMT</pubDate></item><item><title><![CDATA[Reply to Vernünftiger loop für Animationen on Sun, 30 Jul 2006 11:07:06 GMT]]></title><description><![CDATA[<p>Hm, das mit dem Multimediatimer sieht gut aus. Einzige problem ist, das ich es nicht zum laufen bekomme. Habe mich schon durchgegoogelt aber nix gefunden. Die Beispiele aus der MSDN funktionieren irgendwie nicht. Ich weiß einfach nicht, welches Format die timeSetEvent funktion beim LPTIMECALLBACK fptc verlangt.</p>
<p>Mache ich TIMECALLBACK hallo()</p>
<p>kriege ich error C2664: 'timeSetEvent' : Konvertierung des Parameters 3 von 'void (__stdcall *(void))(unsigned int,unsigned int,unsigned long,unsigned long,unsigned long)' in ' void (__stdcall *)(unsigned int,unsigned int,unsigned long,unsigned long,unsigned long) nicht möglich.</p>
<p>Kann man das mit den Multimedia Timer so wie mit dem &quot;normalen&quot; Timer machen? Also dass er bei jedem Tick he bestimmte funktion aufruft? Genau soetwas bräuchte ich nämlich, hab aber leider keinen Schimmer wie es geht. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1107055</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1107055</guid><dc:creator><![CDATA[Perner]]></dc:creator><pubDate>Sun, 30 Jul 2006 11:07:06 GMT</pubDate></item><item><title><![CDATA[Reply to Vernünftiger loop für Animationen on Sun, 30 Jul 2006 11:12:26 GMT]]></title><description><![CDATA[<blockquote>
<p>Ich weiß einfach nicht, welches Format die timeSetEvent funktion beim LPTIMECALLBACK fptc verlangt.</p>
</blockquote>
<p>Dann lies es bitte nach.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1107059</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1107059</guid><dc:creator><![CDATA[wisser]]></dc:creator><pubDate>Sun, 30 Jul 2006 11:12:26 GMT</pubDate></item><item><title><![CDATA[Reply to Vernünftiger loop für Animationen on Sun, 30 Jul 2006 11:35:13 GMT]]></title><description><![CDATA[<p>Also voila:</p>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/26a0.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--warning"
      title=":warning:"
      alt="⚠"
    /> Ungetesteter Code <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/26a0.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--warning"
      title=":warning:"
      alt="⚠"
    /></p>
<pre><code class="language-cpp">// -- HEADER:  #include &lt;MMSystem.h&gt;
// -- LIBRARY: #pragma comment (lib, &quot;WinMM.lib&quot;)

// ...
// Prototyp der Timer-Funktion, die alle 5 Millisekunden aufgerufen wird:
void CALLBACK MMTimerProc(UINT uTimerID, UINT uMsg, DWORD_PTR dwUser, DWORD_PTR dw1, DWORD_PTR dw2);

// ...
// Multimedia Timer starten 
// (Intervall: 5 Millisekunden, Auflösung: 1 Millisekunde, keine zusätzlichen Daten, die an die
//  Timer-Funktion MMTimerProc übergeben werden):
timeSetEvent(5, 1, (LPTIMECALLBACK)&amp;MMTimerProc 0L, TIME_CALLBACK_FUNCTION | TIME_PERIODIC)

// ...
// Definition der Timer-Funktion:
void MMTimerProc(UINT uTimerID, UINT uMsg, DWORD_PTR dwUser, DWORD_PTR dw1, DWORD_PTR dw2)
{
   static int iCount = 0; // lokal, statisch
   MessageBox(NULL, TEXT(&quot;MsgB - Bombardement&quot;), TEXT(&quot;100-Mal&quot;), 0); // jedes Mal ne MessgeBox anzeigen :-D
   iCount += 1; // Zähler inkrementieren
   if(iCount == 100) // Prüfen...
      timeKillEvent(uTimerID); // ...Timer beenden
}

// ...
</code></pre>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/26a0.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--warning"
      title=":warning:"
      alt="⚠"
    /> Ungetesteter Code <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/26a0.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--warning"
      title=":warning:"
      alt="⚠"
    /></p>
<p>EDIT: Kommentare</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1107069</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1107069</guid><dc:creator><![CDATA[CodeFinder]]></dc:creator><pubDate>Sun, 30 Jul 2006 11:35:13 GMT</pubDate></item><item><title><![CDATA[Reply to Vernünftiger loop für Animationen on Sun, 30 Jul 2006 11:42:24 GMT]]></title><description><![CDATA[<p>lol funktioniert, danke :)))))))</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1107085</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1107085</guid><dc:creator><![CDATA[Perner]]></dc:creator><pubDate>Sun, 30 Jul 2006 11:42:24 GMT</pubDate></item></channel></rss>