<?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[Updatefehler im Millisekundenbereich]]></title><description><![CDATA[<p>Hi Leute,</p>
<p>ich schreibe gerade an 'nem Dialog, der zwei Zeichenketten kurz nacheinander anzeigt. Zwischen den beiden Zeichenketten wird ein Bitmap für eine Zeitspanne &lt;=6ms eingeblendet. Hierfür verwende ich folgende Funktionen.</p>
<pre><code class="language-cpp">ctr_bmp.ShowWindow(TRUE);
ctr_bmp.SendMessage(WM_PAINT, 0, 0);
ctr_bmp.ShowWindow(FALSE);
ctr_bmp.SendMessage(WM_PAINT, 0, 0);
</code></pre>
<p>Doch leider läuft das ganze sehr unregelmäßig. In einigen Durchgängen wird das Bitmap zu lange angezeigt, in anderen hat es den Anschein als würde es gar nicht am Bildschirm angezeigt werden. Als Timer setze ich die Funktion QueryPerformanceFrequency() ein, die eigendlich sehr genau ist. Bei der Funktion SendMessage dürfte es eigendlich auch keine Probleme geben, da diese die WindowProc direkt aufruft und erst &quot;zurück kehrt&quot; nach dem die Message bearbeitet wurde. Oder liege ich da verkehrt? Die Prio des Prozesses auf Echtzeit zu setzen lieferte auch kein Akzeptables Ergebnis. Gibt es sonst noch eine Möglichkeit ein annähernd 99%tiges Update des Screens zu erreichen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/5920/updatefehler-im-millisekundenbereich</link><generator>RSS for Node</generator><lastBuildDate>Mon, 13 Apr 2026 08:58:43 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/5920.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 26 May 2003 17:14:00 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Updatefehler im Millisekundenbereich on Mon, 26 May 2003 17:14:00 GMT]]></title><description><![CDATA[<p>Hi Leute,</p>
<p>ich schreibe gerade an 'nem Dialog, der zwei Zeichenketten kurz nacheinander anzeigt. Zwischen den beiden Zeichenketten wird ein Bitmap für eine Zeitspanne &lt;=6ms eingeblendet. Hierfür verwende ich folgende Funktionen.</p>
<pre><code class="language-cpp">ctr_bmp.ShowWindow(TRUE);
ctr_bmp.SendMessage(WM_PAINT, 0, 0);
ctr_bmp.ShowWindow(FALSE);
ctr_bmp.SendMessage(WM_PAINT, 0, 0);
</code></pre>
<p>Doch leider läuft das ganze sehr unregelmäßig. In einigen Durchgängen wird das Bitmap zu lange angezeigt, in anderen hat es den Anschein als würde es gar nicht am Bildschirm angezeigt werden. Als Timer setze ich die Funktion QueryPerformanceFrequency() ein, die eigendlich sehr genau ist. Bei der Funktion SendMessage dürfte es eigendlich auch keine Probleme geben, da diese die WindowProc direkt aufruft und erst &quot;zurück kehrt&quot; nach dem die Message bearbeitet wurde. Oder liege ich da verkehrt? Die Prio des Prozesses auf Echtzeit zu setzen lieferte auch kein Akzeptables Ergebnis. Gibt es sonst noch eine Möglichkeit ein annähernd 99%tiges Update des Screens zu erreichen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/28782</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/28782</guid><dc:creator><![CDATA[maclittle]]></dc:creator><pubDate>Mon, 26 May 2003 17:14:00 GMT</pubDate></item><item><title><![CDATA[Reply to Updatefehler im Millisekundenbereich on Mon, 26 May 2003 17:52:00 GMT]]></title><description><![CDATA[<p>Siehe 'Preemptives Multitasking'</p>
]]></description><link>https://www.c-plusplus.net/forum/post/28783</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/28783</guid><dc:creator><![CDATA[RenéG]]></dc:creator><pubDate>Mon, 26 May 2003 17:52:00 GMT</pubDate></item><item><title><![CDATA[Reply to Updatefehler im Millisekundenbereich on Tue, 27 May 2003 07:53:00 GMT]]></title><description><![CDATA[<p>Nachtrag:<br />
Hab ganz vergessen, zu erwähnen, dass mit einem Bildschirmupdate von &lt;= 6ms Deine Bildwiederholfrequenz fast 170Hz betragen müsste.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/28784</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/28784</guid><dc:creator><![CDATA[RenéG]]></dc:creator><pubDate>Tue, 27 May 2003 07:53:00 GMT</pubDate></item><item><title><![CDATA[Reply to Updatefehler im Millisekundenbereich on Tue, 27 May 2003 17:53:00 GMT]]></title><description><![CDATA[<p>Erst mal fettes Mercy für die Hilfe.<br />
Ich habe die Parameter (Einblenddauer der Strings)aus Vorgaben eines anderen psychologischen Versuchs übernommen. Hierbei geht es um das Einblenden von sogenannten Primes in einer Zeitspanne, die der Probant nur durch das Unterbewußtsein wahrnimmt. Die Zeit liegt bei 33ms. Mit reinen Strings funktioniert das einwandfrei. Doch bei Bitmaps sind die 33 ms zu lang und es ist klar erkennbar. Daher habe ich die Zeit runtersetzen müssen. Am Anfang dachte ich es wäre nur ein Problem der MessageQueue von Windows (Updaten des Bildschirms), an die Bildwiederholfrequenz habe ich noch gar nicht gedacht. Momentan läuft das Tool mit einer Rate von ca. 8% an nicht eingeblendeten Bitmaps und beim Überdenken des ganzen glaube ich, dass dies das Optimum ist was man rausholen kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/28785</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/28785</guid><dc:creator><![CDATA[maclittle]]></dc:creator><pubDate>Tue, 27 May 2003 17:53:00 GMT</pubDate></item></channel></rss>