What does Fortnite have to do with Android fragmentation? - Gary Explains
What does Fortnite have to do with Android fragmentation? - Gary Explains
2018-09-14
now fortnight is one of the great gaming
sensations at the moment and its release
on Android was very much anticipated
however for Epic Games to actually bring
it to hand roid it had to fight against
this whole Android fragmentation problem
hello my name is Gary Sims and this is
Andrew authority if you want to find out
what battles epic gave me to fight to
bring fortnight to Android please let me
explain now recently Epic Games
published a blog post describing the
different issues they had about bringing
fortnight over to Android and their
revelations are really quite interesting
the first thing to note is this wasn't a
case of having to port fortnight over on
to Android it was actually written in
using the Unreal Engine which means that
actually got cross-platform support from
the get-go so it wasn't the catering to
rewrite it all in Java or something like
that they were already using a tool that
allowed them to bring it across multiple
platforms and interestingly it wasn't
also a case of well Android
fragmentation is because some people are
still running Android 7 some people are
running Android 8 and there's all these
Android versions out there and they just
are just so bad you can't no that's not
the problem either actually
fundamentally Android is very good at
backwards compatibility and particularly
you're dealing with something like a
gaming where really all you want to do
is get kind of graphics on to the
display as fast as you can
there isn't that much difference between
one version of Android and another so
what was the issue well the issue is
actually all to do with performance
although the game would probably run on
just about any device that they care to
store it on because what you want is
smooth gameplay and you want the
gameplay to be comparable to what other
people are using because of all this is
cross-platform so you don't want to be
in a situation where your version of the
game doesn't show the same things and
somehow therefore the game experience is
actually less now the first thing to
notice about the Android ecosystem is
that each phone can have a processor
from a different manufacturer so maybe
you've got kind of Snapdragon processor
from Qualcomm or X
protestors from Samsung or processors
from Huawei or processors from mediatek
now inside each of these processes there
are different CPUs and different GPUs
they should concentrate on GPUs Ramon
because they are the most important when
it comes to games like for tonight
now there are two main manufacturers of
GPU you've got qualcomm with his Adreno
GPUs and you've got armed with their
Mali GPUs
now both Qualcomm and armed have
different generations and models of GPU
so the GPU you find in one Qualcomm
powered device will be different to what
you might find in a different core
compound device and let's say you look
at quirian processors which generally
have the Mali GPU in them there will be
a different Mali GPU in one generation
compared to another generation that
means when epic games were trying to
optimize fortnight for a particular GPU
they already had to consider two major
manufacturers of GPU and then actually
different models inside of those
different series of GPUs but actually
the situation is even more complicated
than that because you've also got the
issue of the graphics API or the one
side you've got OpenGL ES which has been
around for a long time has gone through
lots of different revisions and then
you've also got the Vulcan API which is
something much newer and is not
supported necessarily by all of the
recent handsets and then beyond that
you've also got the graphic driver so
there's a driver that takes those kind
of calls from OpenGL ES and turns them
into something actually happens on the
hardware and what epic found out is that
you can actually have the same processor
with the same GPU in one handset and the
same process with the same Jeep in
another handset but they've got
different graphics drivers which
actually do things ever so slightly
differently so one way to get around
this was that Epic Games forged strong
relationships with all of the different
handset manufacturers in particular
Samsung went down to Epic Games and they
work with their engineers to actually
optimize the game for samsung devices
which is one of the reasons why it was a
first released of course on samsung
devices
because also are more involved from
Kolkata more involved because Epic Games
wanted to optimize fortnight for all
these different processes so another
thing that epic games found is that om
tweaked the internals of Android so you
might for example on paper get two
handsets that have very similar
specifications maybe they even have the
same processor but actually one OEM will
tweak the scheduling of the Linux kernel
differently to its counterpart or maybe
the other one tweaks the power
management lis different to the other
one and when you actually come to
playing a intensive graphic game like
for tonight the two handsets perform
differently as worth tweaking the
scheduling and the power management epic
games found at the different hands has
have different memory capabilities for
example on the Samsung Galaxy s8 they
were able to allocate three of the
available four gigabytes and use those
three gigabytes for the game however on
a pixel 2xl of the available 3.6
gigabytes they were only able to
allocate one point eight gigabytes so
obviously a difference of over a
gigabyte of available memory that could
be used by the game so this of course
makes targeting particular platforms
quite tricky because you don't actually
know how much memory is going to be
available for storing all of that great
and rich graphic data that they need to
present during the gameplay so the way
epic got around this was of course they
did testing on individual devices
they've been working with the individual
manufacturers and they've come up with a
set of profiles almost like you kind of
get on the PC
kind of games where there's kind of a
low profile of our you know medium and
high and in epic and they kind of change
the detail settings and they change the
kind of the distance that you can see in
the game and the shadows and all that
kind of stuff and different profiles are
applied to different handsets but not
only that they also have a GPU profile
so when the GPU Technic is it a Mali GPU
is it a Qualcomm GPU is it this
particular generation is it a different
type of generation then a different
profile will be applied that can maybe
try to work around bugs that can maybe
try to introduce some optimizations that
will bring better game
for each of those different GPUs and
then on top of that they have actual a
handset profiles so when the game is
running on a particular handset it will
know what optimizations it can use and
it will know how much memory it can use
to actually bring the smoothest gameplay
possible so when you look at this in
general what you actually find is is
that epic games will not been battling
against all this device is running
Android 8 whereas this device is running
Android 8.1 no that's not the issue the
issue is the difference in the internals
in terms of GPU in terms of drivers in
terms of memory allocation in terms of
the graphics API is that support and in
terms of the efficiency of those graphic
api's and to try to bring those real
smooth gameplay they've had to look at
all devices individually and that means
at the moment there is a finite list of
devices that are supported and they are
trying to make that lease bigger and
they're trying to bring it to more and
more devices but the bottom line is
there is an advantage to buying a
popular device that means it gets the
attention of the game makers in this
case epic games and so there you have it
for tonight's battles against Android
fragmentation my name is Gary Sims and
this is Android authority if you enjoyed
this video please do give it a thumbs up
also don't forget to subscribe and don't
forget to hit that Bell notification
icon okay that's it i'll see in the next
one
We are a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for us to earn fees by linking to Amazon.com and affiliated sites.