Programm wird immer träger

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
Benutzeravatar
captain_hesse
Beiträge: 138
Registriert: 17.05.2009 18:55
Computerausstattung: Windows 7 Ultimate 64 Bit / AMD Phenom II 1090T, 6x3200 MHz / AMD HD-6850 / PureBasic 5.1 (x86) (x64)
Wohnort: Saarland

Re: Programm wird immer träger

Beitrag von captain_hesse »

Nun ja es liegt in meiner Natur, immer zuerst alle Eventualitäten auszuloten bevor ich jemanden frage der es möglicherweise besser weiß, allerdings bin ich aber auch kein Anfänger mehr ich arbeite ja schon seit 2004 mit Purebasic ich hab mich bloß erst 2009 hier im Forum angemeldet. Ich kenne mich also schon ganz gut mit dieser Programmiersprache aus und es ist mir auch bewusst das Floads ungenau sind deshalb habe ich die Steurungsvariablen alle mal auf long umgestellt, dadurch wird die Steurung zwar ungenauer aber zum testen gehts, doch das Problem besteht weiterhin also an den Floads liegt es nicht. Dann gibt es noch eine weitere Ungereimtheit, wie man in dem Programm sehen kann habe ich einen Würfel der als Kamera-objekt dienen soll und mit ihm bewegt sich ja auch die richtige Kamera sie müsste also immer genau dort sein wo auch der würfel ist wenn man nun aber die Bewegungstasten W,S,A,D drückt macht der würfel plötzlich einen solchen sprung nach vorne,hinten,recht oder links, je nach gedrückter Taste, die Kamera allerdings nicht. Also mit anderen Worten eigentlich sollten die x,y,z Koordinaten der Kamera und des würfels immer gleich sein aber das ist nicht so und wenn man dann die Bewegungstasten wieder los lässt dann springt der Würfel wieder zurück auf seine Sollposition und je länger das Programm läuft desto größer wird dieser effeckt. Selbst dann wenn man nichts macht und das Programm einfach nur gestartet ist vergrößert sich der effeckt deshalb nehme ich an das intern irgedwas nich richtig syncronisiert wird.

Ich bin eigentlich davon ausgegangen daß wenn man den Parameter #PB_Entity_AbsoluteBodyMove setzt das objekt dann absolut still steht und frei bewegt werden kann wenn man aber genau hinschaut kann man sehen daß das Objekt sich ganz leicht bewegt und auch nach unten fällt deshalb hatte ich auch die Zeile:

Code: Alles auswählen

EntityLocate(0,EntityX(0),EntityY(1)+100,EntityZ(0))
eingebaut sie dient lediglich dazu das Objekt über dem Boden zu halten.


Das programm ganz am anfang dieses Threads ist immer noch aktuell aber wenn du dir das Archiv runterlädst ist es auch dabei alles fix und fertig zum testen.

Übrigens wie soll ich das denn jetzt machen, soll ich in dem anderen Thread auch weiter posten oder behandeln wir das Thema vorerst hier bis wir wissen ob es nun ein Bug ist oder nicht ?


Kaeru Gaman hat geschrieben: wie wir ja schon festgestellt hatten, war das erste Problem gar kein Bug sondern eine Frage der Implementierung,
wenn das geändert werden soll könnt ihr ne Feature-Request einreichen.
Das halte ich für eine Klasse Idee :allright:
Allerdigs habe ich sowas noch nicht gemacht wie und wo richtet man so was ein :?

Gruß Armin
Windows 7 Ultimate 64 Bit / AMD Phenom II 1090T, 6x3200 MHz / AMD HD-6850 / PureBasic 5.1 (x86) (x64)
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Re: Programm wird immer träger

Beitrag von Kaeru Gaman »

wie lange du dabei bist, hat damit doch nichts zu tun?
ich programmiere seit 28 Jahren, und ich hau auch immer mal wieder blöde Fehler rein oder übersehe etwas und mein Prog tut nicht was es soll.
besonders wenn ich mich jetzt mit etwas neuem beschäftigen würde, wie zum Beispiel einer 3D-Engine die ich noch nie benutzt habe,
würde ich leicht mal nen Denkfehler machen, auch bei meinen Variablen obwohl ich Variablenlogig seit nem Vierteljahrhundert beherrsche.
Übrigens wie soll ich das denn jetzt machen, soll ich in dem anderen Thread auch weiter posten oder behandeln wir das Thema vorerst hier bis wir wissen ob es nun ein Bug ist oder nicht ?
Letzteres.
Allerdigs habe ich sowas noch nicht gemacht wie und wo richtet man so was ein
http://www.purebasic.fr/english/viewforum.php?f=3
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
captain_hesse
Beiträge: 138
Registriert: 17.05.2009 18:55
Computerausstattung: Windows 7 Ultimate 64 Bit / AMD Phenom II 1090T, 6x3200 MHz / AMD HD-6850 / PureBasic 5.1 (x86) (x64)
Wohnort: Saarland

Re: Programm wird immer träger

Beitrag von captain_hesse »

Gut ich wollte damit auch nicht sagen das ich unfehlbar bin aber ich habe bei diesem Programm gut und gerne 100 varianten ausprobiert es macht aber einfach nicht das was ich will.

Ich hab da eine Idee, ändere mal die Zeile:

Code: Alles auswählen

EntityPhysicBody(0, #PB_Entity_BoxBody,#PB_Entity_AbsoluteBodyMove)
in

Code: Alles auswählen

EntityPhysicBody(0, #PB_Entity_StaticBody)
und

Code: Alles auswählen

speed.f=1000.00
auf

Code: Alles auswählen

speed.f=10.00
dann läuft es so wie ich es gerne hätte nur mit dem haken das man dann durch alle objekte hindurchlaufen kann.
hmm nur dummerweise kann ich kein englisch :|
Windows 7 Ultimate 64 Bit / AMD Phenom II 1090T, 6x3200 MHz / AMD HD-6850 / PureBasic 5.1 (x86) (x64)
Antworten