<?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[Schnelles Fillrect ?]]></title><description><![CDATA[<p>Hi <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Habe herrausgefunden das das Fillrect aus der GDI+ ziemlich lahm ist. Lass ichs<br />
weg läuft mein Programm um einiges besser aber leider schmiert dann halt alles über<br />
den Bildschirm wenn ich ihn ned vorher lösche. Deshalb meine Frage, gibts eine<br />
andere Möglichkeit oder eine effizientere Fastfill Methode als Fillrect ?!<br />
Hätte ja gern Hardware Beschleunigung aber ich glaub das ist eine ungeheure Arbeit<br />
alles umzuschreiben (3000 Zeilen Code <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="😕"
    /> ), aber vielleicht kann man DirectDraw<br />
oder so nur zum füllen eines Rechtecks nehmen ?!</p>
<p>Freu mich auf eure Tips <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/98412/schnelles-fillrect</link><generator>RSS for Node</generator><lastBuildDate>Mon, 27 Apr 2026 23:18:25 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/98412.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 19 Jan 2005 13:16:29 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Schnelles Fillrect ? on Wed, 19 Jan 2005 13:16:29 GMT]]></title><description><![CDATA[<p>Hi <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Habe herrausgefunden das das Fillrect aus der GDI+ ziemlich lahm ist. Lass ichs<br />
weg läuft mein Programm um einiges besser aber leider schmiert dann halt alles über<br />
den Bildschirm wenn ich ihn ned vorher lösche. Deshalb meine Frage, gibts eine<br />
andere Möglichkeit oder eine effizientere Fastfill Methode als Fillrect ?!<br />
Hätte ja gern Hardware Beschleunigung aber ich glaub das ist eine ungeheure Arbeit<br />
alles umzuschreiben (3000 Zeilen Code <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="😕"
    /> ), aber vielleicht kann man DirectDraw<br />
oder so nur zum füllen eines Rechtecks nehmen ?!</p>
<p>Freu mich auf eure Tips <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/700250</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/700250</guid><dc:creator><![CDATA[paddy3k]]></dc:creator><pubDate>Wed, 19 Jan 2005 13:16:29 GMT</pubDate></item><item><title><![CDATA[Reply to Schnelles Fillrect ? on Wed, 19 Jan 2005 13:48:45 GMT]]></title><description><![CDATA[<p>1. GDI hat eigentlich hardwarebeschleunigung soweit ich weiß<br />
2. du mußt ja nicht alles umschreiben, sondern nur die kapselung des apis... du hast doch schön sauber gekapselt, oder? *evilGrinz*</p>
<p>naja, ansonsten würde ich dir empfehlen, falls es wirklich kritisch ist, entweder dir nen apiwrapper zu schreiben, den du dann mit anderen apis ausfüllen könntest (ich nutze da gerne oGL für <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>oder du überzeichnest einfach immer den ganzen screen neu und müßtest so nicht den hintergrund löschen.</p>
<p>alternativ kannst du dir ja auch nur die bereiche merken in denen etwas verändert wurde und nur das neu zeichnen.</p>
<p>oder ich verschiebe dich ins WinApi forum wo man dir vielleicht optimierungstips geben kann?</p>
<p>btw. ja an sich ist es möglich WinApi und DirectDraw zu mischen, jedenfalls konnte ich mal programme sehen die das gemacht haben, aber das GDI zeug hat dann warnsinnig darauf geflimmert irgendwie.</p>
<p>rapso-&gt;greets();</p>
]]></description><link>https://www.c-plusplus.net/forum/post/700288</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/700288</guid><dc:creator><![CDATA[rapso]]></dc:creator><pubDate>Wed, 19 Jan 2005 13:48:45 GMT</pubDate></item><item><title><![CDATA[Reply to Schnelles Fillrect ? on Wed, 19 Jan 2005 14:05:26 GMT]]></title><description><![CDATA[<p>Hi !</p>
<p>erstmal danke für deine Antwort, auch wenn ich nicht viel davon verstanden habe <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="😉"
    /><br />
GDI+ hat leider keine Hardware Beschleunigung. Soviel Arbeit will ich aber auch gar ned reinstecken, ist ja nur ein Puzzle, alles was ich bräuchte wär eine schnellere Fillrect() Funktion. Das mit dem Bildschirmflimmern ist normal, da verwende ich schon einen Double Buffer, damit sowas ned zustande kommt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Kannst mich ja verschieben wenn du magst, ich weiß das ich mit der Funktion Lockbits() zum Bleistift direkten Speicherzugriff auf mein Bitmap hab. Vielleicht<br />
lässt sich da was optimieren. Ich probier mal ein wenig rum !</p>
<p>Bin für weitere Tips dennoch sehr offen <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>Grüße<br />
paddy</p>
]]></description><link>https://www.c-plusplus.net/forum/post/700324</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/700324</guid><dc:creator><![CDATA[paddy3k]]></dc:creator><pubDate>Wed, 19 Jan 2005 14:05:26 GMT</pubDate></item><item><title><![CDATA[Reply to Schnelles Fillrect ? on Wed, 19 Jan 2005 15:40:24 GMT]]></title><description><![CDATA[<p>Dieser Thread wurde von Moderator/in <a href="http://www.c-plusplus.net/forum/profile.php?mode=viewprofile&amp;u=5577" rel="nofollow">rapso</a> aus dem Forum <a href="http://www.c-plusplus.net/forum/viewforum.php?f=7" rel="nofollow">Spiele-/Grafikprogrammierung</a> in das Forum <a href="http://www.c-plusplus.net/forum/viewforum.php?f=4" rel="nofollow">WinAPI</a> verschoben.</p>
<p>Im Zweifelsfall bitte auch folgende Hinweise beachten:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic.php?t=39405" rel="nofollow">C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?</a></p>
<p><em>Dieses Posting wurde automatisch erzeugt.</em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/700427</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/700427</guid><dc:creator><![CDATA[C++ Forumbot]]></dc:creator><pubDate>Wed, 19 Jan 2005 15:40:24 GMT</pubDate></item><item><title><![CDATA[Reply to Schnelles Fillrect ? on Wed, 19 Jan 2005 16:05:37 GMT]]></title><description><![CDATA[<p>Du kannst noch die Funktionen PatBlt und ExtTextOut ausprobieren. Die sollen schneller sein als FillRect habe ich in Newsgroups gelesen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/700457</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/700457</guid><dc:creator><![CDATA[newsgroup leser]]></dc:creator><pubDate>Wed, 19 Jan 2005 16:05:37 GMT</pubDate></item><item><title><![CDATA[Reply to Schnelles Fillrect ? on Wed, 19 Jan 2005 16:49:40 GMT]]></title><description><![CDATA[<p>Ansonsten könntest du auch mal testen einen 2. Backbuffer-DC zu erstellen (mit dem Hintergrund-Brush gefüllt), denn du dann einfach nur immer auf deinen bisher schon vorhandenen Backbuffer-DC blittest <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/700521</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/700521</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Wed, 19 Jan 2005 16:49:40 GMT</pubDate></item><item><title><![CDATA[Reply to Schnelles Fillrect ? on Wed, 19 Jan 2005 19:13:55 GMT]]></title><description><![CDATA[<p>Hab eure Vorschläge mal getestet. PatBlt bringt die Grafikausgabe zum flackern <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="😕"
    /><br />
Und der 2. Double Buffer ist leider auch nicht schneller.</p>
<p>Ich habe in den MSDN jetzt noch folgendes gefunden :</p>
<p>Ich arbeite ja mit Bitmap Objekten aus der GDI+, und da gibt es einen<br />
überladenen Konstruktor :</p>
<p><em><em>Bitmap(IDirectDrawSurface7</em> surface);</em>*</p>
<p><em>Creates a Bitmap object based on a DirectDraw surface. The Bitmap object maintains a reference to the DirectDraw surface until the Bitmap object is deleted or goes out of scope.</em></p>
<p>Kann man damit nicht was anstellen ?! In Zusammenhang mit DirectX7 &amp; DirectDraw.<br />
Aber da habe ich leider zu wenig Ahnung von <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>
]]></description><link>https://www.c-plusplus.net/forum/post/700665</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/700665</guid><dc:creator><![CDATA[paddy3k]]></dc:creator><pubDate>Wed, 19 Jan 2005 19:13:55 GMT</pubDate></item><item><title><![CDATA[Reply to Schnelles Fillrect ? on Wed, 19 Jan 2005 19:26:37 GMT]]></title><description><![CDATA[<p>Wie oft pro Sekunde zeichnest du denn neu, dass BitBlt zu langsam ist <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>
]]></description><link>https://www.c-plusplus.net/forum/post/700676</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/700676</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Wed, 19 Jan 2005 19:26:37 GMT</pubDate></item><item><title><![CDATA[Reply to Schnelles Fillrect ? on Wed, 19 Jan 2005 20:06:57 GMT]]></title><description><![CDATA[<p>PatBlt ging schon, es war schneller als Fillrect. Ich zeichne das Bild bei jeder Maus Bewegung neu (sofern gerade ein Puzzle Teil verschoben wird).</p>
<p>Nehme ich jetzt FillRect() um den Backbuffer vor jedem Zeichnen zu löschen geht das zwar, ist allerdings nicht sehr schnell.</p>
<p>Führe ich PatBlt auf den Bildschirm aus flackert alles beim Teile bewegen.</p>
<p>Ich habe es auch schon mit Lockbits() probiert, damit habe ich direkten Speicherzugriff auf das Bitmap, aber das ist auch nicht schneller als Fillrect (komischerweise ?!).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/700726</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/700726</guid><dc:creator><![CDATA[paddy3k]]></dc:creator><pubDate>Wed, 19 Jan 2005 20:06:57 GMT</pubDate></item><item><title><![CDATA[Reply to Schnelles Fillrect ? on Wed, 19 Jan 2005 20:46:19 GMT]]></title><description><![CDATA[<p>Ich würde das so machen, dass du in einem DC alles vorzeichnest, was gerade nicht bewegt wird. Dann blittest du einfach während des Verschiebens / Bewegens eines Teils diesen DC (der alles bis auf dein zu bewegendes Teil enthält) auf deinen Backbuffer-DC und zeichnest noch das aktuell zu verschiebende Teil hinein <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/700773</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/700773</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Wed, 19 Jan 2005 20:46:19 GMT</pubDate></item></channel></rss>