<?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[Wieviel Rechenzeit steht zu?]]></title><description><![CDATA[<p>Als Reaktion auf eine WM_COMMAND message soll ein Programm einen Schachzug berechnen.<br />
Das kann aber sehr viel länger dauern, als das Betriebssystem meiner Fensterprozedur zugesteht, immerhin muss ein Baum aufgebaut werden, bei dem an jedem Knoten im Schnitt bis zu 40 mögliche resultierende 'neue' Stellungen hängen, die auch bewertet werden sollen usw. usf.<br />
Was kann man machen, damit man 'ausnahmsweise' vom Betriebssystem genügend Rechentiefe zugestanden bekommt, um beispielsweise in eine Fixe Halbzugtiefe von 7 rechnen zu dürfen, ohne dass das Betriebssystem die Anwendung 'einfriert' oder gar killt, weil die Fensterprozedur nicht rechtzeitig zurückkehrt?</p>
<p>Danke für einen Tipp!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/184958/wieviel-rechenzeit-steht-zu</link><generator>RSS for Node</generator><lastBuildDate>Sun, 05 Jul 2026 22:41:42 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/184958.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 20 Jun 2007 15:39:20 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Wieviel Rechenzeit steht zu? on Wed, 20 Jun 2007 15:39:20 GMT]]></title><description><![CDATA[<p>Als Reaktion auf eine WM_COMMAND message soll ein Programm einen Schachzug berechnen.<br />
Das kann aber sehr viel länger dauern, als das Betriebssystem meiner Fensterprozedur zugesteht, immerhin muss ein Baum aufgebaut werden, bei dem an jedem Knoten im Schnitt bis zu 40 mögliche resultierende 'neue' Stellungen hängen, die auch bewertet werden sollen usw. usf.<br />
Was kann man machen, damit man 'ausnahmsweise' vom Betriebssystem genügend Rechentiefe zugestanden bekommt, um beispielsweise in eine Fixe Halbzugtiefe von 7 rechnen zu dürfen, ohne dass das Betriebssystem die Anwendung 'einfriert' oder gar killt, weil die Fensterprozedur nicht rechtzeitig zurückkehrt?</p>
<p>Danke für einen Tipp!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1310035</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1310035</guid><dc:creator><![CDATA[Rechenzeit]]></dc:creator><pubDate>Wed, 20 Jun 2007 15:39:20 GMT</pubDate></item><item><title><![CDATA[Reply to Wieviel Rechenzeit steht zu? on Wed, 20 Jun 2007 16:17:39 GMT]]></title><description><![CDATA[<p>Gar nicht und das ist auch gut so <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="😉"
    /> . Du solltest diese Berechnungen in einen externen Thread auslagern und den Benutzer über ein Statusbalken auf dem Laufenden halten (evtentuell mit Abbruch-Möglichkeit). Bei dem was Du vor hast, würden alle anderen Programme (und damit auch Fenster) stocken..., das wär sehr schlecht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f4a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--light_bulb"
      title=":bulb:"
      alt="💡"
    /> .</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1310064</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1310064</guid><dc:creator><![CDATA[CodeFinder]]></dc:creator><pubDate>Wed, 20 Jun 2007 16:17:39 GMT</pubDate></item><item><title><![CDATA[Reply to Wieviel Rechenzeit steht zu? on Thu, 21 Jun 2007 11:55:10 GMT]]></title><description><![CDATA[<p>Wäre eine Nachrichtenschleife mit PeekMessage eine Möglichkeit? Ähnlich wie eine Render-Nachrichtenschleife in Direct3D-Anwendungen?<br />
Idee sähe so aus, dass ich immer nur beispielsweise einen einzigen Knoten mit seinen Unterbäumen bearbeite, bevor ich PeekMessage erneut eine Chance gebe, eine Nachricht zu pflücken, die an die Fensterprozedur geschickt wird.<br />
In einer/mehreren globalen Variable/n führe ich dann Buch darüber, wie viele Knoten noch abzuarbeiten sind, und wenn das erledigt ist, poste ich mir selbst eine WM_USER Nachricht auf den Nachrichtenstapel (zum Zeichnen der neuen Situation auf dem Brett).<br />
Stellt sich nur die Frage, wie viele memcopy() Operationen bzw. rekursive Aufrufe zwischen jeweils zwei PeekMessage() Aufrufen meiner Anwendung schätzungsweise erfolgen können, ohne dass die MessageQueue überquillt.</p>
<p>Gibt es eine Funktion, die einfach nur 'die oberste' Message aus dem MessageQueue meiner WinMain () - soferne vorhanden - herauspflückt und GLEICHZEITIG den GESAMTEN MessageQueue 'entleert' (und nicht nur die 'oberste' Nachricht mit PM_REMOVE entfernt)?</p>
<p>Danke für Tipps!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1310604</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1310604</guid><dc:creator><![CDATA[Rechenzeit]]></dc:creator><pubDate>Thu, 21 Jun 2007 11:55:10 GMT</pubDate></item><item><title><![CDATA[Reply to Wieviel Rechenzeit steht zu? on Thu, 21 Jun 2007 12:24:49 GMT]]></title><description><![CDATA[<p>Traust du dich nicht an Threads ran?<br />
An der MessageQueue täte ich nicht rumfrickeln.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1310636</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1310636</guid><dc:creator><![CDATA[geeky]]></dc:creator><pubDate>Thu, 21 Jun 2007 12:24:49 GMT</pubDate></item></channel></rss>