The sectors that create products based around technology have had a place of battle marked on their agendas for a long time: mobiles. One such sector is that of video games, which finds a place for its business on the most intimate of user devices. Both Apple and Google are involved in a continuous process of launches, improvements and alliances related to graphics APIs for games: Metal in iOS and Vulkan as an Android partner. Moreover, Apple and Google compete with Microsoft and other graphics developers.
In mid 2014, Apple launched the iOS 8 mobile operating system, which included 4,000 APIs designed for developers to create new apps. OS included two development brands, HealthKit and HomeKit, and Metal, a graphics API that promised on its release to squeeze the most out of the A7 processor in apple devices. Apples’ new graphics API has its own framework called MetalKit.
Until the arrival of this new generation, graphics APIs were not prepared for efficient management of data for it to be rendered, which includes a series of sub-processes related to calls between the graphics processing unit (GPU) and the central unit processing (CPU). This causes the CPU to consume more time and energy, elements that could be used to enhance graphics, special effects and 3D animation in a video game. Metal and Vulkan improve this.
Metal, total control of the device
Metal provides a single unified programming interface and a language for parallel work in both graphics and data computation. This allows both processes to be integrated more effectively without needing to use several APIs simultaneously and separately. Control of the device’s hardware is total, which allows overload to be decreased despite the fact that the number of request to improve graphics and effects grows a lot.
Metal offers some important features for developers:
– An interface with low overload: Metal allows “hidden” bottlenecks, as they are called in the API documentation, to be removed. The idea is to have more direct control over the graphics processing unit (GPU) to meet a greater number of requests from the CPU without causing more overloading.
– Memory and resource management. The outcome is that less overloading allows a greater number of calls and requests to be made to the GPU from the device’s CPU. This translates into enhanced graphics performance: more objects on screen without needing to take CPU to the limit.
– Integrated support for graphics and calculation operations. Metal uses the same data structures and resources for both graphics and calculation operations. Metal’s framework allows resources to be shared between the execution time interface, calculation functions and graphics shaders (procedures allowing game developers to manipulate not only lighting and shading, but also the creation of effects and animations).
– Precompiled Shaders.
Android turns to Vulkan to combat Apple
Vulkan, a graphics API developed by Khronos, is based on an open standard to gain in efficiency and performance, both in graphics and data computation, responding to the demands of new graphics processing units. As with Metal, Vulkan is designed to facilitate organized GPU data consumption in the rendering process. This is what makes it possible to have special effects and high quality 3D animation.
Outstanding features of Vulkan:
– Direct control over GPU functioning, which facilitates a reduction in overloading and improved graphics performance.
– Multi-threading technology. Allows several threads to be run in parallel on a single processor. The final goal is to improve general performance.
– Used in several types of device: mobiles, desktop, consoles, etc.
– Layered architecture.
– Simpler drivers. Lower overloading.
– ASTC free texture compression system. Reduces memory and bandwidth consumption for graphics texture processing.
– Debugging and robustness in running secure code.
DirectX 12, the Microsoft graphics API
DirectX 12 is the latest version of Microsoft’s DirectX graphics API. The application programming interface that handles the aspects visual in all devices with Windows operating systems, particularly Windows 10. Above all, it is an API focusing on graphics development for video games, not only for the desktop, but also for other Seattle company products, such as mobiles and consoles.
Some of the key features of this new API:
– One of the improvements in DirectX 12 compared to DirectX 11 is its 3D graphics system. Direct3D 12 offers low level hardware abstraction, allowing developers to simplify the whole process of adapting code to the different hardware on which their product will be run. The new Microsoft API achieves this by permitting more direct access to hardware functions.
– A total re-configuration of the graphics management.
– Optimization of the process of calls from the GPU to the CPU. Bottlenecks are eliminated, resulting in a greater number of objects on screen when a user plays a video game. Performance improves because the CPU responds quickly to commands from the graphics processing unit.
– The DirectX 12 multi-adapter. Makes it easier for developers to split processing between the main GPU and the CPU’s integrated graphics. The heaviest graphics parts are included in the GPU processing tasks, but other, simpler processes are performed in parallel by the CPU. Evidently, this improves performance.
– The DirectX 12 API is compatible with previous versions, such as DirectX 11.
If you are interested in the world of APIs, find out more about BBVA’s APIs here.
Banco Bilbao Vizcaya Argentaria, S.A. owner of this portal uses cookies and/or similar technologies of its own and third parties for the purposes of personalization, analytics, behavioral advertising or advertising related to your preferences based on a profile prepared from your browsing habits (e.g. pages visited). If you wish to obtain more detailed information, consult our Cookies Policy.
Cookie settings panel
These are the advanced settings for first-party and third-party cookies. Here you can change the parameters that will affect your browsing experience on this website.
Technical Cookies (required)
These cookies are used to give you secure access to areas with personal information and to identify you when you log in.
Name
Owner
Duration
Description
gobp.lang
BBVA
1 month
Language preference
aceptarCookies
BBVA
1 year
Configuration Accepted Cookies
_abck
BBVA
1 year
Helps protect against malicious website attacks
bm_sz
BBVA
4 hours
Helps protect against malicious website attacks
ADRUM_BTs
Salesforce Marketing Cloud
Session
Required for monitoring of the service, inherent to SFMC
ADRUM_BT1
Salesforce Marketing Cloud
Session
Required for monitoring of the service, inherent to SFMC
ADRUM_BTa
Salesforce Marketing Cloud
Session
Required for monitoring of the service, inherent to SFMC
ADRUM_BT
Salesforce Marketing Cloud
Session
Required for monitoring of the service, inherent to SFMC
xt_0d95e
Salesforce Marketing Cloud
Session
Remember user preferences (if any)
__s9744cdb192d044faa1bf201d29fafd1e
Salesforce Marketing Cloud
Session
Remember user preferences (if any)
wpml_browser_redirect_test
WPML
Session
Text translation in the portal
wp-wpml_current_language
WPML
24 hours
Text translation in the portal
Analytics Cookies
They are used to track the activity or number of visits anonymously. Thanks to them we can constantly improve your browsing experience
Your browsing experience is constantly improving.
With your selection, we cannot offer you a continuously improved browsing experience.
Name
Owner
Duration
Description
AMCV_***
Adobe Analytics
Session
Unique Visitor IDs used in Cloud Marketing solutions
AMCVS_***
Adobe Analytics
2 years
Unique Visitor IDs used in Cloud Marketing solutions
demdex (safari)
Adobe Analytics
180 days
Create and store unique and persistent identifiers
sessionID
Adobe Analytics
Session
Launch's internal cookie used to identify the user
gpv_URL
Adobe Analytics
Session
Adobe Analytics plugin: getPreviousValue Capture the value of a certain variable in the following page view, in this case the prop1
gpv_level1
Adobe Analytics
Session
Cookie used to store the DataLayer levl1 of the previous page.
gpv_pageIntent
Adobe Analytics
Session
Cookie used to store the pageIntent of the previous page.
gpv_pageName
Adobe Analytics
Session
Cookie used to store the pagename of the previous page.
aocs
Adobe Analytics
Session
Cookie that stores the first values collected at the beginning of a process.
TTC
Adobe Analytics
Session
Cookie used to store the time between the App Page Visit event and the App Completed event.
TTCL
Adobe Analytics
Session
Cookie used to store the time between the LogIn event and App Completed.
s_cc
Adobe Analytics
Session
Determine if cookies are active
s_hc
Adobe Analytics
Session
Cookie used by Adobe for analytical purposes
s_ht
Adobe Analytics
Session
Cookie used by Adobe for analytical purposes
s_nr
Adobe Analytics
2 years
Determine the number of user visits
s_ppv
Adobe Analytics
Permanent
Adobe Analytics plugin: getPercentPageViewed Determine what percentage of the page a user views
s_sq
Adobe Analytics
Session
ClickMap/ActivityMap features
s_tp
Adobe Analytics
Session
Cookie used by Adobe for analytical purposes
s_visit
Adobe Analytics
2 years
Cookie used by Adobe to know when a session has been started.
Advertising Cookies
They allow the advertising shown to you to be customized and relevant to you. Thanks to these cookies, you will not see ads that you are not interested in.
The advertising is customized to you and your preferences.
Your choice means you will not see customized ads, only generic ones.
Name
Owner
Duration
Description
OT2
VersaTag
90 days
VersaTag Cookie used to store a user id and the number of user visits.
u2
VersaTag
90 days
VersaTag Cookie where the user ID is stored
TargetingInfo 2
MediaMind
1 year
Cookie that serves to assign a unique random number that generates MediaMind.
Customization Cookies
These cookies are related to general features such as the browser you use.
Your experience and content have been customized.
With your selection, we cannot offer you a continuously improved browsing experience.
Name
Owner
Duration
Description
mbox
Adobe Target
9 days
Cookie used by Adobe Target to test user experience customization.
Looks like you’re browsing from MexicoSpainArgentinaPeruColombiaBelgiumChileUSAFranceHong KongItalyPortugalUnited KingdomTurkeyUruguayVenezuelaAlemania, so let’s show you the custom content for your
location. Change
Select a country
In order to access the private area and corresponding sandbox, select the country of the APIs you want to use.