The following introduction covers, at a high level, the differences between the main modern GPU architectures used in both desktop GPUs
and mobile GPUs (IMRs and TBRs) and the graphics APIs used on both.
Immediate-Mode Renderers (IMRs)
IMR-style architectures are dominant in desktops, laptops and consoles.
The key characteristic of an IMR is that primitives are processed immediately through the graphics pipeline.
This means that each primitive travels through the entire GPU pipeline without any knowledge of the primitives
that came before or after it.
Tile-Based Renderers (TBRs)
TBR-style architectures are dominant in mobile and embedded devices.
The key characteristic of a TBR is that the scene is divided into fixed-sized, screen-space regions.
The pixel colours in the scene are calculated a tile at a time. Once a tile render is complete,
its attachments are written out to system memory.
The benefit of TBRs is that an on-chip, tile-sized cache can be used to store intermediate attachment data
during the rendering process. Caching this information on-chip avoids costly system memory bandwidth transfers.
However, the downside of TBRs is that the entire scene's geometry needs to be transformed and binned into
tiled regions before per-tile rasterization can begin. This increases the complexity of the GPUs
and increases memory requirements, as an intermediate buffer to store the transformed primitives
and binning information that the per-tile operations can read later in the GPU execution process.
OpenGL ES is a cross-platform, royalty-free 3D graphics and compute API designed for embedded systems.
OpenGL ES 2.0 introduced programmable shader stages and is supported by all Galaxy devices.
The latest Galaxy devices support OpenGL ES 3.2, which is backwards-compatible with OpenGL ES 2.0.
If you are already using OpenGL ES and would like to know how to optimize your renderer for Galaxy devices,
please see our OpenGL ES Usage Recommendations.
The Vulkan Graphics API
Vulkan is a cross-platform, royalty-free explicit 3D graphics and compute API.
Unlike OpenGL and OpenGL ES, Vulkan API users are responsible for managing and synchronizing
all operations performed by their renderer. This gives Vulkan developers fine-grained control over
how their rendering tasks are prepared on CPU cores and submitted to the graphics driver,
enabling work to be submitted to the GPU very efficiently.
If you are already using Vulkan and would like to know how to optimize your renderer for Galaxy devices, please see our
Vulkan Usage Recommendation
We use cookies to improve your experience on our website and to show you relevant
advertising. Manage you settings for our cookies below.
Essential Cookies
These cookies are essential as they enable you to move around the website. This
category cannot be disabled.
Company
Domain
Samsung Electronics
.samsungdeveloperconference.com
Analytical/Performance Cookies
These cookies collect information about how you use our website. for example which
pages you visit most often. All information these cookies collect is used to improve
how the website works.
Company
Domain
LinkedIn
.linkedin.com
Meta (formerly Facebook)
.samsungdeveloperconference.com
Google Inc.
.samsungdeveloperconference.com
Functionality Cookies
These cookies allow our website to remember choices you make (such as your user name, language or the region your are in) and
tailor the website to provide enhanced features and content for you.
Company
Domain
LinkedIn
.ads.linkedin.com, .linkedin.com
Advertising Cookies
These cookies gather information about your browser habits. They remember that
you've visited our website and share this information with other organizations such
as advertisers.
Company
Domain
LinkedIn
.linkedin.com
Meta (formerly Facebook)
.samsungdeveloperconference.com
Google Inc.
.samsungdeveloperconference.com
Preferences Submitted
You have successfully updated your cookie preferences.