Flip command and GPU temperature

Blitz3D Forums/Blitz3D Programming/Flip command and GPU temperature

Moraldi(Posted 2008) [#1]
Flip command with 'vwait' parameter equal to 0
Flip false
increases my GPU temperature. (ATI Radeon XT1800 Series). There is no such a case when I am using
Flip
As a result the card reduces automatically its performance in order to prevent overheating.
The project I am working on, is a 2D application using only the Sprite Candy library.
Because my program runs in full screen mode I created an image as a mouse pointer. If I wait for the vertical blank to finish
Flip true 
the correspondence of movement of mouse is little bit delayed.


Ross C(Posted 2008) [#2]
I think your GPU temperature will definetly rise, as the GPU is drawing things faster than the screen can refresh, so it's working alot more than it would be if it were waiting for the monitor to refresh completely.


Vorderman(Posted 2008) [#3]
Have you tried "VWait : Flip False" ?


Moraldi(Posted 2008) [#4]
@Ross C: Your explanation is my explanation. (I checked all the fans of my system and they are working properly)
I mentioned this because other Blitz3D users may have noticed this again. I want to see if it is a problem distributing a game with Flip FALSE
@Vorderman: ?
I tried: Flip TRUE -> the temperature is not rising
I tried: Flip FALSE -> the temperature is rising


Jasu(Posted 2008) [#5]
Almost all commercial games have option for users to define vsync on or off. Having flip true or flip false is exactly that. I would advise to make it an user option, unless if you're making a casual game. In that case Flip true is your option.

Having Flip true with noticeable mouse movement delay, I think there's something else wrong. Usual refresh rates for lcd screens are 60Hz and 75Hz, which make 16,6ms and 13,3ms per frame. You can have at least 60ms delay without human seeing any difference.


chwaga(Posted 2008) [#6]
From what I know, flip false will make the computer render as many frames per second as is possible, which means it's putting more strain on your computer. Flip true makes the computer only render as many times as the monitor can display it (which is better). Obviously, the former would put more strain on the computer than the latter. However, I don't see how it could make your GPU get hotter, because from what I know (correct me if I'm wrong), blitz3D is so old and outdated (dx7) that it doesn't utilize the GPU at all. If I'm wrong about that, let me know.


SLotman(Posted 2008) [#7]
Put before renderworld this:

lockbuffer backbuffer
unlockbuffer backbuffer


This will improve the mouse delay, dont ask me why.

As for the "temperature" thing, itīs more than normal. Flip false cannot damage your card, unless you have it overclocked, and the cooling fan is broken :P


Moraldi(Posted 2008) [#8]
@SLotman: Yeah! you are right. I am not asking you, but it is really impressive. I could never imagine this. I suppose that after buffer locking (and unlocking), the RenderWorld function can speed up the memory copy process from backbuffer to video RAM. Unfortunately I don't know in depth the mechanisms of DirectX.

Thank you all for your comments.


t3K|Mac(Posted 2008) [#9]
When is use this lock/unlock trick, my framerates drop by at least 70 fps... (i am using 3 renderworld calls).


Moraldi(Posted 2008) [#10]
OK, situations may differ:
I am talking about this:
While Not KeyHit(1)

	HUD_Update
	Game_Update()
	UpdateWorld
	LockBuffer(BackBuffer())
	UnlockBuffer(BackBuffer())
	RenderWorld
	Flip
Wend

Inside the Game_Update() function there are only Sprite Candy calls.
SLotman's solution works.

BTW: What about your Delivery project? It is a very nice and interesting project.


SLotman(Posted 2008) [#11]

When is use this lock/unlock trick, my framerates drop by at least 70 fps... (i am using 3 renderworld calls).


AFAIK, you only need to do that once, not on all 3 renderworlds. It shouldn't drop the framerate so much.