FullScreenMode unter Linux extrem langsam
Verfasst: 05.11.2007 12:37
Hallo !
Ich hab da wieder mal ne Frage !
Warum läuft der selbe Code unter Windows mit einer NVIDIA GeForce 8600GT total flüssig und unter Linux ruckelt das ganze.
Die NVIDIA-Treiber hab ich unter Linux installiert.
Getestet mit OpenSuse 10.2 und Kanotix Thorhammer am selben PC.
Lg. Legion
Ich hab da wieder mal ne Frage !
Warum läuft der selbe Code unter Windows mit einer NVIDIA GeForce 8600GT total flüssig und unter Linux ruckelt das ganze.
Die NVIDIA-Treiber hab ich unter Linux installiert.
Getestet mit OpenSuse 10.2 und Kanotix Thorhammer am selben PC.
Lg. Legion
Code: Alles auswählen
Procedure SpriteConture(Sprite,Color)
StartDrawing(SpriteOutput(Sprite))
Line(0,0, SpriteWidth(Sprite),0,Color)
Line(0,0,0,SpriteHeight(Sprite),Color)
Line(0,SpriteHeight(Sprite)-1,SpriteWidth(Sprite)-1,0,Color)
Line(SpriteWidth(Sprite)-1,0,0,SpriteHeight(Sprite),Color)
StopDrawing()
EndProcedure
;-----------------------------------------------------------------------------------------------------------
Procedure ScreenConture(Image,Color)
StartDrawing(ImageOutput(Image))
Line(0,0, DesktopWidth(0),0,Color)
Line(0,0,0,DesktopHeight(0),Color)
Line(0,DesktopHeight(0)-1,DesktopWidth(0)-1,0,Color)
Line(DesktopWidth(0)-1,0,0,DesktopHeight(0)-1,Color)
StopDrawing()
EndProcedure
;-----------------------------------------------------------------------------------------------------------
Procedure ScreenRaster(Image,Color,Raster)
Protected i,XAbstand,YAbstand,XPos,YPos
StartDrawing(ImageOutput(Image))
XAbstand = Round(DesktopWidth(0)/Raster,1)
YAbstand = Round(DesktopHeight(0)/Raster,1)
XPos = XAbstand
YPos = YAbstand
For i = 1 To Raster -1
Line(XPos,0,0,DesktopHeight(0),Color)
Line(0,YPos,DesktopWidth(0),0,Color)
XPos + XAbstand
YPos + YAbstand
Next i
StopDrawing()
EndProcedure
;-----------------------------------------------------------------------------------------------------------
If InitSprite() And InitSound() And InitKeyboard() And ExamineDesktops() And InitMouse()And OpenScreen(DesktopWidth(0),DesktopHeight(0),DesktopDepth(0),"")
CreateImage(0,DesktopWidth(0),DesktopHeight(0),24)
CreateSprite(0,20,20,0)
SpriteConture(0,$7BFE84)
ScreenRaster(0,$1D3D1F,24)
ScreenConture(0,$7BFE84)
;-----------------------------------------------------------------------------------------------------------
Repeat
ExamineMouse()
StartDrawing(ScreenOutput())
DrawImage(ImageID(0),0,0)
StopDrawing()
DisplayTransparentSprite(0,MouseX(),MouseY())
If MouseButton(#PB_MouseButton_Right)
Break
EndIf
If MouseButton(#PB_MouseButton_Left)
Break
EndIf
FlipBuffers()
Delay(10)
ForEver
FreeImage(0)
FreeSprite(0)
EndIf
End
;-----------------------------------------------------------------------------------------------------------