<?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[C++ TIming]]></title><description><![CDATA[<p>Hallo, ich will eine Funktion machen, die mein Programm für einen kurzen Augneblick unterbricht, so wie die Sleep() funktion von Windows, aber ich habe gelesen, dass diese Funkion ein Programm minimalst für 10-15 millisekunden unterbrechen kann, aber was macht man wenn man geringe Zeiten braucht, z.B. eine halbe millisekunde oder so? Ich dachte an eine Schleife, wo man mit dem QueryPerformanceCounter() die Zeit misst und in einer Schleife immer wieder die Differenz ausrechnet um dann was zum machen... aber diese Methode bruacht 100% Prozessorauslastung oder verwende ich ihn nur falsch ?</p>
<pre><code class="language-cpp">#include &lt;windows.h&gt;
#include &lt;iostream&gt;
#include &lt;mmsystem.h&gt;

//link libwinmm.a

LONGLONG Frequency,CurrentTime, LastTime;

double TimeElapsed, TimeScale;

using namespace std;

int main(void)
{
    QueryPerformanceFrequency( (LARGE_INTEGER*) &amp;Frequency);
    TimeScale = 1.0/Frequency;      
    QueryPerformanceCounter( (LARGE_INTEGER*) &amp;LastTime);

    while(true)
    {  
       QueryPerformanceCounter((LARGE_INTEGER*) &amp;CurrentTime); 
       TimeElapsed = (CurrentTime - LastTime) * TimeScale; 

           if(TimeElapsed &gt;= 0.01)
           { 
               cout &lt;&lt; TimeElapsed &lt;&lt; endl;            
               LastTime = CurrentTime;
           }
    }

    system(&quot;PAUSE&quot;);
    return 0;
}
</code></pre>
<p>Gruß Chris</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/186910/c-timing</link><generator>RSS for Node</generator><lastBuildDate>Thu, 24 Sep 2026 11:41:29 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/186910.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 13 Jul 2007 14:40:44 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to C++ TIming on Fri, 13 Jul 2007 14:40:44 GMT]]></title><description><![CDATA[<p>Hallo, ich will eine Funktion machen, die mein Programm für einen kurzen Augneblick unterbricht, so wie die Sleep() funktion von Windows, aber ich habe gelesen, dass diese Funkion ein Programm minimalst für 10-15 millisekunden unterbrechen kann, aber was macht man wenn man geringe Zeiten braucht, z.B. eine halbe millisekunde oder so? Ich dachte an eine Schleife, wo man mit dem QueryPerformanceCounter() die Zeit misst und in einer Schleife immer wieder die Differenz ausrechnet um dann was zum machen... aber diese Methode bruacht 100% Prozessorauslastung oder verwende ich ihn nur falsch ?</p>
<pre><code class="language-cpp">#include &lt;windows.h&gt;
#include &lt;iostream&gt;
#include &lt;mmsystem.h&gt;

//link libwinmm.a

LONGLONG Frequency,CurrentTime, LastTime;

double TimeElapsed, TimeScale;

using namespace std;

int main(void)
{
    QueryPerformanceFrequency( (LARGE_INTEGER*) &amp;Frequency);
    TimeScale = 1.0/Frequency;      
    QueryPerformanceCounter( (LARGE_INTEGER*) &amp;LastTime);

    while(true)
    {  
       QueryPerformanceCounter((LARGE_INTEGER*) &amp;CurrentTime); 
       TimeElapsed = (CurrentTime - LastTime) * TimeScale; 

           if(TimeElapsed &gt;= 0.01)
           { 
               cout &lt;&lt; TimeElapsed &lt;&lt; endl;            
               LastTime = CurrentTime;
           }
    }

    system(&quot;PAUSE&quot;);
    return 0;
}
</code></pre>
<p>Gruß Chris</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1324741</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1324741</guid><dc:creator><![CDATA[Foxx90]]></dc:creator><pubDate>Fri, 13 Jul 2007 14:40:44 GMT</pubDate></item><item><title><![CDATA[Reply to C++ TIming on Fri, 13 Jul 2007 19:45:59 GMT]]></title><description><![CDATA[<p>Windows ist kein Echtzeit OS, anders wirst du sowas kaum machen können. Und selbst dann sollte dir klar sein, dass das Thread Scheduling dazwischen funken kann und wieder ein paar Millisekunden daraus machen kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1324932</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1324932</guid><dc:creator><![CDATA[groovemaster]]></dc:creator><pubDate>Fri, 13 Jul 2007 19:45:59 GMT</pubDate></item></channel></rss>