gfx outside the screen

BlitzMax Forums/BlitzMax Beginners Area/gfx outside the screen

Hi !

what's happen if i draw a gfx object (plot a point, draw an image) outside the screen ?

1 - bmax test that this object is outside the screen and not draw it, in fact do nothing. No collision check too. Cool !

2 - bmax draw it, but you can't see it, coz it outside the screen ;-). It also perform collision tests...

I ask this because i drawing some objects outside the screen in my tiled spaceship vertical scrolling game. in my mind bmax use 1). Just want to know if i must check gfx outside the screen if it is 2) and have a better framerate !!!

Thanks !

anything outside the screen is automatically culled, so I am told, so that unless it is in your view, it ain't drawn.
it'll still be there data wise, so collision would still work if you fired at something off screen.

Yah, my Cruis.In said it all. It's actually the directx or opengl driver that handles deciding what to do with off-screen stuff and generally if it's outside of the screen edges the graphics card simply wont draw it. For example i notice that if you draw a large object and it gives a certain framerate, as the object starts going off the edge of the screen the framerate goes up.

Graphics 800,600

Global x = GraphicsWidth()/2
Global y = GraphicsHeight()/2

	Local CurFPS
	Local fpscounter	
	
	Local FPScheckTime:Int=MilliSecs()
	
	
While Not KeyDown (KEY_ESCAPE)

	Cls
	
	
	DrawRect x-200,y-200,400,400
	
	If KeyDown (KEY_UP) Then y = y - 1
	If KeyDown (KEY_DOWN) Then y = y + 1

	If MilliSecs() > FPScheckTime Then
		FPScheckTime:+ 1000
		curFPS = fpscounter
		fpscounter = 1
	Else
		fpscounter = fpscounter + 1
	End If		

	DrawText "FPS=" + String (CurFPS) , 0 , 0
	DrawText "x=" + String(x) + ",y=" + String(y),0,20

			
	Flip 0

Wend


fps = 233 rect inside screen
fps = 253 rect outside screen

"what's happen if i draw a gfx object (plot a point, draw an image) outside the screen?"

It takes on physical form and has a life of its own..... my advice, don't do it!... and if you do, don't let it get wet or feed it after midnight.

Interesting. Maybe gfx card/driver dependent and depends how they do the clipping. Raw GL on my system is faster offscreen than on. Maybe Max2d is slower due to clip planes etc.