Overview: Vulkan API

Throughout 2016 you may have heard the term ‘Vulkan’ thrown around. Perhaps you heard the term when news broke, that the anticipated reboot of Doom would be supporting Vulkan. Alternatively, the Android enthusiasts among you may have heard the announcement at Google I/O, that the latest version of Android (7.0: Nougat) would be offering Vulkan support. If you are reading this article, it is probably still unclear to you… What exactly is Vulkan? Vulkan, released in February 2016 by the Khronos group (a 3rd party group featuring names like AMD, Valve, and Nvidia), is a low-level multi-platform graphics API. Based on AMD’s Mantle API, It is the successor to OpenGL, and a competitor to both Microsoft’s DirectX 12 API, and Apple’s Metal API. Great… So what does all of that mean?

Well for starters, let’s clarify just what an “application programming interface” (API) is. An API is formally defined as :

“a set of functions and procedures that allow the creation of applications which access the features or data of an operating system, application, or other service

A popular analogy for describing this, is to compare an API to a restaurant waiter. A waiter offers customers a menu to choose from, and then relays orders to the kitchen, later returning the requested dishes to the respective customers. In software terms, an API offers developers a selection of functions to call, and then appropriately handles any requests made by the developers software. As such, API’s often take the form of code libraries that handle  common tasks, and as such are considered by many to be the building blocks of modern development. Vulkan is an example of an API that handles graphics rendering.

So that’s APIs out-of-the-way, but in this context what do we mean by “low-level”? Specifically, A low-level API refers to an API with fewer levels of abstraction between the developer and the hardware. Returning to our restaurant analogy, a low-level API is comparable to being able to specify : the individual ingredients of your meal, how each ingredient is cooked, and then being able to tell the chef your order directly. This offers advantages in specificity, and reduces overhead as you communication is more direct, and detailed. In particular Vulkan (along with its competitors) accel at using multicore machines and multithreading. Technology that was previously under optimised due to being built on large APIs that predate the popularity of the technologies. In general this is all considered to be beneficial, however it is important to notice that low-level APIs open up possibilities for previously non-existent problems. A big part of this is the shift of responsibility from the API to the developer. This make development increasingly complex; as more to-the-metal details need to be considered. Ontop of that, it also creates the potential for unskilled developers to make lower quality, less stable software as they have more access, and fewer restrictions. In this sense it is best to describe Vulkan as an API that enables better performance, but does not guarantee it.

neqhcbs

Vulkan API vs OpenGL : https://www.hardwareunboxed.com/doom-vulkan-vs-opengl-benchmark-the-tide-turning-in-amds-favour/

Finally, and frequently cited as the most appealing feature of Vulkan, is multi-platform support. A multi-platform API is as it sounds, an API that is supported across multiple platforms. As of writing Vulkan currently supports Windows, Linux, Tizen, and Android, across several hardware architectures (Nvidia and AMD GPU’s included) . This is a unique selling point for Vulkan as its major competitor DirectX 12 is only supported on XboxOne and Windows 10+, and Apple’s Metal is only supported on IOS and OSX. As Vulkan is an open specification it is also leaves the possibility for others to adopt the API in the future. DirectX 12 and Metal however, will remain exclusive to their respective owner companies.

So that’s what Vulkan is, but will it be adopted by the industry, or will it be left in the dust? This is a complex question for a few reasons, and truthfully can only be answered in time. That said we can certainly speculate based on the current  situation. For starters, it is noteworthy that Vulkan has a very strong backing from Valve (the company behind the gaming platform Steam). Part of the reason for this is that Valve has invested heavily in SteamOS and Steam Machines. These products are relevant as SteamOS is based off of Linux, an operating system that currently fails to support the majority of PC games. An industry transition to Vulkan would remove the limitations of Linux as a supported gaming operating system, and in doing so greatly expand the library offered by Steam machines. In turn this would allow Steam Machines to better compete in the console market. Vulkan and Steam machines share a symbiotic relationship. For Steam machines to better compete, Vulkan will have to take off. For Vulkan to better compete, Steam machines will have to take off.

The second trick in Vulkan’s pocket is the growing Android gaming market. Although this is a separate demographic to the major console market, the appeal of being able to port Android games to the PC, and PC games to Android is something that should not be underestimated. In part because of the growing size of the market, but also due to the growing capabilities smart phones offer as a gaming platform. On top of all of that, consider: the popularisation of VR on both PC and smartphones, rumours of an Android desktop operating system, and a slew of android powered consoles, it seems fair to say that the gap between PC gaming and Android gaming is thinning. As that gap thins, the advantages of Vulkan can be exploited.

Now all of these points are well and good, but there are major roadblocks that Vulkan will have to overcome. In my opinion one of the biggest detractors to Vulkan momentum is Apple’s decision to not support Vulkan on IOS or OSX. It had been speculated that Apple would support the platform to improve its limited game library, however the company announced at 2015’s WWDC that they would be using their own low-level API named Metal, and would not be supporting Vulkan or later versions of OpenGL. As a result of this, the hope that Vulkan could become the prominent graphics API on the three of the major computer operating systems (Windows, Mac and Linux) is dashed. Apple has released MoltenVK (a combination of Metal and Vulkan) in compensation for this, however without Apple backing Vulkan as a primary API, it does little to change things.

MetaliOS8.jpg

Ultimately it will be up to the game development studios, and game engine developers to decide Vulkan’s fate. Fortunatly the latter of the two is already hard at work, with both the Source engine (Valve) and the Unreal engine (Epic Games) already supporting Vulkan, and Unity announcing their plans for Vulkan support in 2017. Development studios on the other hand will be more of an uphill battle. In part due to the one year head start DirectX 12 has had on Vulkan, and in part due to developer API preference. As a result of this DirectX 12 also offers a larger game library. Victory for DirectX 12 will result in improvments in effective graphics hardware use, but in an industry dominated by Microsoft and Windows. I howver, am pulling for Vulkan in this fight, as it has the potential to shift the market towards a diverse multi-platform, multi operating system landscape. A landscape that from my perspective benefits the consumour most of all.

The What, the How and the Why : Frames per Second

FPS or frames per second has been a hotly contested topic in recent years; the controversial release of Peter Jackson’s ‘The Hobbit’ trilogy in 48fps, alongside a growing advocacy from the gamer community for buttery smooth 60 frames per second rates, has lead to a lot of confusion, and debate over the facts on FPS. This article will give you the comprehensive run through of the what,  the how and the why of FPS.

frame-per-second_01

Now before diving in head first it’s important to have a vague understanding of how recording, and displaying video content works. To explain this we will be using the example of Peter Jackson’s first Hobbit film. When Jackson points his camera at a scene, and hits record, his camera begins taking 10s of images (frames) a second, 48 in his case. These images will be stored on film, and given to post-production team to produce and edit film. When the film is ready for feature release, it will be taken to a cinema, and placed in a projector that will cycle through the supplied frames at a specified rate, 48 times a second in our example, projecting each one on the screen. The rapid flickering through images is received through the audiences eyes, and our brain interprets it as motion. In this example the FPS is the rate at which Peter Jackson’s camera is capturing his film scene. A precise definition is that FPS is the frequency at which an imaging device produces unique images.

24fps-vs-30fps-vs-60fps

Now that we have a vague idea of what FPS is, let us now ask how differing FPS frequencies change our viewing experience. A simple comparison for this would be comparing sports television with a cinema going experience. Live sports are general recorded in 30fps, whilst, although there are exceptions, films are recorded in 24-25fps. The effect this has, is that films suffer from a higher abundance of motion blur than sports shows. This is because natural motion blur is caused by insufficient FPS being delivered to the human eye, resulting in the brain “filling in the blanks” between frames changes. This filling in the blanks is what creates the blurry images we get in action packed, fast moving scenes. Sports television on the other hand, with it’s higher recording FPS well always look smoother, as the brain is receiving a more satisfactory FPS rate, therefore filling in fewer blanks, thus creating less motion blur.

Curiously enough, it was the reduced motion blur that caused the displeasure of many audience members viewing the 48fps Hobbit films. The sharper image gave us an psychological cheapness, with many people associating it’s qualities to that of sports and soap television shows. It’s a rare occasion were technological advancements have been perceived to weaken the experience. On top of that, having a higher FPS cheapened the Hobbits CGI effects, with large scale generated effects frequently using motion blur as a tool to blend computer generated effects into the scene. Not every ork, mountain or dwarf can be given the detail of Smaug or Golem.

refreshrate-compare

Now that we’ve covered the effects of FPS, it is critical that we introduce the idea of a refresh rate, as it is an area that has lead to a lot of muddy water to say the least. Refresh rate is the rate at which a display deceive changes it’s displayed frame, it is not the rate at which an video content is recorded(film) or rendered(video games). A film camera shooting a scene will have an FPS of 24. A projector flickering through a film reel at a rate of 48 frames per second is said to have a  refresh rate of 48hz. This means that even if you record at 120fps, if you have 60Hz display you will only see 60fps, whilst if you have a 60hz display with 30fps film, you will see 60fps but it will be display the each frame twice. It is also crucial that these two rates or synchronized, as  if your FPS and refresh rate are not either the same or a multiple of each other you will end up with tearing or half and half frames. This is where the frame you wish to display has not fully been loaded and the display device displays it anyway.

1000509261001_2047872072001_Edison-Modern-Marvels-FIX

An interesting point to note is the 48hz refresh rate being paired with 24fps content; the explanation for this comes from the great Thomas Edison. Edison stated that “46 frames per second was the minimum need by the visual cortex anything less will strain the eye”. Great, but the technological limitations at the time simply made recording at that rate unfeasible, so a solution was devised to double up frames in a film reel. This meant you could record in 24fps, and display the same frame twice in on a projector running at 48hz. This satisfied both the technological limitations of the time, and Thomas Edison’s ruling on motion video refresh rates.

Now a lot of people will hear myths that the human eye cannot see past 24fps, 30fps or 60fps, but all of these are false. In reality the human eye doesn’t have a precise limit, the affecting limitation is the brains ability to perceive images sent from the eye, a number many speculate can be around 1000fps.  The reason we use 24fps, is due to a standard set during the introduction of sound into cinema. As sound would have to synchronize with video, the film production industry had to standardize a  sensible rate for all films to be shot in to prevent audio-video synchronization mayhem. They decided on 24fps, as it was efficient enough in terms of space and money to film with, and could still use the frame double up method to satisfy Edison’s rule. The reason this standard has remained is due to our attachment to its characteristics, and the cost involved with switching to higher frame rate supporting hardware. One could argue that the move is simply unnecessary.

It is important to distinguish the video game median in this argument however, as its priorities in regards to FPS are vastly different to film’s. One distinction is that video games are a median saturated with competitive online games, where the faster your screen is being updated, the quicker you will be able to react, and the bigger the edge you will have. The nature of the content is also a distinction, the natural motion blur produced by a film feels smooth to the human brain, where as the natural blur (not the artificial blur developers will create) of video games virtual models is creates a a jagged unpleasing effect.

21-11-2013-00-39-32-9e37

An interesting point to be made is the issue of FPS – refresh rate synchronization in video games. We mentioned before that film was shot in 24fps and displayed at 48hz, well a video game may be rendered at any number of varying speeds, it is impossible to set a catch all refresh rate for computer monitors.  This lack of synchronization is why many games may suffer from tearing if they do not have features like fps limts, and V-sync enabled, that limit the fps to a multiple/equal value of the refresh rate of the monitor in use. This is a technological area that I will be covering soon due to the recent advancements in synchronization technologies Freesync from AMD and, G-Sync from Nvidia.

adaptive_sync_versusxcf_0_0

Netflix can now terminate your account for using a VPN. Will it?

You may have noticed this week that Netflix, the fast growing video on-demand streaming service, has made a small update to its terms & conditions.

Highlights of which include section 6C:

You may view a movie or TV show through the Netflix service primarily within the country in which you have established your account and only in geographic locations where we offer our service and have licensed such movie or TV show.

…and section 6H:

We may terminate or restrict your use of our service, without compensation or notice if you are, or if we reasonably believe that you are (i) in violation of any of these Terms of Use or (ii) engaged in illegal or improper use of the service.

This seems to be a pretty decisive action regarding Netflix’s turmoil over enforcing stricter VPN sanctions. A sad sign indeed for geographical areas that are deprived of TV shows many deem are selling points of the service. “Breaking Bad”, “Orange is the New Black” and “Daredevil” (along with its litany of planned Marvel shows) as examples.

However, all is not lost for you VPN loving users. Why? Well the important point here is Netflix’s position as a two-sided market contact point. Netflix needs to appease its show producers and partners, as well as its subscribers. It works as a middle man. Now the T&C update is likely a move to appease the former. It’s well documented that many show producers have not been happy with Netflix’s laxed positions on multiple users using one account, as well as the topical point of rampant VPNing.

The recent Sony hack backs up that claim with one executive stating:

“Netflix do not closely monitor where some of their subscribers are registering from and don’t take steps to counter circumvention websites that allow people… to subscribe illegally”

Now, here is critical detail. They do not say they will terminate accounts. They state that “We may terminate”, many believe this is done on purpose. To explain why, we need to look at the latter of the two-sided market – us – the paying customers.

Some might argue that “oh VPNs are uncommon and negligible”, and thus the customer side of the argument is hardly a powerful one. However, if we drill down into three points; the seemingly relaxed stance Netflix has had on the matter should become much more apparent.

Netflix-blocked

Point one, site access. This is the big one. China has been suggested to have a count of up to 20 million active subscriptions on Netflix, in a country with strict internet laws that block Netflix or at least would if not for… you  guessed it… VPN’s. (http://www.globalwebindex.net/blog/29-of-vpn-users-accessing-netflix). Obviously that is a substantial revenue stream worth fighting for.

Point two, show access. Nations like Australia are being documented for having extremely poor show access. A very bad sign considering the available content is key to getting new subscribers. Myself being a great example. I first subscribed to the Netflix service to watch “Breaking Bad” on demand on day of release, something I would not have been able to do in Australia. No shows, no subscriptions.

Point three, competition. Although Netflix has dominated the States for quite some time, free market competition has begun to take shape. Amazon has successfully been pushing itself out to an already established user base, packaging the service in with their amazon prime subscription. Although it has not reached nearly the same numbers in the states, it is certainly a concern if Netflix want’s to stay ahead of the pack.

amazonprime

Now in retrospect, lets asses the original quandary, how harsh will Netflix be with this policy of mights and cans? Optimistically I’d say, not very. Netflix is in a luxurious position at the moment, in which it can throw its weight around: they have an established user base and brand in an unsaturated market, on-demand streaming services are on the rise as a counter movement to piracy, and Netflix has started to become independent, producing its own flag ship shows allowing it to bring control competently back into its own hands.

To Buy or not to Buy : Grand Theft Auto 5

It has been 7 long months since the initial release of Grand Theft Auto 5 on consoles, and at long last the Grand Theft Auto PC community is sinking its teeth into a fresh piece of car stealin’, drug dealin’, no moral feelin’ Grand Theft Auto pie.

The question is, should you? Now the popular point of contention for potential buyers seems to be the 7 month delay. Why would you buy a 7 month old game at full retail price? Better yet, why would you purchase a second copy of a game you already own on a console. What has Rockstar (the publisher) done to warrant your hard earned cash?

maxresdefault

Well an excellent reason would be the drop-dead awe inspiring visuals. On a platform that prides itself on superior graphic fidelity and buttery frame rates Rockstar has really hit a hole in one. Core rendering has been bolstered to support 60+ FPS as well as 4K resolution (with support of up to 3 screens). Draw distance has been greatly increased allowing you to feel a true sense of scale. Weather conditions and lighting blooms have been improved to further your immersion into the world. Traffic and wildlife densities have been increased, giving the world a sense of vibrancy. It really is something to behold.

You may point out that these are all graphical improvements. You may be asking, “What new in-game content am I getting in this release that I didn’t on the console version?”, and the short answer is… Nothing. There are no additions to the core game play, nor are there any additions to the story or world. Hang on. No extra in game content? So it’s just a flashy paint job? Why is everyone so excited? Well here is your answer… The community. It will only take you a brief YouTube search to realise how dedicated and inventive the GTA modding community is. Do you want to play as the Hulk? No problem. Do you want to wield a lightsaber? No problem. Do you want to drive the brand new Bugatti? No problem.

Putting development control in the hands of the players is what makes the PC shine. You only need to look towards Minecraft to realise how far you can stretch a game’s lifespan when you give it the backing of a passionate and creative community. On top of that, GTA 5 will open itself up to larger server player caps, allowing you to fully populate a city with online players. When you buy this game, you are not buying GTA 5, you are buying into the GTA 5 PC community.

minecraft__140227211000

Now, I mentioned before that there was no added in-game content. Whilst this is true, it is not to say that there are no new features to the game. In particular it’s vital to mention the new video editing suite Rockstar has introduced into the game. This editor will allow you create scenarios in game, and record all sorts of creative and wacky videos. Look towards Garry’s mod to get an idea of the silliness that can ensue when you give the player control of the camera.

The editor also features integration for sharing videos out to social platforms, and to Grand Theft Autos internal community sharing platform. In a time that has seen the video game streaming service, Twitch, sell for one billion US dollars, and had YouTube’s most subscribed channel spot occupied by a video game commentator, it really is a welcome addition.

Here is an example of content produced using the in game video editor https://www.youtube.com/watch?v=8ITAnNzj-zg

In the end it took 2 delays and 7 months of waiting, but it has to be said that this is without a doubt the definitive version of Grand Theft Auto 5. If it is right for you might be another question, and will certainly change on a case by case basis. Listed below is the TL;DR of reasons you should, or should not buy GTA 5.

Buy

  • You have a keen interest in online multiplayer and game mods.
  • You like to share and create videos with your friends.
  • You have a powerful machine that can tap into the graphics.
  • You have not played the console release.

Don’t Buy

  • You are only interested in the single player offline mode.
  • You have already completed the game on console, and are looking for more in-game content.
  • You are not enticed by 60+ FPS and ultra sharp graphics.