<?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[MFC-GUI in einen eigenen Thread packen?]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe hier eine Applikation programmiert, die einige Aufgaben erledigen soll. Leider macht mir das Zeichnen der GUI Probleme. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Da ich Audiodaten ausgebe und meine GUI permanent eine Laufvariable aktualisiert darstellen soll, bricht die Audioausgabe manchmal beim Klicken auf die GUI ab...</p>
<p>Wie kann ich denn die Standard MFC-GUI in einen eigenen Thread packen, sodass das Neuzeichnen gesondert abgehandelt wird? Gibt's da ein Tutorial?</p>
<p>Vielen Dank im voraus</p>
<p>Gruß<br />
kk3003</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/165123/mfc-gui-in-einen-eigenen-thread-packen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 31 Jul 2026 05:21:39 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/165123.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 15 Nov 2006 16:54:13 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to MFC-GUI in einen eigenen Thread packen? on Wed, 15 Nov 2006 16:54:13 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe hier eine Applikation programmiert, die einige Aufgaben erledigen soll. Leider macht mir das Zeichnen der GUI Probleme. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Da ich Audiodaten ausgebe und meine GUI permanent eine Laufvariable aktualisiert darstellen soll, bricht die Audioausgabe manchmal beim Klicken auf die GUI ab...</p>
<p>Wie kann ich denn die Standard MFC-GUI in einen eigenen Thread packen, sodass das Neuzeichnen gesondert abgehandelt wird? Gibt's da ein Tutorial?</p>
<p>Vielen Dank im voraus</p>
<p>Gruß<br />
kk3003</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1175386</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1175386</guid><dc:creator><![CDATA[kk3003]]></dc:creator><pubDate>Wed, 15 Nov 2006 16:54:13 GMT</pubDate></item><item><title><![CDATA[Reply to MFC-GUI in einen eigenen Thread packen? on Wed, 15 Nov 2006 17:21:37 GMT]]></title><description><![CDATA[<p>mach die audioausgabe in einen extra thread. das dürfte einfacher sein...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1175402</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1175402</guid><dc:creator><![CDATA[net 0]]></dc:creator><pubDate>Wed, 15 Nov 2006 17:21:37 GMT</pubDate></item><item><title><![CDATA[Reply to MFC-GUI in einen eigenen Thread packen? on Wed, 15 Nov 2006 17:23:32 GMT]]></title><description><![CDATA[<p>das hatte ich auch schon überlegt.....</p>
<p>da die Daten aber vom Netzwerk-Socket kommen, bin ich da irgendwie nicht weiter gekommen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /> Gibt's evtl. hierfür ein Tutorial?</p>
<p>*danke*</p>
<p>Gruß<br />
kk3003</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1175403</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1175403</guid><dc:creator><![CDATA[kk3003]]></dc:creator><pubDate>Wed, 15 Nov 2006 17:23:32 GMT</pubDate></item><item><title><![CDATA[Reply to MFC-GUI in einen eigenen Thread packen? on Wed, 15 Nov 2006 18:24:10 GMT]]></title><description><![CDATA[<p>/* Doppelpost-&gt;BrowserSpinnte() */ <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=":/"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1175404</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1175404</guid><dc:creator><![CDATA[kk3003]]></dc:creator><pubDate>Wed, 15 Nov 2006 18:24:10 GMT</pubDate></item><item><title><![CDATA[Reply to MFC-GUI in einen eigenen Thread packen? on Wed, 15 Nov 2006 18:24:00 GMT]]></title><description><![CDATA[<p>/* Doppelpost-&gt;BrowserSpinnte() */ <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=":/"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1175405</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1175405</guid><dc:creator><![CDATA[kk3003]]></dc:creator><pubDate>Wed, 15 Nov 2006 18:24:00 GMT</pubDate></item><item><title><![CDATA[Reply to MFC-GUI in einen eigenen Thread packen? on Wed, 15 Nov 2006 23:48:56 GMT]]></title><description><![CDATA[<p>Gerade mit Sockets hast du kein Problem, die sind unter Windows von hausaus threadsafe. Also Thread machen, der macht dann die &quot;lese-und-spiele&quot; Schleife, ferdich.<br />
Weiss nicht ganz wo das Problem ist... sag mal näheres wenn du nicht klarkommst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1175597</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1175597</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Wed, 15 Nov 2006 23:48:56 GMT</pubDate></item><item><title><![CDATA[Reply to MFC-GUI in einen eigenen Thread packen? on Thu, 16 Nov 2006 10:01:48 GMT]]></title><description><![CDATA[<p>mein performance-flaschenhals steckt eher darin, dass ich alle empfangenen Pakete via memcpy in den PlaybackBuffer kopiere. Man sollte hier besser mit Zeigern arbeiten, leider bin ich damit noch nicht so firm. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Hier etwas Pseudocode:</p>
<pre><code class="language-cpp">#define PACKET_PAYLOAD 1024
#define PACKET_PAYLOAD_MULTIPLIER 10

// DECLARATION
char receivedPacket[PACKET_PAYLOAD];
char waveBuffer4Playback[PACKET_PAYLOAD*PACKET_PAYLOAD_MULTIPLIER];
int  packetCounter;

[....]

void OnInitDialog()
{
    packetCounter = 0;
}

// PSEUDOCODE
void MeineAppDlg::OnReceivePacket()
{
    // fetch packet content
    mySocket.Receive( receivedPacket, sizeof(receivedPacket) );

    // increment packetCounter
    packetCounter++;

    // send to buffer preparation
    MeineAppDlg::PrepareBuffer4Playback();
}

void MeineAppDlg::PrepareBuffer4Playback()
{
    // push receivedPacket into PlaybackBuffer
    memcpy( waveBuffer4Playback+(packetCounter*PACKET_PAYLOAD), receivedPacket);

    // Wenn Buffer voll, d.h. 10 Pakete empfangen -&gt; an Soundkarte übergeben..
    [...]

}
</code></pre>
<p>Danke für jede Hilfe</p>
<p>Gruß<br />
kk3003</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1175757</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1175757</guid><dc:creator><![CDATA[kk3003]]></dc:creator><pubDate>Thu, 16 Nov 2006 10:01:48 GMT</pubDate></item><item><title><![CDATA[Reply to MFC-GUI in einen eigenen Thread packen? on Fri, 17 Nov 2006 01:20:11 GMT]]></title><description><![CDATA[<blockquote>
<p>mein performance-flaschenhals steckt eher darin, dass ich alle empfangenen Pakete via memcpy in den PlaybackBuffer kopiere</p>
</blockquote>
<p>Das glaube ich nicht, da ein Audio-Stream mit CD-Qualität gerademal ~170kB/Sekunde an Daten hat/braucht. Selbst wenn du 8-Kanal mit 24 Bit und 96kHz spielst sind es gerademal 2,25MB/Sekunde. Die Speicherbandbreite von einem modernen PC beträgt &gt; 1GB/Sekunde, also WEIT mehr als dafür notwendig.<br />
Ergo: dein Problem liegt woanders.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1176234</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1176234</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Fri, 17 Nov 2006 01:20:11 GMT</pubDate></item><item><title><![CDATA[Reply to MFC-GUI in einen eigenen Thread packen? on Fri, 17 Nov 2006 16:12:56 GMT]]></title><description><![CDATA[<p>ich dachte eher, da die Ausgabe der Laufvariable (120xReDraw/s) und das Umkopieren der Daten (memcpy) in Thread, in der auch die GUI läuft meine Audioaussetzer verursacht?!</p>
<p>Gruß<br />
kk3003</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1176399</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1176399</guid><dc:creator><![CDATA[kk3003]]></dc:creator><pubDate>Fri, 17 Nov 2006 16:12:56 GMT</pubDate></item></channel></rss>