um den Code um den es gehen sollte schreibe ich dann wie im ersten post nochmal .... diesmal ergrenze ich noch die gesamte Datei drum herum
ich dachte das die fps schleife das wichtige sei...(die ich eigentlich am Anfang schrieb) ... da nix anderes zur gleichen zeit lauft (also kein andere tread) erlaube ich mir das drumherum auch ( ich hoffe das ist nicht schlimm)
den habe ich so in einer schleife laufen lassen um andere störungen aus schlissen zu können und ist auf das Minimum begrenzt (vorsicht das ende kann da nicht erreicht werden)
Repeat
RenderWorld()
Delay(1)
FlipBuffers()
Until Quit = 1
und ich erhalte c.a. 100% CPU last...
da der code da schon drin ist schreibe ich nochmal die gesamte Datei. Der schient zu gehen bis auf die fps halt
Code:
OpenWindow(0, 0, 0, 800, 600, "A screen in a window...")
#RobotMesh=2
#RobotTexture=3
map_dir.s=".\map_files\"
UseSQLiteDatabase()
InitEngine3D(#PB_Engine3D_DebugLog )
Add3DArchive("./tes map mesch", #PB_3DArchive_FileSystem)
InitSprite()
InitKeyboard()
InitMouse()
Parse3DScripts()
OpenWindowedScreen(WindowID(0), 0, 0, 800, 600,0,0,0,#PB_Screen_NoSynchronization )
LoadMesh (#RobotMesh , "plane.mesh")
LoadTexture(#RobotTexture, "clouds.jpg")
TransformMesh(#RobotMesh, 1, 1, 1, 1, 1, 1, 0, 0, 0 )
fu= CreateMaterial(#PB_Any, TextureID(#RobotTexture))
If OpenDatabase(0, map_dir+"map.sqlite", "", "")
If DatabaseQuery(0, "SELECT * FROM M1 WHERE Typ=1")
While NextDatabaseRow(0) ; alle Einträge durchlaufen
z=GetDatabaseLong(0, 1)*2
x=GetDatabaseLong(0, 3)*2
y=0
Repeat
If x>=32
y+3
x=x-32
EndIf
Until x<=32
CreateEntity( #PB_Any, MeshID(#RobotMesh), MaterialID(fu) ,x,y,z)
Wend
EndIf
FinishDatabaseQuery(0)
EndIf
DisableMaterialLighting(fu, 1)
CreateLight(0, RGB(0,0,255), 100.0, 0, 0)
SetLightColor(0, #PB_Light_SpecularColor, RGB(255, 0, 0))
CreateCamera(0, 0, 0, 100, 100)
MoveCamera(0, 0, 0, 500)
CameraBackColor(0, RGB(0, 0, 128))
Repeat
If ExamineKeyboard()
If KeyboardPushed(#PB_Key_Up )
cam+1
EndIf
If KeyboardPushed(#PB_Key_Down)
cam-1
EndIf
If KeyboardPushed(#PB_Key_Left)
cam_Y+1
EndIf
If KeyboardPushed(#PB_Key_Right)
cam_Y-1
EndIf
If KeyboardPushed(#PB_Key_PageUp)
ro+1
EndIf
If KeyboardPushed(#PB_Key_PageDown)
ro-1
EndIf
If KeyboardPushed(#PB_Key_E)
rota-1
EndIf
If KeyboardPushed(#PB_Key_D)
rota+1
EndIf
If KeyboardPushed(#PB_Key_Escape)
Quit = 1
EndIf
EndIf
MoveCamera (0, cam_Y, ro, cam)
RotateCamera(0, rota, 0, 0 )
If cam>0
cam-1
EndIf
If cam<0
cam+1
EndIf
If cam_Y>0
cam_Y-1
EndIf
If cam_Y<0
cam_Y+1
EndIf
If ro>0
ro-1
EndIf
If ro<0
ro+1
EndIf
RenderWorld()
Delay(1)
FlipBuffers()
Event = WindowEvent()
If Event = #PB_Event_CloseWindow
Quit = 1
EndIf
Until Quit = 1
End
hir der code etwas zusammengestückelt
Code:
OpenWindow(0, 0, 0, 800, 600, "A screen in a window...")
#RobotMesh=2
#RobotTexture=3
map_dir.s=".\map_files\"
UseSQLiteDatabase()
InitEngine3D(#PB_Engine3D_DebugLog )
Add3DArchive("./tes map mesch", #PB_3DArchive_FileSystem)
InitSprite()
InitKeyboard()
InitMouse()
Parse3DScripts()
OpenWindowedScreen(WindowID(0), 0, 0, 800, 600,0,0,0,#PB_Screen_NoSynchronization )
LoadMesh (#RobotMesh , "plane.mesh")
LoadTexture(#RobotTexture, "clouds.jpg")
TransformMesh(#RobotMesh, 1, 1, 1, 1, 1, 1, 0, 0, 0 )
fu= CreateMaterial(#PB_Any, TextureID(#RobotTexture))
If OpenDatabase(0, map_dir+"map.sqlite", "", "")
If DatabaseQuery(0, "SELECT * FROM M1 WHERE Typ=1")
While NextDatabaseRow(0) ; alle Einträge durchlaufen
z=GetDatabaseLong(0, 1)*2
x=GetDatabaseLong(0, 3)*2
y=0
Repeat
If x>=32
y+3
x=x-32
EndIf
Until x<=32
CreateEntity( #PB_Any, MeshID(#RobotMesh), MaterialID(fu) ,x,y,z)
Wend
EndIf
FinishDatabaseQuery(0)
EndIf
DisableMaterialLighting(fu, 1)
CreateLight(0, RGB(0,0,255), 100.0, 0, 0)
SetLightColor(0, #PB_Light_SpecularColor, RGB(255, 0, 0))
CreateCamera(0, 0, 0, 100, 100)
MoveCamera(0, 0, 0, 500)
CameraBackColor(0, RGB(0, 0, 128))
Repeat
RenderWorld()
Delay(1)
FlipBuffers()
Until Quit = 1
End
und hier noch mal der Code wo es langsam wird....
Code:
Repeat
RenderWorld()
Delay(1)
FlipBuffers()
Until Quit = 1
ich hoffe das ist so wie du es meintest (sorry ich bin mir nicht sicher was du genau brauchst da ich ja den Code als beispiel der ich denke das problem ist schon geschrieben habe)...
(sorry wenn ich nicht so sprach gewandt bin ich hoffe das ist aber so oki )