<?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[Performance Picking Selecting]]></title><description><![CDATA[<p>Hi, hab ein LegoModel geladen, welches ca 3000 Steine hat<br />
ohne DisplayListe und VertexBuffer Arrays bekomme ich eine halbwegs flüssige Darstellung hin.</p>
<p>Nun möchte ich die Steine auswählen<br />
laufe also die Liste durch, in denen die Steinen drin sind und setze ein Flag dass der Stein selectiert ist.</p>
<p>Die Liste wird erneut durchgelaufen, nun in der draw Methode un der Stein wird in einer anderne Farbe z.b. Rot gezeichnet.</p>
<p>Das selektieren geht schnell aber das reDraw dauert ewig also mit der Maus über das Modell gleiten 2 Sekunden warten dann wird der Stein farbig angezeigt</p>
<p>wie gehts so was schneller?<br />
kann doch nicht sein dass ich da immer 2 Sekunden warte?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/226068/performance-picking-selecting</link><generator>RSS for Node</generator><lastBuildDate>Tue, 29 Sep 2026 17:29:28 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/226068.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 29 Oct 2008 01:08:30 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Performance Picking Selecting on Wed, 29 Oct 2008 01:08:30 GMT]]></title><description><![CDATA[<p>Hi, hab ein LegoModel geladen, welches ca 3000 Steine hat<br />
ohne DisplayListe und VertexBuffer Arrays bekomme ich eine halbwegs flüssige Darstellung hin.</p>
<p>Nun möchte ich die Steine auswählen<br />
laufe also die Liste durch, in denen die Steinen drin sind und setze ein Flag dass der Stein selectiert ist.</p>
<p>Die Liste wird erneut durchgelaufen, nun in der draw Methode un der Stein wird in einer anderne Farbe z.b. Rot gezeichnet.</p>
<p>Das selektieren geht schnell aber das reDraw dauert ewig also mit der Maus über das Modell gleiten 2 Sekunden warten dann wird der Stein farbig angezeigt</p>
<p>wie gehts so was schneller?<br />
kann doch nicht sein dass ich da immer 2 Sekunden warte?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1606343</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1606343</guid><dc:creator><![CDATA[MatthiasA]]></dc:creator><pubDate>Wed, 29 Oct 2008 01:08:30 GMT</pubDate></item><item><title><![CDATA[Reply to Performance Picking Selecting on Wed, 29 Oct 2008 01:39:14 GMT]]></title><description><![CDATA[<p>Ohne Code ist das schwer zu sagen...Aber Picking braucht bei 3000 Steinen zu je (wieviele sinds denn?) Primitives sicher einige Zeit..</p>
<p>Aber wie gesagt: Ohne Code, ohne Information über die SW die du benutzt und ohne genaue Beschreibung ist das eher Raten</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1606345</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1606345</guid><dc:creator><![CDATA[Kuldren]]></dc:creator><pubDate>Wed, 29 Oct 2008 01:39:14 GMT</pubDate></item><item><title><![CDATA[Reply to Performance Picking Selecting on Wed, 29 Oct 2008 08:07:43 GMT]]></title><description><![CDATA[<p>ein paar stichworte, die weiterhelfen könnten, von allgemein zu speziell: &quot;teile und herrsche&quot;, spatial subdivision, octree.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1606385</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1606385</guid><dc:creator><![CDATA[powerblow]]></dc:creator><pubDate>Wed, 29 Oct 2008 08:07:43 GMT</pubDate></item><item><title><![CDATA[Reply to Performance Picking Selecting on Wed, 29 Oct 2008 08:43:22 GMT]]></title><description><![CDATA[<p>powerblow schrieb:</p>
<blockquote>
<p>ein paar stichworte, die weiterhelfen könnten, von allgemein zu speziell: &quot;teile und herrsche&quot;, spatial subdivision, octree.</p>
</blockquote>
<p>Absolutes muss für statischen Inhalt. Da kannst du das auf nichts reduzieren. <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1606407</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1606407</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Wed, 29 Oct 2008 08:43:22 GMT</pubDate></item><item><title><![CDATA[Reply to Performance Picking Selecting on Mon, 03 Nov 2008 19:31:09 GMT]]></title><description><![CDATA[<p>Also ich lade die Datfiles welche Kordinaten enthalten in dynamische arrays vom Typ std::vector<br />
das alles passiert in einer Klasse Brick<br />
Brick enthältalle Geometriedaten strukturiert<br />
und hat Methoden z.B. isClicked und draw</p>
<p>eine weitere Klasse Scene verwaltet die Bricks<br />
in einer einfach verketteten Liste vom Typ std::list<br />
Die Liste wird in der OpenGL Draw Methode mit einem Iterator durchgelaufen<br />
und zeigt jeweils auf einen Stein in der Liste und zeichnet diesen</p>
<p>sobald ich mit der Maus drüberfahre erkennt GLUT dies durch die passiveMotion funktion der Maus - diese ruft die Funktin picking auf welche mir einen wert liefert welcher stein getrffen wurde<br />
nun laufe ich die liste wieder durch lasse mir die IDs gebe der steine prüfe nach und zeige auf den Stein der ausgewählt wurde und setze ihn auf clicked!</p>
<p>in der draw Methde zeichne ich die geklickten anders</p>
<p>kann man da etwas performanter machen?<br />
bzw optimieren?</p>
<p>hab halt viele for schleifen im code</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1609625</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1609625</guid><dc:creator><![CDATA[MatthiasA]]></dc:creator><pubDate>Mon, 03 Nov 2008 19:31:09 GMT</pubDate></item><item><title><![CDATA[Reply to Performance Picking Selecting on Tue, 04 Nov 2008 07:56:51 GMT]]></title><description><![CDATA[<p>Verstehe ich das richtig, dass du nicht ständig renderst? - Also nur neu renderst, wenn es eine Änderung gegeben hat?</p>
<p>Zuersteinmal würde ich empfehlen das ganze auf Release zu stellen (falls du das noch nicht hast, dann fällt nämlich die ganze STL Balast weg).</p>
<p>Anderseits finde ich es komisch, dass du zuerst den Hittest machst und dann alles nochmal durchlaufen musst. Da kannst du dir ja gleich einen Zeiger auf das Objekt bekommen und dann über den Zeiger das Objekt verändern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1609795</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1609795</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Tue, 04 Nov 2008 07:56:51 GMT</pubDate></item><item><title><![CDATA[Reply to Performance Picking Selecting on Tue, 04 Nov 2008 08:20:45 GMT]]></title><description><![CDATA[<p>ja selbst mit stl-debug-ballast sollte es ein klacks sein 3000 steine durchzuiterieren<br />
selbst bei 3.000.000 Elementen sollte es keine 2sec dauern.</p>
<p>Auch das rendern sollte von 3000 Steinen sollte keine 2 sec dauern.</p>
<p>Wie MatthiasA auch schon sagt, ich kann mir nicht vorstellen, dass der hittest nur eine ID gibt, weil das ja hoch unpraktikabel wär, es sein denn die Engine bietet eine Möglichkeit diese ID sehr komfortabel in einen Pointer umzuwandeln.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1609806</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1609806</guid><dc:creator><![CDATA[vlad_tepesch]]></dc:creator><pubDate>Tue, 04 Nov 2008 08:20:45 GMT</pubDate></item><item><title><![CDATA[Reply to Performance Picking Selecting on Tue, 04 Nov 2008 08:27:57 GMT]]></title><description><![CDATA[<p>vlad_tepesch schrieb:</p>
<blockquote>
<p>ja selbst mit stl-debug-ballast sollte es ein klacks sein 3000 steine durchzuiterieren<br />
selbst bei 3.000.000 Elementen sollte es keine 2sec dauern.</p>
<p>Auch das rendern sollte von 3000 Steinen sollte keine 2 sec dauern.</p>
</blockquote>
<p>2 sec sind zu viel, wenn deine Applikation sonst mit &gt;1000 Frames/Sekunde läuft. <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 />
Im Debug Modus ist die STL bei mir normalerweise Bottleneck Nr 1. Da da halt sehr viel drüber läuft. Ist ja aber auch kein Problem.. Ich sage es nur, weil es schon recht viel ausmacht, wenn man da mal von Debug auf Release schaltet. Und man zuerst mal da schauen sollte, ob es das war.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1609811</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1609811</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Tue, 04 Nov 2008 08:27:57 GMT</pubDate></item><item><title><![CDATA[Reply to Performance Picking Selecting on Sun, 23 Nov 2008 23:57:14 GMT]]></title><description><![CDATA[<p>hab schon von Debug auf Release gestellt.</p>
<p>es sind 3000 Legosteine in einer &lt;list&gt; das sind 1,4 Millionen Polygone<br />
Mein Programm zeigt mir er auf meiner Ati X1400 256mb Mobility 3,5fps an<br />
die Zeit zwischen dem Picken ist 1,5 Sekunden<br />
es wird immer alles neu gerendert sobald die Maus bewegt wird</p>
<p>Leider kann ich nicht beim picken direkt auf das Objekt zeigen<br />
weil die ja in einer stl Liste sind<br />
wäre da eine Map besser?</p>
<p>sollte das schneller gehen?</p>
<p>Gruß Matthias</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1619689</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1619689</guid><dc:creator><![CDATA[MatthiasA]]></dc:creator><pubDate>Sun, 23 Nov 2008 23:57:14 GMT</pubDate></item><item><title><![CDATA[Reply to Performance Picking Selecting on Mon, 24 Nov 2008 00:01:15 GMT]]></title><description><![CDATA[<p>vlad_tepesch schrieb:</p>
<blockquote>
<p>ja selbst mit stl-debug-ballast sollte es ein klacks sein 3000 steine durchzuiterieren<br />
selbst bei 3.000.000 Elementen sollte es keine 2sec dauern.</p>
<p>Auch das rendern sollte von 3000 Steinen sollte keine 2 sec dauern.</p>
<p>Wie MatthiasA auch schon sagt, ich kann mir nicht vorstellen, dass der hittest nur eine ID gibt, weil das ja hoch unpraktikabel wär, es sein denn die Engine bietet eine Möglichkeit diese ID sehr komfortabel in einen Pointer umzuwandeln.</p>
</blockquote>
<p>3.000.000 steine zu je 466 Polygonen die alle beim Picking mit berechnet werden wollen...<br />
Ich denke dass das sicher ne Weile brauchen würde - vorallem wenn man nicht den schnellsten Rechner hat</p>
<p>EDIT:<br />
Wie sieht dein Picking aus?<br />
Strahl mit Polygon? oder eher strahl mit Box?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1619691</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1619691</guid><dc:creator><![CDATA[Kuldren]]></dc:creator><pubDate>Mon, 24 Nov 2008 00:01:15 GMT</pubDate></item></channel></rss>