Forged Alliance Forever Forged Alliance Forever Forums 2019-02-27T13:15:27+02:00 /feed.php?f=45&t=17041 2019-02-27T13:15:27+02:00 2019-02-27T13:15:27+02:00 /viewtopic.php?t=17041&p=172356#p172356 <![CDATA[Re: Vertical Sync should be permanent Disable.]]>
For example if we have 60hz screen that mean it displays 60fps (each frame every 0.0166ms) . If game is running in 40fps (0.025ms) that means it can't fit the 0.0166ms interval and need to wait for the next one, so frame that calculating took 0.025ms will then wait 0.008ms to display in the next, nearest frame after 0.033ms (2x 0.0166). In that case cpu and gpu were idle for ~24% of calculating time.

For 58fps that idle time will be ~48%

Statistics: Posted by ozonex — 27 Feb 2019, 13:15


]]>
2019-02-08T17:21:37+02:00 2019-02-08T17:21:37+02:00 /viewtopic.php?t=17041&p=171767#p171767 <![CDATA[Re: Vertical Sync should be permanent Disable.]]> Statistics: Posted by Sartek — 08 Feb 2019, 17:21


]]>
2019-01-06T22:43:14+02:00 2019-01-06T22:43:14+02:00 /viewtopic.php?t=17041&p=170926#p170926 <![CDATA[Re: Vertical Sync should be permanent Disable.]]> Soo, Always better fix to all noobs.

My computer for example. With Vsync enablead just set on 60 FPS.
For me is not a problem, my computer is one of fatest, but some players have a trully potato computer

Statistics: Posted by Destructor — 06 Jan 2019, 22:43


]]>
2019-01-02T00:58:41+02:00 2019-01-02T00:58:41+02:00 /viewtopic.php?t=17041&p=170781#p170781 <![CDATA[Re: Vertical Sync should be permanent Disable.]]>
This is all handled by the same function:
https://github.com/FAForever/fa/blob/develop/lua/ui/game/gamemain.lua#L253

This is the function:
Code:
function AdjustFrameRate()
    if options.vsync == 1 then return end
    local video = options.video
    local fps = 100
    if type(options.primary_adapter) == 'string' then
        local data = utils.StringSplit(options.primary_adapter, ',')
        local hz = tonumber(data[3])
        if hz then
            fps = math.max(60, hz)
        end
    end
    ConExecute("SC_FrameTimeClamp " .. (1000 / fps))
end


The fist line checks if we have vsync on or off.
If we have vsync on, then we return and don't execute this function.
So this function will only run with vsync off.
Code:
    if options.vsync == 1 then return end

Then we set a defaul value for the FPS in case we don't find a value inside the gameoptions:
Code:
    local fps = 100

This part gets the value for the FPS from the gameoption:
Code:
        local data = utils.StringSplit(options.primary_adapter, ',')
        local hz = tonumber(data[3])

Here we are calculating the minimum FPS for the game.
math.max(60, hz) is using the highest value from 60 or hz.
In this case we set the FPS to the value from the gameoption,
or if hz is lower then 60 we will get 60 as minimum FPS
Code:
            fps = math.max(60, hz)

And the last step, we are setting the waittime between each frame.
If we have 60 FPS then we set as timeclamp 16.66.
That means the game waits 16.7 milliseconds before it will render the next frame.
Code:
    ConExecute("SC_FrameTimeClamp " .. (1000 / fps))


The game only set the FPS between 60 and the value that was set in the video option menu.
That's how the gamecode is handling it.

You can interpret this like you want. ;)

Statistics: Posted by Uveso — 02 Jan 2019, 00:58


]]>
2019-01-01T22:26:28+02:00 2019-01-01T22:26:28+02:00 /viewtopic.php?t=17041&p=170779#p170779 <![CDATA[Re: Vertical Sync should be permanent Disable.]]>
With no VSinc enablead, FPS can FLOW 0 - 100 FPS. This thing willl fix some game issues to slow computers!!

Statistics: Posted by Destructor — 01 Jan 2019, 22:26


]]>
2018-12-30T06:43:07+02:00 2018-12-30T06:43:07+02:00 /viewtopic.php?t=17041&p=170690#p170690 <![CDATA[Re: Vertical Sync should be permanent Disable.]]>
i am sorry, but you are wrong.

If you disable vsync then this function is changing the fps:
https://github.com/FAForever/fa/blob/develop/lua/ui/game/gamemain.lua#L253

Its reading the value from the adapter menu "1920x1080(85)"
Then it's using the "85" to set the frame time clamp.
So if you disable the vsync by default, the fps will increase to 85 if the user has set it.

And i bet most user will set to 1920x1080(100) and will run with 100 FPS because it's cool ^^

Maybe it's not a good idea to disable vsync ;)

If you want to reduce the FPS to lets say 30, then you need a mod and execute these 2 lines:
Code:
local fps = 30
ConExecute("SC_FrameTimeClamp " .. (1000 / fps))

You can also write this as console command:
Code:
SC_FrameTimeClamp 33.33

Greetings, Uveso.

Statistics: Posted by Uveso — 30 Dec 2018, 06:43


]]>
2018-12-29T04:48:20+02:00 2018-12-29T04:48:20+02:00 /viewtopic.php?t=17041&p=170616#p170616 <![CDATA[Vertical Sync should be permanent Disable.]]> Everytime that game are slow on team games, they usually blame brazilians, but is not our fault!

Some dumbases players dont know that FA runs with a single core (main time), and some people have bad graphics card.
Than...
When they use VERTICAL SINC ON, game will RUNs with 60 FPS (Frezze FPS) at all costs.

BUT.... When it's occur in poor computers, specially after 10 minutes on team games, the game will reduce the main velocity for everyone in the game, to make the correct renderization to 60 FPS for some players.
Soooo.... the game will be slow to other players too.

--------------------------------
My suggestions:
1 - Complete disable of Vertical Sync
2 - Show FPS, permanent status when game starts to player.
3 - Show FPS, for other players when u push F11

Thx for that.
WhatsApp +55064992857623
Destructor

Statistics: Posted by Destructor — 29 Dec 2018, 04:48


]]>