PC Gamer - USA 2019-09)

(Antfer) #1

single thread that does a lot of the work. Flip things around
and think about each frame in terms of milliseconds. For a
steady 60fps, each frame has at most 16.7ms of graphics and
processing time. Jump to 144fps, and each frame only has
6.9ms in which to get everything completed. But how much
time does it actually take for each part of rendering a current
frame? The answer is that it varies, and this leads into a
discussion of Amdahl’s Law.


LAW ENFORCEMENT
The gist of Amdahl’s Law is that there are always portions
of code that can’t be parallelized. Imagine a hypothetical
game where a single 4.0GHz
Intel core takes 50ms to
handle all of the calculations
for each frame. That game
would be limited to 20fps.
If 75 per cent of the game
code can be split into
subtasks that run
concurrently, but 25 per cent
executes on a single thread, then regardless of how many
CPU cores are available the best-case performance on a
4.0GHz Intel CPU would still only be 80fps.
Reworking the game code so that only 12.5 per cent
executes on a single thread, maybe even five per cent, can
help. Then 160fps or even 400fps is possible, but that takes
developer time that might be better spent elsewhere—and of
course CPUs don’t have an infinite number of cores and
threads. The point is there’s a limited amount of time in which
to handle all the processing of user input, game state, network
code, graphics, sound, AI, etc, and more complex games
inherently require more time.


TOP: Online games
such as CS:GO are
relatively easy for
your CPU to handle.

ABOVE: ...But
Assassin’s Creed
Odyssey’s NPCs
create bottlenecks.

BELOW: Even if you
can’t max your
framerate, 144Hz
screens are great.

COST OF LIFE
Hitman 2 slams into a CPU bottleneck of around 122fps

MODERN PCS CAN POTENTIALLY
CHEW THROUGH BILLIONS OF
CALCULATIONS EVERY SECOND

Core i7-8700K OC

Core i9-9900K

Core i5-8400

Ryzen 7 2700X

Ryzen 5 2600X

Core i3-8100

Ryzen 5 2400G

0 50 100

122.8
89.5

122.4
89.3

110.2
76.6

97.0
69.8

92.8
67.1

85.7
50.4

67.4
48.2

RTX 2080 FPS AT 1920 X 1080 MEDIUM
Average 97 Percentile

Tech Report


HARDWARE


Even with 4GHz and faster CPUs working in tandem with
thousands of GPU cores, 6.9ms goes by quickly, and if you’re
looking at a 240Hz display running games at 240fps, that’s
only 4.2ms for each frame. If there’s ever a hiccup along the
way—eg, the game needs to load some objects or textures
from storage, which could take anywhere from a few
milliseconds on a fast SSD to perhaps tens of milliseconds on
a hard drive—the game will stutter hard.
Let’s put it a different way. Modern PCs can potentially
chew through billions of calculations every second, but each
calculation is extremely simple: A + B for example. Handling a
logic update for a single entity might require thousands or
tens of thousands of
instructions, and all of those
AI and entity updates are still
only a small fraction of what
has to happen each frame.
Game developers need to
balance everything to reach
an acceptable level of
performance, and on PCs that
can mean the ability to run on everything from an old 4-core
Core 2 Quad or Athlon X4 up through a modern Ryzen or 9th
Gen Core CPU, and GPUs ranging from Intel integrated
graphics up through GeForce RTX 2080 Ti.
In short, hitting 144fps isn’t just about hardware.
It’s about software and game design. If you’ve got your
heart set on 144fps gaming, the best advice I can give
is to remember that framerates aren’t everything. For
competitive multiplayer, drop the settings to
minimum and see how the game runs, and potentially
increase a few settings if there’s wiggle room.
Jarred Walton
Free download pdf