OGRE Physik ruckelt

Anfängerfragen zum Programmieren mit PureBasic.
gem
Beiträge: 14
Registriert: 24.08.2014 18:04

OGRE Physik ruckelt

Beitrag von gem »

Schönen Guten Morgen

Ich habe versucht eine Kugel darzustellen die mit den Pfeiltasten auf einer Fläche bewegt werden kann.
Dazu verwende ich die Physik-Engine.
Beim bewegen ruckelt es minimal aber so stark das es störend ist, woran kann das liegen?, ist das bei euch auch?

Ich verwende PureBasic 5.30 auf Windows XP 32Bit mit einem durchschnittlichen Rechner der allerdings nicht zu schlecht ist um Computerspiele zu spielen

Freue mich wenn mir jemand helfen kann
Schöne Grüße
Gabriel

Hier der Quellcode:

Code: Alles auswählen

;init
InitEngine3D()
InitSprite()
InitKeyboard()

;enumeration
Enumeration
	#window
	#camera
	#sphere
	#sphere_mesh
	#sphere_material
	#sphere_texture
	#light
	#plane_mesh
	#plane
	#plane_material
	#plane_texture
EndEnumeration

;window
OpenWindow(#window,0,0,800,600,"")
OpenWindowedScreen(WindowID(#window),0,0,800,600)
SetFrameRate(30)

;enable
EnableWorldCollisions(1)
EnableWorldPhysics(1)

;sphere
CreateSphere(#sphere_mesh,4)

CreateTexture(#sphere_texture,2,2)
StartDrawing(TextureOutput(#sphere_texture))
	Box(0,0,2,2,RGB(255,0,0))
StopDrawing()

CreateMaterial(#sphere_material,TextureID(#sphere_texture))

CreateEntity(#sphere,MeshID(#sphere_mesh),MaterialID(#sphere_material),0,5,0)
EntityPhysicBody(#sphere,#PB_Entity_SphereBody)

;plane
CreatePlane(#plane_mesh,30,30,1,1,1,1)

;Add3DArchive("C:\Dokumente und Einstellungen\Gabriel\Desktop",#PB_3DArchive_FileSystem)
;LoadTexture(#plane_texture,"test.jpg")
CreateTexture(#plane_texture,2,2)
StartDrawing(TextureOutput(#plane_texture))
	Box(0,0,2,2,RGB(255,255,255))
StopDrawing()
	
CreateMaterial(#plane_material,TextureID(#plane_texture))

CreateEntity(#plane,MeshID(#plane_mesh),MaterialID(#plane_material),0,0,0)
EntityPhysicBody(#plane,#PB_Entity_StaticBody)

;light
CreateLight(#light,RGB(255,255,0),0,100,0)

;camera
CreateCamera(#camera,0,0,100,100)
MoveCamera(#camera,0,100,0)
RotateCamera(#camera,-90,0,0)

;loop
Repeat
	ExamineKeyboard()
	If KeyboardPushed(#PB_Key_Right)
		ApplyEntityImpulse(#sphere,0.5,0,0)
	ElseIf KeyboardPushed(#PB_Key_Left)
		ApplyEntityImpulse(#sphere,-0.5,0,0)
	EndIf
	
	If KeyboardPushed(#PB_Key_Up)
		ApplyEntityImpulse(#sphere,0,0,-0.5)
	ElseIf KeyboardPushed(#PB_Key_Down)
		ApplyEntityImpulse(#sphere,0,0,0.5)
	EndIf
	
	RenderWorld()
	FlipBuffers()
Until WindowEvent() = #PB_Event_CloseWindow
Benutzeravatar
man-in-black
Beiträge: 362
Registriert: 21.08.2006 17:39

Re: OGRE Physik ruckelt

Beitrag von man-in-black »

setz die Framerate auf 60...

Code: Alles auswählen

SetFrameRate(30)
Ansonsten ist zumindest auf meinem System kein Ruckeln zu sehen.
Habe mich nur erschrocken, dass die Kugel kleiner wurde :D
(hab alles, kann alles, weiß alles!!^^)

Bild
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: OGRE Physik ruckelt

Beitrag von STARGÅTE »

Ich sehe kein Ruckeln, aber ich sehen ehrlichgesagt nicht mal n Kugel,
sondern nur ein roten Kreis der auf einem gelben Quadat ist.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8809
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: OGRE Physik ruckelt

Beitrag von NicTheQuick »

Unter Linux gibt es übrigens auch kein Ruckeln.
Benutzeravatar
Chimorin
Beiträge: 451
Registriert: 30.01.2013 16:11
Computerausstattung: MSI GTX 660 OC mit TwinFrozr III
6Gb DDR 3 RAM
AMD Phenom II X4 B55 @ 3,6GHz
Windows 7 Home Premium 64-bit

Re: OGRE Physik ruckelt

Beitrag von Chimorin »

Hardware?
Du solltest zudem bei der Verwendung von WindowEvent() darauf achten, dass alle Events verarbeitet werden. Also ne Schleife drum, die läuft bis event=0 ist.
Bild

- formerly known as Bananenfreak -
gem
Beiträge: 14
Registriert: 24.08.2014 18:04

Re: OGRE Physik ruckelt

Beitrag von gem »

Erstmal danke für die Antworten
setz die Framerate auf 60...
Hat leider nichts gebracht, habe auch Überprüft ob wirklich 30 oder 60 fps angezeigt werden.

Habe allerdings eine Lösung gefunden das Problem zu beheben in dem ich bei RenderWorld() ein Wert eingeben habe (je höher desto schneller die Animation)
Vielleicht kann ich jemanden damit helfen der auch noch das Probleme hat
Benutzeravatar
Chimorin
Beiträge: 451
Registriert: 30.01.2013 16:11
Computerausstattung: MSI GTX 660 OC mit TwinFrozr III
6Gb DDR 3 RAM
AMD Phenom II X4 B55 @ 3,6GHz
Windows 7 Home Premium 64-bit

Re: OGRE Physik ruckelt

Beitrag von Chimorin »

Das wird wohl schwerlich das Problem beseitigen können.
Du gibst dort die Zeit in ms ein, die pro Aufruf von RenderWorld() für die Physikberechnungen verwendet werden.
Wenn das Programm bei 30 FPS ruckelt; Hast du überhaupt eine Graka eingebaut?!
Bild

- formerly known as Bananenfreak -
gem
Beiträge: 14
Registriert: 24.08.2014 18:04

Re: OGRE Physik ruckelt

Beitrag von gem »

Komischerweise hat es so aber ruckellos geklappt hat mich auch gewundert

Hardware:
AMD Athlon 64 x2 4400+
NVIDIA GeForce 9500GT
2 GB RAM

Die Hardware ist nicht gut allerdings würde mich es wundern wenn es damit nicht geklappt hätte
matbal
Beiträge: 261
Registriert: 30.03.2011 20:53

Re: OGRE Physik ruckelt

Beitrag von matbal »

Ich habe dieses Ruckeln auch. Außerdem liegt die CPU-Auslastung bei 50 Prozent. Das heißt ein CPU-Kern ist voll beschäftigt.

Setze ich aber mit SetFrameRate(60) die Framerate auf 60 (oder mehr), läuft es bei mir flüssig und die CPU-Auslastung pendelt nur noch zwischen 2 und 10 Prozent.

(auch ein alter Athlon 64 X2 4400+, mit Grafikkarte: nVIDIA GeForce 7600 GS)
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: OGRE Physik ruckelt

Beitrag von ts-soft »

CPU Auslastung bei 16%
Keinerlei Ruckeln in Sicht.

Hardware: siehe Signatur
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Antworten