frame limiter?

frame limiter?

Requests for features in the spring code.

Moderator: Moderators

Post Reply
User avatar
BrainDamage
Lobby Developer
Posts: 1164
Joined: 25 Sep 2006, 13:56

frame limiter?

Post by BrainDamage »

as it is now, springtried to get all the FPS it can, trying to use 100% of the processor.

sometimes i find myself in the disgraced condition of playing it in a laptop, where using 100% cpu when unnecessary is a bit overkill due to overheat & battery issues

could it be implementied a setting (perhapes even an in-game console command too) to limit the max fps (and cpu usage) to a custom value?
User avatar
jcnossen
Former Engine Dev
Posts: 2440
Joined: 05 Jun 2005, 19:13

Post by jcnossen »

you're going to be using lots of power in any case for playing a 3d game like spring, I doubt lowering the fps helps a lot.
And the laptop should be made to withstand that heat... (although my laptop gets scaringly hot too, its supposed to do no harm).
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

There's vsync, locks the framerate to the monitors refresh rate.
User avatar
BrainDamage
Lobby Developer
Posts: 1164
Joined: 25 Sep 2006, 13:56

Post by BrainDamage »

AF wrote:There's vsync, locks the framerate to the monitors refresh rate.
thanks, but i was thinking of limiting it to an even lower setting (25)

the reasons behind this isn't the overheat itself, but how the laptops handles it, having no constant workload inproves the load spikes handling, i've tried it with another game wich supports and i got quite performance increase

let me try to explain better:

wasting cpu power to calculate useless fps is mid performace use, but it's a constant use, the processor will have it as a minimum workload; therefore the cpu temp will start hovering around mid-range values(50-60 degs)
now let's imagine you get a random cpu load spike with high priority because something happened in the game.
the cpu temp raises up by 10-15 degs, going into the "hot zone"; at this point the thermal protection kicks in, and it start modulating the cpu clock, the clock start oscillating between the minimum idle clock and reg clock value, decreasing the average computational power.

basically it cuts off computational power right exactly when you need it, causing a lag when the spike happens

in the case with frame limiter:

the cpu doesn't always throttle 100% doing a mid-performace task, the base cpu temp hovers like 10 degs below the value of the previous example.
when you get the spike, you'll reach the borderline of the "hot zone", but this time the thermal protection won't trigger and you'll get full computational power, handling the spike much better, and resulting in no lag

-----------------------------------------------------------------------------------------

you can simulate this behaviour with 2 benchmarks: one wich runs continously but doesn't do a very "temp heavy" task, and one wich simulates the spikes for a short period of time.
run the first for few minutes, let the temp to normalize, then close it and immediactly start the second.
now repeat the task limiting the cpu usage of the first benchmark; you'll notice a 30-40% performance improvement.
User avatar
Neddie
Community Lead
Posts: 9406
Joined: 10 Apr 2006, 05:05

Post by Neddie »

I would use a feature like this. Even plugged in, at highest fan settings, my ASUS laptop has overheated in the midst of a particularly heated, pardon the pun, game or three. No, I don't need 35 FPS. NOOOOOOO!!!
zorbawic
Posts: 107
Joined: 07 May 2006, 15:09

Post by zorbawic »

@Brain Damage:

I am using Power4 Gear+ Utility which has the ability to limit CPU frequency manually. This way I can set my CPU to 997 MHz and it wont go over that as max is 1,66 GHz. This might also help You solve Your problem.

I know that this sorta-way is also possible on GNU/Linux as it only requires manual modification of some script controlling CPU.
monohouse

Post by monohouse »

also think of the additional code to control that, which will also increase cpu time, the simulation is the problem in spring not the graphics rendering.

also to solve this problem you have 2 things at your disposal:

1. graphics settings
2. computer bios to control:
1. cpu speed
2. disable cpu anti-heat protection because you lowered the cpu speed
User avatar
MadRat
Posts: 532
Joined: 24 Oct 2006, 13:45

Post by MadRat »

CrystalCPUID is what you need. Free and more flexible than the Power# Gear utils.
heze
Posts: 38
Joined: 28 Apr 2005, 23:32

Post by heze »

Actually vsync doesn't work for me in Vista with 8800gtx. Would love vsync.
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

enable in spring settings, update drivers, and check nvidia control panel
User avatar
Caydr
Omnidouche
Posts: 7179
Joined: 16 Oct 2004, 19:40

Post by Caydr »

If you're using Vista, just go into the battery life settings and set up a custom profile that has 50% or less CPU usage at maximum. Use it whenever you want to play Spring.

(yes... I installed vista on my laptop)
Post Reply

Return to “Feature Requests”