Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

18.07.2007, 18:37

VC++ und Optimierung

So, meine Erfahrungen mit dem VC++ 2005 Express gehen in die nächste Runde:

Ich versuche nun gerade die Optimierungsoptinen zu verstehen.

Im Menü Projekt->Eigenschaft und dann C++ und Linker gibt es Einstellungen zur Optimierung:

Hier mal die Optionen

C/C++:
1. Optimierung:
- Größe minimieren (klar)
- Geschw. maximieren (klar)
- Komplette Optimierung (hm was heißt das nun?)
2. Inlinefunktionserweiterung:
- Tja, da blicke ich nicht mehr durch, aber ich hoffe, dass es nicht so wichtig ist.
3. Systeminterne Funktionen aktivieren:
- Auch keine Ahnung... auch nicht so wichtig denke ich.
4. Größe oder Geschw. bevorzugen
- Das hatten wir doch oben schonmanl. Wieso jetzt nochmal?
5. Framezeiger unterdrücken
- Was heißt das?
6. Fiber-sichere Optimierung aktivieren
- Keine Ahnung...
7. Komplette Programm Optimierung
- Tja... klingt ja fast so als ob die OPtionen davor nicht das komplette Programm betreffen...

Linker:
Diese Optionen sind eigentlich alle klar...

2

18.07.2007, 18:42

Wo ist die Frage?! Hab nur Feststellungen von der gelesen ... (du versuchst was zu verstehen) ...
Devil Entertainment :: Your education is our inspiration
Der Spieleprogrammierer :: Community Magazin
Merlin - A Legend awakes :: You are a dedicated C++ (DirectX) programmer and you have ability to work in a team? Contact us!
Siedler II.5 RttR :: The old settlers-style is comming back!

Also known as (D)Evil

3

18.07.2007, 18:50

Doch doch, da sind einige Fragen drin...

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

4

18.07.2007, 18:52

1. Komplette Optimiert die Geschwindigkeit über Codegröße. Allerdings kann /Ox kombiniert werden, z.B. mit /Os um Codegröße über Geschwindigkeitoptimierung zu stellen. Wird halt versucht alles möglichst optimal zu machen.
2.
:arrow: Default: Keine inline Funktionen
:arrow: /Ob1 inline, __inline und Memberfunktionen die in der Klassendefinition definiert wurden werden geinlined.
:arrow: /Ob2 wie /Ob1 nur kann der Compiler noch andere Funktionen inlinen.
3. Funktionsaufrufe werden durch instrinsic functions ersetzt.
4. Das wird kombiniert mit der Option /Ox (s. Punkt 1)
5. Funktionsaufrufe werden beschleunigt
6. Betrifft nur __declspec( thread ) gekennzeichnete Daten
7. Schleifen etcpp werden optimiert

Ich rate dir einfach mal die MSDN zu Rate zu ziehen. Da steht alles genau beschrieben.
@D13_Dreinig

5

18.07.2007, 19:09

Da habe ich bereits gelesen. Ich fand das aber nicht sondelrich aufschlussreich...

2. D.h. wenn ich es auf Standard lasse, dann ist jede Funktion, die ich als "inline" definieren garkeine Inlinefunktion, sondern eine ganz normale?
Dem entsprechen ist doch dann /O2 die beste Wahl, so lange man keinen riesigen, aufgeblähten Code bekommt und Platzprobleme kriegt, oder?
3. instrict functions? Ist das wichtig?
5. Beschleunigt klingt immer gut. Wo ist der Haken?

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

6

18.07.2007, 19:22

2. Jo, nur die Sache mit den aufgeblähten Quellcode bleibt trotzdem eine Gefahr.
3. Nur wenn du extrem auf Codegröße und Geschwindigkeit achten musst. Kannst halt z.T. auf die standard Lib verzichten.
5. Komplexes Thema. Les dich da am besten mal bissl rein:
http://en.wikipedia.org/wiki/Call_stack
@D13_Dreinig

Werbeanzeige