Performanceprobleme
-
und warum hast du einmal _i und einmal i in der schleife?
-
i kommt aus einer anderen schleife weiter oben.
Ohne Debugmodus wird es auch nicht schneller...
-
Wo ist der Sinn der Schleife? So wie ich das sehe, ist
glPushMatrix(); glRasterPos3f ( myIcons.getIconVector().at(i)->getX(), //benutzt i aus der aeusseren schleife myIcons.getIconVector().at(i)->getY(), myIcons.getIconVector().at(i)->getZ()); glPopMatrix();Äquivalent zu Deinem Code.
-
Du konvertierst da aber nicht float zu int, oder? - Das ist nämlich extreem langsam.
-
Wow stimmt, keine Ahnung was ich da gebaut hab.
Die innere Schleife fungierte als Bremse...danke!
-
filth schrieb:
Wow stimmt, keine Ahnung was ich da gebaut hab.
Na, ne Bremse :p
-
mmmmmmmmmmmmmmmmmmmmmmmmm schrieb:
filth schrieb:
Wow stimmt, keine Ahnung was ich da gebaut hab.
Na, ne Bremse :p
Immerhin funktioniert die gut

-
Na, ne Bremse :p[/quote]
Immerhin funktioniert die gut ;)[/quote]
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.
-
erm, dumme Frage ... was natürlich auch schön bremsen könnte wäre:
vector<IconDrawer*> IconGetter::getIconVector() { return iconVector; }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
-
Wie kann ich denn eine Referenz auf den Vektor zurückgeben? (Sorry c++ Anfänger)
Gruß
Alex
-
Indem du den Rückgabewert entsprechend deklarierst
const vector<IconDrawer*>& IconGetter::getIconVector() //konstante Referenz { return iconVector; }
-
Das sollte hier kein Problem darstellen.