<?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[Performanceprobleme]]></title><description><![CDATA[<p>Hallo,</p>
<p>folgender Codeblock wird in einem OpenGL Programm benutzt:</p>
<pre><code class="language-cpp">glPushMatrix();
		for(int _i=0; _i &lt;= myIcons.getIconVector().at(i)-&gt;getName().length(); _i++)
		{
			glRasterPos3f (
				myIcons.getIconVector().at(i)-&gt;getX(),
				myIcons.getIconVector().at(i)-&gt;getY(),
				myIcons.getIconVector().at(i)-&gt;getZ());

		}
glPopMatrix();
</code></pre>
<p>getIconVector():</p>
<pre><code class="language-cpp">vector&lt;IconDrawer*&gt; IconGetter::getIconVector()
{
	return iconVector;
}
</code></pre>
<p>Lasse ich den Block so stehen, wird das Programm extrem langsam.<br />
Ändere ich den Block zu:</p>
<pre><code>...
...
glRasterPos3f (3,3,3);
...
...
</code></pre>
<p>Ist es wieder &quot;normal&quot; schnell. Also scheint es an den</p>
<pre><code class="language-cpp">myIcons.getIconVector().at(i)-&gt;getX()
</code></pre>
<p>zu liegen. Aber warum? Ist da an der Methode was nicht in Ordnung?</p>
<p>gruß<br />
Alex</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/216029/performanceprobleme</link><generator>RSS for Node</generator><lastBuildDate>Sun, 11 Oct 2026 19:22:45 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/216029.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 18 Jun 2008 11:30:48 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Performanceprobleme on Wed, 18 Jun 2008 11:30:48 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>folgender Codeblock wird in einem OpenGL Programm benutzt:</p>
<pre><code class="language-cpp">glPushMatrix();
		for(int _i=0; _i &lt;= myIcons.getIconVector().at(i)-&gt;getName().length(); _i++)
		{
			glRasterPos3f (
				myIcons.getIconVector().at(i)-&gt;getX(),
				myIcons.getIconVector().at(i)-&gt;getY(),
				myIcons.getIconVector().at(i)-&gt;getZ());

		}
glPopMatrix();
</code></pre>
<p>getIconVector():</p>
<pre><code class="language-cpp">vector&lt;IconDrawer*&gt; IconGetter::getIconVector()
{
	return iconVector;
}
</code></pre>
<p>Lasse ich den Block so stehen, wird das Programm extrem langsam.<br />
Ändere ich den Block zu:</p>
<pre><code>...
...
glRasterPos3f (3,3,3);
...
...
</code></pre>
<p>Ist es wieder &quot;normal&quot; schnell. Also scheint es an den</p>
<pre><code class="language-cpp">myIcons.getIconVector().at(i)-&gt;getX()
</code></pre>
<p>zu liegen. Aber warum? Ist da an der Methode was nicht in Ordnung?</p>
<p>gruß<br />
Alex</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1531464</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1531464</guid><dc:creator><![CDATA[filth]]></dc:creator><pubDate>Wed, 18 Jun 2008 11:30:48 GMT</pubDate></item><item><title><![CDATA[Reply to Performanceprobleme on Wed, 18 Jun 2008 11:35:02 GMT]]></title><description><![CDATA[<p>Wenn getIconVector einen std::vector zurückliefert, dann ist die at methode langsamer als der zugriff mit []. 3*getIconVector().at(i) machst es auch nicht schneller. Debugmodus ausschalten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1531469</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1531469</guid><dc:creator><![CDATA[jo joe mo joe]]></dc:creator><pubDate>Wed, 18 Jun 2008 11:35:02 GMT</pubDate></item><item><title><![CDATA[Reply to Performanceprobleme on Wed, 18 Jun 2008 11:35:50 GMT]]></title><description><![CDATA[<p>und warum hast du einmal _i und einmal i in der schleife?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1531471</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1531471</guid><dc:creator><![CDATA[jo joe mo joe]]></dc:creator><pubDate>Wed, 18 Jun 2008 11:35:50 GMT</pubDate></item><item><title><![CDATA[Reply to Performanceprobleme on Wed, 18 Jun 2008 11:41:29 GMT]]></title><description><![CDATA[<p>i kommt aus einer anderen schleife weiter oben.</p>
<p>Ohne Debugmodus wird es auch nicht schneller...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1531477</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1531477</guid><dc:creator><![CDATA[filth]]></dc:creator><pubDate>Wed, 18 Jun 2008 11:41:29 GMT</pubDate></item><item><title><![CDATA[Reply to Performanceprobleme on Wed, 18 Jun 2008 11:45:20 GMT]]></title><description><![CDATA[<p>Wo ist der Sinn der Schleife? So wie ich das sehe, ist</p>
<pre><code class="language-cpp">glPushMatrix();
    glRasterPos3f (
        myIcons.getIconVector().at(i)-&gt;getX(),  //benutzt i aus der aeusseren schleife
        myIcons.getIconVector().at(i)-&gt;getY(),
        myIcons.getIconVector().at(i)-&gt;getZ());
glPopMatrix();
</code></pre>
<p>Äquivalent zu Deinem Code.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1531482</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1531482</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Wed, 18 Jun 2008 11:45:20 GMT</pubDate></item><item><title><![CDATA[Reply to Performanceprobleme on Wed, 18 Jun 2008 11:47:11 GMT]]></title><description><![CDATA[<p>Du konvertierst da aber nicht float zu int, oder? - Das ist nämlich extreem langsam.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1531483</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1531483</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Wed, 18 Jun 2008 11:47:11 GMT</pubDate></item><item><title><![CDATA[Reply to Performanceprobleme on Wed, 18 Jun 2008 11:52:07 GMT]]></title><description><![CDATA[<p>Wow stimmt, keine Ahnung was ich da gebaut hab.</p>
<p>Die innere Schleife fungierte als Bremse...danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1531491</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1531491</guid><dc:creator><![CDATA[filth]]></dc:creator><pubDate>Wed, 18 Jun 2008 11:52:07 GMT</pubDate></item><item><title><![CDATA[Reply to Performanceprobleme on Wed, 18 Jun 2008 11:55:32 GMT]]></title><description><![CDATA[<p>filth schrieb:</p>
<blockquote>
<p>Wow stimmt, keine Ahnung was ich da gebaut hab.</p>
</blockquote>
<p>Na, ne Bremse :p</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1531496</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1531496</guid><dc:creator><![CDATA[mmmmmmmmmmmmmmmmmmmmmmmmm]]></dc:creator><pubDate>Wed, 18 Jun 2008 11:55:32 GMT</pubDate></item><item><title><![CDATA[Reply to Performanceprobleme on Wed, 18 Jun 2008 11:57:57 GMT]]></title><description><![CDATA[<p>mmmmmmmmmmmmmmmmmmmmmmmmm schrieb:</p>
<blockquote>
<p>filth schrieb:</p>
<blockquote>
<p>Wow stimmt, keine Ahnung was ich da gebaut hab.</p>
</blockquote>
<p>Na, ne Bremse :p</p>
</blockquote>
<p>Immerhin funktioniert die gut <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/1531497</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1531497</guid><dc:creator><![CDATA[filth]]></dc:creator><pubDate>Wed, 18 Jun 2008 11:57:57 GMT</pubDate></item><item><title><![CDATA[Reply to Performanceprobleme on Wed, 18 Jun 2008 12:15:08 GMT]]></title><description><![CDATA[<p>Na, ne Bremse :p[/quote]</p>
<p>Immerhin funktioniert die gut ;)[/quote]</p>
<p>Naja, Wenn du irgendwann ein Haus bauen lässt, wundere dich nicht wenn der Bauherr am schluß sagt: Zugegeben, es ist ein übergroßer Salzstreuer, aber dafür funktioniert er gut.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1531517</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1531517</guid><dc:creator><![CDATA[asc@ausgeloggt]]></dc:creator><pubDate>Wed, 18 Jun 2008 12:15:08 GMT</pubDate></item><item><title><![CDATA[Reply to Performanceprobleme on Wed, 18 Jun 2008 12:22:59 GMT]]></title><description><![CDATA[<p>erm, dumme Frage ... was natürlich auch schön bremsen könnte wäre:</p>
<pre><code class="language-cpp">vector&lt;IconDrawer*&gt; IconGetter::getIconVector() 
{ 
    return iconVector; 
}
</code></pre>
<p>Da da jeweils eine Kopie deines vectors zurückgegeben wird und aus diesem Grund dieser vector bei den Aufrufen ( jetzt inklusive der Schleife ) x-mal kopiert wird, ich würde ne Referenz auf den vector zurückgeben und diesen außerdem als lokale Kopie einmalig halten (obwohl, wenn man den als Referenz aufnimmt, würde er ja gar nicht kopiert, ach egal) und dann diesen vector durchlaufen, die Aufrufe immer wieder könnten bei häufiger Verwendung auch einen Flaschenhals ergeben</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1531526</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1531526</guid><dc:creator><![CDATA[Vorden]]></dc:creator><pubDate>Wed, 18 Jun 2008 12:22:59 GMT</pubDate></item><item><title><![CDATA[Reply to Performanceprobleme on Wed, 18 Jun 2008 12:28:33 GMT]]></title><description><![CDATA[<p>Wie kann ich denn eine Referenz auf den Vektor zurückgeben? (Sorry c++ Anfänger)</p>
<p>Gruß<br />
Alex</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1531533</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1531533</guid><dc:creator><![CDATA[filth]]></dc:creator><pubDate>Wed, 18 Jun 2008 12:28:33 GMT</pubDate></item><item><title><![CDATA[Reply to Performanceprobleme on Wed, 18 Jun 2008 12:44:25 GMT]]></title><description><![CDATA[<p>Indem du den Rückgabewert entsprechend deklarierst</p>
<pre><code class="language-cpp">const vector&lt;IconDrawer*&gt;&amp; IconGetter::getIconVector() //konstante Referenz
{
    return iconVector;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1531552</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1531552</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Wed, 18 Jun 2008 12:44:25 GMT</pubDate></item><item><title><![CDATA[Reply to Performanceprobleme on Wed, 18 Jun 2008 13:09:57 GMT]]></title><description><![CDATA[<p>Das sollte hier kein Problem darstellen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1531575</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1531575</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Wed, 18 Jun 2008 13:09:57 GMT</pubDate></item></channel></rss>