<?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[QueryPerformanceCounter]]></title><description><![CDATA[<p>der QueryPerformanceCounter erwartet ja einen LARGE_INTEGER (64bit) meine frage, wie zählt der eigentlich ?</p>
<p>0 bis max oder 0 bis max (plus) zu max (minus) und wieder 0 oder gar noch anders???</p>
<p>bzw. macht das eigentlich einen unterschied ?</p>
<p>sry für die (eigentlich simple) frage aber bei 64bit weis ich nich sicher wie der die vorzeichen handhabt</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/193332/queryperformancecounter</link><generator>RSS for Node</generator><lastBuildDate>Tue, 30 Jun 2026 14:23:37 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/193332.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 25 Sep 2007 09:12:16 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to QueryPerformanceCounter on Tue, 25 Sep 2007 09:12:16 GMT]]></title><description><![CDATA[<p>der QueryPerformanceCounter erwartet ja einen LARGE_INTEGER (64bit) meine frage, wie zählt der eigentlich ?</p>
<p>0 bis max oder 0 bis max (plus) zu max (minus) und wieder 0 oder gar noch anders???</p>
<p>bzw. macht das eigentlich einen unterschied ?</p>
<p>sry für die (eigentlich simple) frage aber bei 64bit weis ich nich sicher wie der die vorzeichen handhabt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1372198</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1372198</guid><dc:creator><![CDATA[Ceos]]></dc:creator><pubDate>Tue, 25 Sep 2007 09:12:16 GMT</pubDate></item><item><title><![CDATA[Reply to QueryPerformanceCounter on Tue, 25 Sep 2007 09:21:08 GMT]]></title><description><![CDATA[<p>Sagen wir mal einfach so, es handelt sich um einen &quot;dummen&quot; Zähler der mit einem bestimmtem Takt des CPUs hochzählt.<br />
Der Zähler hat einen 64-Bit unsigned Wert, ist also 8 Bytes groß.<br />
Erreicht dieser den Höchststand 0xFFFFFFFFFFFFFFFF, gehts weiter mit 0 (also 0x0000000000000000).</p>
<p>Somit: bei Auswertung (i.d.R. ist das meistens Differenz bilden, um eine verstrichene Zeit zu messen) also auf diesen Überlauf hin checken.</p>
<p>LARGE_INTEGER (also signed) ist nur eine Definition in einer Header-Datei, der tatsächliche Informationsgehalt ist ein unsigned Wert!</p>
<p>Hoffe, dies kann Dir weiterhelfen?<br />
Martin</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1372206</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1372206</guid><dc:creator><![CDATA[Mmacher]]></dc:creator><pubDate>Tue, 25 Sep 2007 09:21:08 GMT</pubDate></item><item><title><![CDATA[Reply to QueryPerformanceCounter on Tue, 25 Sep 2007 10:13:48 GMT]]></title><description><![CDATA[<p>Das ist was für einen Simplen Dreisatz...<br />
Rechne doch mal aus, wann ein LARGE_INTERGER überläuft, wenn er mit heutiger Prozessortaktung (also gehen wir mal von 100 GHz aus, dann haben wir die nächsten 3 Jahre auch schon abgedeckt) gezählt werden würde.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1372242</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1372242</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Tue, 25 Sep 2007 10:13:48 GMT</pubDate></item><item><title><![CDATA[Reply to QueryPerformanceCounter on Tue, 25 Sep 2007 10:14:35 GMT]]></title><description><![CDATA[<p>Mmacher schrieb:</p>
<blockquote>
<p>Somit: bei Auswertung (i.d.R. ist das meistens Differenz bilden, um eine verstrichene Zeit zu messen) also auf diesen Überlauf hin checken.</p>
</blockquote>
<p>Also nochmals: WANN läuft der Zähler über?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1372243</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1372243</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Tue, 25 Sep 2007 10:14:35 GMT</pubDate></item><item><title><![CDATA[Reply to QueryPerformanceCounter on Tue, 25 Sep 2007 10:44:36 GMT]]></title><description><![CDATA[<p>Jochen Kalmbach schrieb:</p>
<blockquote>
<p>Also nochmals: WANN läuft der Zähler über?</p>
</blockquote>
<p>willst du damit jetzt sagen, dass man die möglichkeit des überlaufs einfach ignorieren soll?</p>
<p>selbst wenn es nach heutiger technik 350 jahre dauern würde bis ein überlauf stattfindet, sollte man es trotzdem checken.</p>
<p>durch eine denkweise wie deine ist damals windows 95 nach 49,7 tagen abgestürzt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1372257</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1372257</guid><dc:creator><![CDATA[das checker]]></dc:creator><pubDate>Tue, 25 Sep 2007 10:44:36 GMT</pubDate></item><item><title><![CDATA[Reply to QueryPerformanceCounter on Tue, 25 Sep 2007 11:09:59 GMT]]></title><description><![CDATA[<blockquote>
<p>_&lt; hat wer nen artikel dazu ? ich habs immer gehört das da mal sowas war aber nie gelesen.</p>
</blockquote>
<p>jedenfalls danke <sup>_</sup> by the way überlauf iss erstmal unkritisch .... kritischer isses das ich beim dualcore auf ein und demgleichen CPU bleibe beim query um net 2 unterschiedliche takte zu zählen .... da fällt mir ein ich wollt ja den test mit der frequency und der taktbaren centrino CPU machen &gt;_&lt;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1372284</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1372284</guid><dc:creator><![CDATA[Ceos]]></dc:creator><pubDate>Tue, 25 Sep 2007 11:09:59 GMT</pubDate></item><item><title><![CDATA[Reply to QueryPerformanceCounter on Tue, 25 Sep 2007 11:20:09 GMT]]></title><description><![CDATA[<p><a href="http://www.virtualdub.org/blog/pivot/entry.php?id=106" rel="nofollow">http://www.virtualdub.org/blog/pivot/entry.php?id=106</a><br />
<a href="http://support.microsoft.com/kb/895980" rel="nofollow">http://support.microsoft.com/kb/895980</a></p>
<p>es gibt unter windows leider keine 100% verlässlichen timer mit vernünftiger auflösung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1372294</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1372294</guid><dc:creator><![CDATA[das checker]]></dc:creator><pubDate>Tue, 25 Sep 2007 11:20:09 GMT</pubDate></item><item><title><![CDATA[Reply to QueryPerformanceCounter on Tue, 25 Sep 2007 11:28:35 GMT]]></title><description><![CDATA[<p>mit dem artikel meinte ich eigentlich den andere comment</p>
<blockquote>
<p>durch eine denkweise wie deine ist damals windows 95 nach 49,7 tagen abgestürzt.</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/1372298</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1372298</guid><dc:creator><![CDATA[Ceos]]></dc:creator><pubDate>Tue, 25 Sep 2007 11:28:35 GMT</pubDate></item><item><title><![CDATA[Reply to QueryPerformanceCounter on Tue, 25 Sep 2007 11:31:40 GMT]]></title><description><![CDATA[<p>das checker schrieb:</p>
<blockquote>
<p>Jochen Kalmbach schrieb:</p>
<blockquote>
<p>Also nochmals: WANN läuft der Zähler über?</p>
</blockquote>
<p>willst du damit jetzt sagen, dass man die möglichkeit des überlaufs einfach ignorieren soll?</p>
<p>selbst wenn es nach heutiger technik 350 jahre dauern würde bis ein überlauf stattfindet, sollte man es trotzdem checken.</p>
<p>durch eine denkweise wie deine ist damals windows 95 nach 49,7 tagen abgestürzt.</p>
</blockquote>
<p>Es ist nicht richtig, dass ein Überlauf berücksichtigt werden muss. Wird eine korrekte Subtraktion zwischen dem Wert vor und nach dem Überlauf durchgeführt, dann kommt ein korrektes Ergebnis heraus.</p>
<p>Einziges problem. Sollte zwischen den Aufrufen mehr als 3 Jahre vergehen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /> kann nicht mehr festgestelt werden wieviele Überlüfe es gab.</p>
<p>Als Anregung dazu, dass en Überlauf nichts macht empfehle ich Dir die Doku zu GetTickCount. Dort wird beschrieben wie gerechnet werden muss.<br />
Verwendet man immer Subtraktionen fragt den GetTickCount häufiger als alle 49,7 Tage ab, dann ist das Ergebnis selbst bei einem Überlauf definiert und korrekt.</p>
<blockquote>
<p>When using GetTickCount, subtraction is safe but comparisons such as if (GetTickCount() &gt; MyTickCount) are not. You can use the GetTickCount function to time the duration of an activity as shown in the example below, but using GetTickCount for any other operation will cause issues.</p>
<p>Copy Code<br />
dwOldTime = GetTickCount();<br />
DoSomething();<br />
dwTimeElapsed = GetTickCount() – dwOldTime;</p>
</blockquote>
<p>Oder anderes Beispiel aus der MSDN:</p>
<blockquote>
<p>The following example demonstrates how to use a this function to wait for a time interval to pass. Due to the nature of unsigned arithmetic, this code works correctly if the return value wraps one time. If the difference between the two calls to GetTickCount is more than 49.7 days, the return value could wrap more than one time and this code will not work; use the system time instead. Note that TIMELIMIT is defined as the time interval of interest to the application, in milliseconds.</p>
<p>DWORD dwStart = GetTickCount();</p>
<p>// Stop if this has taken too long<br />
if( GetTickCount() - dwStart &gt;= TIMELIMIT )<br />
Cancel();</p>
</blockquote>
<p>Gleiches gilt für QueryPerformanceCounter!</p>
<p>Der Absturz von Windows98 wurde dadurch verursacht, dass einige Windows 98 Leute sich nicht an die eigene Doku gehalten haben... aber das kommt öfters auch woanders vor <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1372302</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1372302</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Tue, 25 Sep 2007 11:31:40 GMT</pubDate></item><item><title><![CDATA[Reply to QueryPerformanceCounter on Tue, 25 Sep 2007 11:40:45 GMT]]></title><description><![CDATA[<p>Martin Richter schrieb:</p>
<blockquote>
<p>Es ist nicht richtig, dass ein Überlauf berücksichtigt werden muss.</p>
</blockquote>
<p>du hast recht, nach kurzem drüber nachdenken kommt man auch drauf. ob jochen das so im hinterkopf hatte als er nach dem zeitpunkt des überlaufs fragte, ist eine andere frage.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1372313</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1372313</guid><dc:creator><![CDATA[das checker]]></dc:creator><pubDate>Tue, 25 Sep 2007 11:40:45 GMT</pubDate></item><item><title><![CDATA[Reply to QueryPerformanceCounter on Tue, 25 Sep 2007 16:26:48 GMT]]></title><description><![CDATA[<p>mit QueryPerformanceCounter() gibts bei multicore keine probleme (die gibts nur wenn z.b. rdtsc im spiel ist), weil der performance counter _nicht_ in der cpu ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1372520</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1372520</guid><dc:creator><![CDATA[dot]]></dc:creator><pubDate>Tue, 25 Sep 2007 16:26:48 GMT</pubDate></item><item><title><![CDATA[Reply to QueryPerformanceCounter on Wed, 26 Sep 2007 10:18:03 GMT]]></title><description><![CDATA[<p>... habe ich nun festgestellt, das der performance counter murks iss .... der driftet mir zu sehr zum echten tickcount ... selbst wenn ich jede hundertstel zehntel millisekunde ausrechne (um übertragsfehler zu vermeiden weil frequenz in count / SEKUNDE gerechnet werden ich aber * 1000 rechnen muss um auf ms zu kommen) driftet der zähler am tag kanpp was um die 5 sekunden vorwärts bei mir <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_down"
      title=":-1:"
      alt="👎"
    /><br />
ich hab mich entschieden mit timeGetTime zu arbeiten, nach zahlreichen tests scheint mir diese funtion am päzisesten und zuverläsigsten zu sein</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1372945</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1372945</guid><dc:creator><![CDATA[Ceos]]></dc:creator><pubDate>Wed, 26 Sep 2007 10:18:03 GMT</pubDate></item><item><title><![CDATA[Reply to QueryPerformanceCounter on Wed, 26 Sep 2007 10:56:33 GMT]]></title><description><![CDATA[<p><a href="http://www.gamedev.net/reference/programming/features/timing/" rel="nofollow">http://www.gamedev.net/reference/programming/features/timing/</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1372973</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1372973</guid><dc:creator><![CDATA[dot]]></dc:creator><pubDate>Wed, 26 Sep 2007 10:56:33 GMT</pubDate></item><item><title><![CDATA[Reply to QueryPerformanceCounter on Wed, 26 Sep 2007 11:24:42 GMT]]></title><description><![CDATA[<p>Ceos schrieb:</p>
<blockquote>
<p>... habe ich nun festgestellt, das der performance counter murks iss .... der driftet mir zu sehr zum echten tickcount</p>
</blockquote>
<p>qpc ist auch nicht dafür gedacht, über mehrere stunden absolut akkurate ergebnisse zu liefern. das augenmerk liegt eher auf hoher auflösung als auf präzision.<br />
wenn dir 1 ms auflösung reicht, ist timeGetTime sicher die bessere wahl.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1373008</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1373008</guid><dc:creator><![CDATA[das checker]]></dc:creator><pubDate>Wed, 26 Sep 2007 11:24:42 GMT</pubDate></item><item><title><![CDATA[Reply to QueryPerformanceCounter on Wed, 26 Sep 2007 11:47:23 GMT]]></title><description><![CDATA[<p>Ceos schrieb:</p>
<blockquote>
<p>ich hab mich entschieden mit timeGetTime zu arbeiten, nach zahlreichen tests scheint mir diese funtion am päzisesten und zuverläsigsten zu sein</p>
</blockquote>
<p>Das stimmt nicht. QueryPerformanceCounter() ist der präziseste Counter, den deine Hardware hergibt. Du machst einfach was falsch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1373036</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1373036</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 26 Sep 2007 11:47:23 GMT</pubDate></item><item><title><![CDATA[Reply to QueryPerformanceCounter on Wed, 26 Sep 2007 11:47:10 GMT]]></title><description><![CDATA[<p>das checker schrieb:</p>
<blockquote>
<p>qpc ist auch nicht dafür gedacht, über mehrere stunden absolut akkurate ergebnisse zu liefern.</p>
</blockquote>
<p>Sondern? Über mehrere Minuten nur? Was für ein Unsinn. Je genauer ein Counter ist (und QPC ist der genaueste) desto länger weicht er nicht auch nur um 1 Sekunde ab.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1373038</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1373038</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 26 Sep 2007 11:47:10 GMT</pubDate></item><item><title><![CDATA[Reply to QueryPerformanceCounter on Wed, 26 Sep 2007 11:59:21 GMT]]></title><description><![CDATA[<p>sry, aber das stimmt nicht. die jumps des QPC z.b. sind ein weithin bekanntes problem. nur weil er eine hohe auflösung hat, bedeutet das nicht, dass er auch &quot;genau&quot; ist (was immer das heißen mag). QPC ist, wie die meisten hochauflösenden timer, dazu gedacht, sehr kurze/schnelle vorgänge zu messen und nicht um die exakte uhrzeit zu berechnen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1373044</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1373044</guid><dc:creator><![CDATA[dot]]></dc:creator><pubDate>Wed, 26 Sep 2007 11:59:21 GMT</pubDate></item><item><title><![CDATA[Reply to QueryPerformanceCounter on Wed, 26 Sep 2007 11:57:35 GMT]]></title><description><![CDATA[<blockquote>
<p>Das stimmt nicht. QueryPerformanceCounter() ist der präziseste Counter, den deine Hardware hergibt. Du machst einfach was falsch.</p>
</blockquote>
<p>scherzkeks, zeig mir mal deine formel bitte um ms zu berechnen ... teste es einfach mal selber der drift iss definitiv da</p>
<blockquote>
<p>Sondern? Über mehrere Minuten nur? Was für ein Unsinn. Je genauer ein Counter ist (und QPC ist der genaueste) desto länger weicht er nicht auch nur um 1 Sekunde ab.</p>
</blockquote>
<p>gettickcount wird nur spärlich inkrementiert, dafür aber genau, QPC inkrementiert oft == hohe auflösung != genauigkeit<br />
ums genauzunehmen, wenn du mit der uhr dasitzt und alle sekunden auf einen zettel 1 strich setzt, iss das auf dauer synchroner mit der echten zeit als wenn du immerfort striche ziehst, über sagen wir 1stunde die anzahl nimmst und dann die frequenz ausrechnest und dann über die frequenz (wo auch hin und wieder drift entsteht oder beim ausrechnen kommastellen rausfallen) wieder zur zeit rechnest.<br />
da wird dir auf längerer zeit n gehöriger drift auffallen!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1373046</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1373046</guid><dc:creator><![CDATA[Ceos]]></dc:creator><pubDate>Wed, 26 Sep 2007 11:57:35 GMT</pubDate></item><item><title><![CDATA[Reply to QueryPerformanceCounter on Wed, 26 Sep 2007 12:01:44 GMT]]></title><description><![CDATA[<p>jop.</p>
<p>btw:</p>
<p><a href="http://support.microsoft.com/default.aspx?scid=KB;EN-US;Q274323&amp;" rel="nofollow">http://support.microsoft.com/default.aspx?scid=KB;EN-US;Q274323&amp;</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1373049</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1373049</guid><dc:creator><![CDATA[dot]]></dc:creator><pubDate>Wed, 26 Sep 2007 12:01:44 GMT</pubDate></item><item><title><![CDATA[Reply to QueryPerformanceCounter on Wed, 26 Sep 2007 12:06:01 GMT]]></title><description><![CDATA[<p>ja gut, den jump hab ich nicht berüchsichtigt ... das könnte eventuell auch die 3 sekunden betreffen die ich als drift über 24h gemessen habe, ABER ich hab definitiv einen drift, ich schätze es mal nur ab weil ichs nicht in eine datei permanent gespeichert habe, ich würde sagen etwa 1ms über 1-2 minuten driftet mir der performance count davon und das iss schon zu viel</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1373054</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1373054</guid><dc:creator><![CDATA[Ceos]]></dc:creator><pubDate>Wed, 26 Sep 2007 12:06:01 GMT</pubDate></item><item><title><![CDATA[Reply to QueryPerformanceCounter on Wed, 26 Sep 2007 12:10:10 GMT]]></title><description><![CDATA[<p>wie schon gesagt, der performance counter ist auch nicht für sowas gedacht. wenn du die hohe auflösung trozdem brauchst, dann musst du z.b. alle paar sekunden mit einem anderen timer (z.b. GetTickCount()) synchronisieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1373057</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1373057</guid><dc:creator><![CDATA[dot]]></dc:creator><pubDate>Wed, 26 Sep 2007 12:10:10 GMT</pubDate></item><item><title><![CDATA[Reply to QueryPerformanceCounter on Wed, 26 Sep 2007 12:11:34 GMT]]></title><description><![CDATA[<p>jop ... aber bisher bin ich mit dem timegettime zufrieden und werd dabei wohl auch bleiben und einfach all 24h synchronisieren</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1373058</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1373058</guid><dc:creator><![CDATA[Ceos]]></dc:creator><pubDate>Wed, 26 Sep 2007 12:11:34 GMT</pubDate></item><item><title><![CDATA[Reply to QueryPerformanceCounter on Wed, 26 Sep 2007 12:30:03 GMT]]></title><description><![CDATA[<p>Optimizer schrieb:</p>
<blockquote>
<p>Sondern? Über mehrere Minuten nur? Was für ein Unsinn.</p>
</blockquote>
<p>wenn du viele messungen akkumulierst und das ergebnis mit echtzeit vergleichst, wirst du eine mehr oder weniger große diskrepanz feststellen. qpc liefert für kurze zeitspannen genaue (aber nicht 100% akkurate!) ergebnisse. die sollte man nicht einfach aufsummieren, weil man damit die fehler mit aufsummiert.<br />
wenn man schon aufsummieren muss, sollte man eine entsprechende fehlerkompensation berücksichtigen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1373074</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1373074</guid><dc:creator><![CDATA[das checker]]></dc:creator><pubDate>Wed, 26 Sep 2007 12:30:03 GMT</pubDate></item><item><title><![CDATA[Reply to QueryPerformanceCounter on Wed, 26 Sep 2007 12:37:52 GMT]]></title><description><![CDATA[<p>atm iss die zeit zu eng als das ich mich speziell nochmal damit auseinandersetzen kann, aber ich werd mich nochmal damit befassen, einen korrekturwert für den QPC zu ermitteln indem cih einfach über 10 sek oder so mitzähle ... by the way ich hab sogar einen timer zur verfügung der in etwa so arbeitet, mit jeder vollen sekunde wird der QPC sozusagen synchronisiert (und das wirklich sehr genau) aber hinten raus rennt der QPC manchmal vor oder er bleibt zurück, kam immer auf den verwendeten PC drauf an .... das sah dann so aus das die sekunden umsprangen die QPC-berechneten millisekunden aber noch bei .997 oder so waren das ist sehr unschön! manchmal auch umgekehrt aus 5.999 wird 5.001 wird 6.005</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1373086</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1373086</guid><dc:creator><![CDATA[Ceos]]></dc:creator><pubDate>Wed, 26 Sep 2007 12:37:52 GMT</pubDate></item><item><title><![CDATA[Reply to QueryPerformanceCounter on Wed, 26 Sep 2007 12:41:24 GMT]]></title><description><![CDATA[<p>womit wird er denn synchronisiert? ich vermute mal, dass hier eher die synchronisationsquelle das problem ist und nicht qpc.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1373088</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1373088</guid><dc:creator><![CDATA[das checker]]></dc:creator><pubDate>Wed, 26 Sep 2007 12:41:24 GMT</pubDate></item><item><title><![CDATA[Reply to QueryPerformanceCounter on Wed, 26 Sep 2007 18:28:27 GMT]]></title><description><![CDATA[<p>das checker schrieb:</p>
<blockquote>
<p>Optimizer schrieb:</p>
<blockquote>
<p>Sondern? Über mehrere Minuten nur? Was für ein Unsinn.</p>
</blockquote>
<p>wenn du viele messungen akkumulierst und das ergebnis mit echtzeit vergleichst, wirst du eine mehr oder weniger große diskrepanz feststellen. qpc liefert für kurze zeitspannen genaue (aber nicht 100% akkurate!) ergebnisse. die sollte man nicht einfach aufsummieren, weil man damit die fehler mit aufsummiert.<br />
wenn man schon aufsummieren muss, sollte man eine entsprechende fehlerkompensation berücksichtigen.</p>
</blockquote>
<p>Da hat es einer erkannt. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /> Wenn man QPC falsch benutzt (zum Beispiel einzelne Abschnitte aufsummiert), kann natürlich über einen Tag schon 3 Sekunden abweichung entstehen. Oder wenn man auf den Query WARTET und dann erst wieder zum Zeit messen anfängt. Auch immer wieder sehe ich, dass Leute die Ticks in irgendwas umrechnen und diese Dinger aufsummieren. Das ist falsch und wer sowas macht, braucht sich nicht beschweren. Der Rest sind Fehler in der Hardware oder im BIOS.</p>
<p>Ceos schrieb:</p>
<blockquote>
<p>ums genauzunehmen, wenn du mit der uhr dasitzt und alle sekunden auf einen zettel 1 strich setzt, iss das auf dauer synchroner mit der echten zeit als wenn du immerfort striche ziehst, über sagen wir 1stunde die anzahl nimmst und dann die frequenz ausrechnest und dann über die frequenz (wo auch hin und wieder drift entsteht oder beim ausrechnen kommastellen rausfallen) wieder zur zeit rechnest.</p>
</blockquote>
<p>Wer macht denn auch sowas? Du musst immer fragen &quot;wieviele Striche sind vergangen seit ...&quot;. Und nicht aufsummieren. Das ist doch mal klar. Hat aber gar nichts mit QPC zu tun.</p>
<p>Und du darfst nicht durch das Striche aufzeichnen oder ausrechnen was verpassen. Wenn du logisch gesehen keinen Strich verpasst (wenn du zu langsam zeichnest musst du halt immer 3,87897234234 Striche zeichnen) ist alles in Ordnung und je mehr Striche in der Sekunde, desto genauer.</p>
<p>Das sieht man doch schon daran, wie die Zeitmessung im echten Leben funktioniert. Man sucht etwas, das möglichst schnell tickt. Ein Cs-Atom schwing irgendwie mit 9,192631770 GHz, das ist schon mal nicht schlecht. Weil die Genauigkeit der Atomuhr aber noch verbessert werden soll, plant man Frequenzkämme einzusetzen, die irgendwie Quantenoptisch mit ein paar Terrahertz schwingen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1373358</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1373358</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 26 Sep 2007 18:28:27 GMT</pubDate></item></channel></rss>