Funktion optimieren
Übersicht

![]() |
hazumu-kunBetreff: Funktion optimieren |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo Community,
Heute habe ich meine wireworld Sandbox nochmal angeschaut und etwas erweitert. Nun wollte ich die CPU Last senken und habe mir anzeigen lassen welche Funktion am meisten Zeit benötigt. Das Ergebnis zeigte, dass Draw_World() 50ms benötigt, im Gegensatz zu Update_Input() und Draw_HUD() (beide ca. 1ms). Ich bin aber momentan ratlos wie ich folgenden Code noch weiter optimieren könnte: BlitzBasic: [AUSKLAPPEN]
Hier der gesamte Code: BlitzBasic: [AUSKLAPPEN]
Als nächstes wäre dann die Funktion NextGen dran, die pro Durchlauf auch in etwas 50ms verschluckt. Irgendwelche Vorschläge wie ich noch ein paar Millisekunden rauskitzeln kann? |
||
Warum kann es keine omnipotente Macht geben?
Weil diese omnipotente Macht in der Lage sein müsste, einen so schweren Stein zu schaffen, dass sie ihn nicht heben kann -> nicht omnipotent |
![]() |
Thunder |
![]() Antworten mit Zitat ![]() |
---|---|---|
Probier Mal:
BlitzBasic: [AUSKLAPPEN] Function Draw_World () Das hat die Zeit bei mir drastisch gesenkt. mfg Thunder |
||
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit |
![]() |
hazumu-kun |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja, das macht die Sache doch nun deutlich schneller.
Allerdings verwundert mich nun die ~75% Cpu Auslastung die ich mit 30fps auf meiner 2GHz Maschine erzeuge. |
||
Warum kann es keine omnipotente Macht geben?
Weil diese omnipotente Macht in der Lage sein müsste, einen so schweren Stein zu schaffen, dass sie ihn nicht heben kann -> nicht omnipotent |
![]() |
Thunder |
![]() Antworten mit Zitat ![]() |
---|---|---|
Komisch, bei mir hat es nur 3-4%. (Debugmodus?)
Windows XP 32 Bit Service Pack 2 Intel Celeron-M 1,5 GHz 2048 MiB RAM Intel Grafik mfg Thunder |
||
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit |
![]() |
hazumu-kun |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nope kein Debugmodus.
WinXP 32-SP3 ATI Radeon 9200SE 2048MB Ram AMD Athlon XP 2400+ 2,02GHz EDIT: Beim Auskommentieren von BlitzBasic: [AUSKLAPPEN]
in der Hauptschleife komm ich auf ca 3-5%, was ist hier los? Seid wann haut Flip so rein? |
||
Warum kann es keine omnipotente Macht geben?
Weil diese omnipotente Macht in der Lage sein müsste, einen so schweren Stein zu schaffen, dass sie ihn nicht heben kann -> nicht omnipotent |
![]() |
mpmxyz |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich hatte dieses Verhalten einmal in BlitzMax gesehen.
Ich vermute, dass es entsteht, weil die Zeichenanweisungen nicht sofort von der Grafikkarte ausgeführt werden (können), sondern zwischengespeichert werden. Beim Flip muss aber alles gezeichnet sein. Daher wird vor dem eigentlichen "Flip" alles fertiggezeichnet. So sieht meine Vermutung aus. mfG mpmxyz |
||
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer |
![]() |
HolzchopfMeisterpacker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Es könnte auch sein, dass hazumu-kun bei seinem Grafikkartentreiber "force sync on" eingestellt hat (ich glaube, die meisten Treiber-Interfaces nennen das erzwungene synchrone Flippen von Front- und Backbuffer so). Das käme dann einem Flip 1 gleich. Und wie wir wissen, ist Flip 1 nicht gerade CPU-schonend.
Also: Hazumu, hast du diese Einstellung bei dir etwa vorgenommen? Dann schalte den Sync mal, wenn möglich, auf Application Standard oder dann halt ganz aus. Vielleicht hilft das ja. mfG Holzchopf |
||
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BY ♫ BinaryBorn - Yogurt ♫ (31.10.2018) Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm |
![]() |
hazumu-kun |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hab die Einstellung für VSync auf immer aus gestellt, keine Verbesserung. | ||
Warum kann es keine omnipotente Macht geben?
Weil diese omnipotente Macht in der Lage sein müsste, einen so schweren Stein zu schaffen, dass sie ihn nicht heben kann -> nicht omnipotent |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group