Recently, the community has raised an issue where, in several games including PUBG, the firing rate of weapons was being affected by the frames per second of a player’s PC. Today, we wanted to take a moment to talk about the cause of this issue and what we’re doing to help alleviate it in PUBG.
The current implementation of shooting in burst or full-auto mode relies on the use of timers, or triggers if you will. A timer executes a function after a certain, preset time has passed. On the current live server, this fixed delay is taken directly from rate of fire. After the time set in this timer has passed, it is executed on the next possible frame, as it cannot occur between frames. Should the weapon continue to fire, a new trigger is set automatically with the same fixed delay.
As such, there could sometimes be errors and discrepancies between expected time of fire vs the timer’s execution. This error can be anywhere between 0 and the total frame time (DeltaSeconds). The less FPS you have, the longer the frame time and thus the bigger possible error. Additionally, PUBG does not allow for more than one bullet per frame. During full-auto bursts, those errors can accumulate over time increasing the scope of the problem. Logically, fast firing weapons tend to be more affected by this than the slow firing weapons.
We implemented a solution in the recent test server update to help alleviate the above issues and hopefully provide better game play environment. Without going into too much technical detail, it aims to mitigate the problem related to the discrepancy between expected time of fire and the execution of the timer. This happens by modifying the timer delay by a portion of the frame time. We expect this will minimize discrepancies between the timer and the rate of fire.
This doesn’t mean there won’t be any errors, but on average they should be closer to 0 and those that are accumulated into a buffer will decay on each shot in an effort to keep the expected rate of fire consistent.
Because rate of fire is now steady and independent of frame rate, some players may notice a more difficult to control recoil, especially in high rate of fire weapons on low FPS settings. Those weapons will still have to be capped by the game’s 1 bullet per frame rule, so in conditions of sub 20 FPS, the actual rate of fire for a weapon such as Micro UZI will still be slower.
We hope the changes in the recent test server patch will at least improve the discrepancy between those with ultra high FPS and players with more of an average set up. This solution will be applied to the test server first, but will not be implemented in the live server just yet. We will review the data and your feedback while on the test server and determine an appropriate time to bring it to live based on those findings.
As always, we welcome and look forward to your feedback on the results of these fixes.
-The PUBG Team