<?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[Tick und Millisekunden werden nur alle 12-16 ms aktualisiert?]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe da folgendes Problem mit einer Win32-Consolen-Anwendung (compiliert mit VisualC++ 2005), läuft unter Windows XP im DOS-Fenster (3500+ AMD, DOS-Fenster mit verschiedener Priorität getestet):</p>
<p>Wenn ich folgenden Code ablaufen lasse:</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;windows.h&gt;
#include &lt;time.h&gt;
#include &lt;sys/timeb.h&gt;
#include &lt;i2cbridge.h&gt;
using namespace std;

void main()
	{
	DWORD zeit;

	while (1)
		{
		zeit=GetTickCount();
		cout&lt;&lt;zeit&lt;&lt;endl;
		};
	};
</code></pre>
<p>bekomme ich im DOS-Fenster folgende Ausgabe:</p>
<p>12091921<br />
12091921<br />
12091921<br />
12091921 (ca. 80 Zeilen untereinander)<br />
12091937 (ca. 80 Zeilen untereinander)<br />
12091953 (ca. 80 Zeilen untereinander)</p>
<p>Es vergehen also ca. 13-16 Millisekunden, bis der Tick-Wert aktualisiert wird. Dasselbe passiert mir, wenn ich clock(), _ftime64_s oder pQueryPerformanceCounter benutze.</p>
<p>Was passiert da? Da er 80 Zeilen mit demselben Wert untereinander schreibt, kann das Programm ja nicht zu langsam sein, aber anscheinend wird der Tick und auch die Millisekunden nur alle 13-16ms aktualisiert? <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>
<p>Hat jemand eine Idee, warum das so ist, und wie ich das ändern kann, denn meine Anwendung braucht die Zeit wesentlich genauer als ca. alle 16ms <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>Viele Grüße,<br />
Manfred</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/148821/tick-und-millisekunden-werden-nur-alle-12-16-ms-aktualisiert</link><generator>RSS for Node</generator><lastBuildDate>Sat, 05 Sep 2026 00:47:50 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/148821.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 30 May 2006 17:50:52 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Tick und Millisekunden werden nur alle 12-16 ms aktualisiert? on Tue, 30 May 2006 17:50:52 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe da folgendes Problem mit einer Win32-Consolen-Anwendung (compiliert mit VisualC++ 2005), läuft unter Windows XP im DOS-Fenster (3500+ AMD, DOS-Fenster mit verschiedener Priorität getestet):</p>
<p>Wenn ich folgenden Code ablaufen lasse:</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;windows.h&gt;
#include &lt;time.h&gt;
#include &lt;sys/timeb.h&gt;
#include &lt;i2cbridge.h&gt;
using namespace std;

void main()
	{
	DWORD zeit;

	while (1)
		{
		zeit=GetTickCount();
		cout&lt;&lt;zeit&lt;&lt;endl;
		};
	};
</code></pre>
<p>bekomme ich im DOS-Fenster folgende Ausgabe:</p>
<p>12091921<br />
12091921<br />
12091921<br />
12091921 (ca. 80 Zeilen untereinander)<br />
12091937 (ca. 80 Zeilen untereinander)<br />
12091953 (ca. 80 Zeilen untereinander)</p>
<p>Es vergehen also ca. 13-16 Millisekunden, bis der Tick-Wert aktualisiert wird. Dasselbe passiert mir, wenn ich clock(), _ftime64_s oder pQueryPerformanceCounter benutze.</p>
<p>Was passiert da? Da er 80 Zeilen mit demselben Wert untereinander schreibt, kann das Programm ja nicht zu langsam sein, aber anscheinend wird der Tick und auch die Millisekunden nur alle 13-16ms aktualisiert? <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>
<p>Hat jemand eine Idee, warum das so ist, und wie ich das ändern kann, denn meine Anwendung braucht die Zeit wesentlich genauer als ca. alle 16ms <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>Viele Grüße,<br />
Manfred</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1068287</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1068287</guid><dc:creator><![CDATA[Manfred2]]></dc:creator><pubDate>Tue, 30 May 2006 17:50:52 GMT</pubDate></item><item><title><![CDATA[Reply to Tick und Millisekunden werden nur alle 12-16 ms aktualisiert? on Tue, 30 May 2006 18:22:21 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>das hatten wir doc hso ähnlich grad <a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-148710-and-start-is-0.html" rel="nofollow">hier</a> erst.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1068307</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1068307</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Tue, 30 May 2006 18:22:21 GMT</pubDate></item><item><title><![CDATA[Reply to Tick und Millisekunden werden nur alle 12-16 ms aktualisiert? on Tue, 30 May 2006 18:41:33 GMT]]></title><description><![CDATA[<p>Mit QueryPerformanceCounter sollte es gehen, wie sieht denn dein Code dafür aus?</p>
<p>mfg.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1068318</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1068318</guid><dc:creator><![CDATA[joomoo]]></dc:creator><pubDate>Tue, 30 May 2006 18:41:33 GMT</pubDate></item><item><title><![CDATA[Reply to Tick und Millisekunden werden nur alle 12-16 ms aktualisiert? on Wed, 31 May 2006 08:37:26 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>vielen Dank für die Tipps, ich habs jetzt geschafft.<br />
Vorher hab ich zwar das Forum durchsucht, der eine Thread ist mir aber durch die Lappen gegangen.<br />
Der Code sieht jetzt folgendermaßen aus und funktioniert:</p>
<pre><code>LARGE_INTEGER iFreq;

QueryPerformanceFrequency(&amp;iFreq);

printf(&quot;Frequency : %20d\n&quot;,iFreq.QuadPart);

LARGE_INTEGER iBegin, iEnd;

QueryPerformanceCounter(&amp;iBegin);

Sleep(10);

QueryPerformanceCounter(&amp;iEnd);

printf(&quot;Time      : %4.15f\n s&quot;,(double)(iBegin.QuadPart)/iFreq.QuadPart);
printf(&quot;Time      : %4.15f\n s&quot;,(double)(iEnd.QuadPart)/iFreq.QuadPart);
</code></pre>
<p>Viele Grüße,<br />
Manfred</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1068568</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1068568</guid><dc:creator><![CDATA[Manfred2]]></dc:creator><pubDate>Wed, 31 May 2006 08:37:26 GMT</pubDate></item><item><title><![CDATA[Reply to Tick und Millisekunden werden nur alle 12-16 ms aktualisiert? on Wed, 31 May 2006 13:28:25 GMT]]></title><description><![CDATA[<p>[...]</p>
<p>mein nachredner hat absolut recht, darum hab ich den geistigen duennpfiff mal entfernt <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>
<p>wenn man gezielt auf eine veraenderung des tickcounts wartet, liegen dazwischen immer 16ms:</p>
<pre><code>unsigned int preTime= GetTickCount();
	unsigned int curTime;
	while (true)
	{
		do {
			curTime= GetTickCount();
		} while (curTime==preTime);

		printf(&quot;%d \n&quot;, curTime);
		preTime= curTime;
	}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1068581</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1068581</guid><dc:creator><![CDATA[hellihjb]]></dc:creator><pubDate>Wed, 31 May 2006 13:28:25 GMT</pubDate></item><item><title><![CDATA[Reply to Tick und Millisekunden werden nur alle 12-16 ms aktualisiert? on Wed, 31 May 2006 13:00:24 GMT]]></title><description><![CDATA[<p>Das mit der konsole glaub ich nicht.<br />
Hab's so probiert:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;vector&gt;

int _tmain(int argc, _TCHAR* argv[])
{
   using namespace std;
   const DWORD rounds = 1000000;

   vector&lt;DWORD&gt; ticks;
   ticks.resize(rounds);

   int i;

   for (i = 0; i &lt; rounds; i++) ticks[i] = ::GetTickCount();

   for (i = 0; i &lt; rounds; i++) cout &lt;&lt; ticks[i] &lt;&lt; endl;

	return 0;
}
</code></pre>
<p>Da bekommt man auch die gleiche Zahl x mal (ich denke öfter als mit direkter Ausgabe)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1068781</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1068781</guid><dc:creator><![CDATA[templäd]]></dc:creator><pubDate>Wed, 31 May 2006 13:00:24 GMT</pubDate></item></channel></rss>