Pages

Tuesday 2 June 2015

Conclusion of part 3!


Conclusion


So, a lot has been talked about in the third part of this blog. Upon writing this, a few things have become apparent to me that were not before:

  • There are a huge number of programming languages out there, and they all have very different purposes and capabilities!
  • Printers run Java?!
  • Call of Duty still runs on a modified version of the Quake engine!
I hope that you have enjoyed my blog, I doubt that I will be able to add too much more to this again, but we all surprise ourselves!

Cheers,

Matt :D

APIs


APIs
An API (Application programming interface) is a set of code that applications can access. They act like a base for all applications, that contains basic universal code, so that the coder of the application does not have to re-write it all again. There are two main APIs for video games, OpenGL and DirectX. APIs aren’t only for games though, as they are needed for all computer applications.

OpenGL

OpenGL is an API used to run games. It is used in a variety of games, such as the Counter Strike games and the Need for Speed games. OpenGL stands for Open Graphics Library, as it is an API for 2D and 3D games. It is multi-lingual and multi-platform, so it is a popular choice to use.
OpenGL was created from 1991 and released in 1992 by Silicon Graphics Inc. The API focuses on interacting with a computer’s GPU (graphics processing unit) to achieve hardware-accelerated rendering. Although commonly used within video games, it also has other great uses, such as Computer aided design, and simulators (such as flight simulators).  OpenGL offers some built-in capabilities, which are requestable through the API. These include hidden surface removal, alpha blending (transparency), anti-aliasing, texture mapping, and atmospheric effects (fog, smoke, and haze). Anti-aliasing is a feature that can blur the edges in a game, which gives a more realistic look, opposed to it looking blocky. There are many variations of these post-processing effects, and it really comes down to user preference of which to select, for example NVidia’s TXAA (Temporal Anti-Aliasing) can cause users to dislike it because of the blur that it creates.

DirectX

Microsoft’s DirectX is actually a collection of assorted multimedia APIs that are directed towards video games and videos on Microsoft platforms. Originally, all of the separate APIs had separate names, and were downloaded separately, the names of them were Direct3D, DirectDraw, DirectMusic, DirectPlay, and DirectSound. Now, all of these APIs all come under DirectX, the X being a symbol for all of them together. Later on, this X actually became the ‘X’ in Xbox, Microsoft’s games console. DirectX is now used in a few different platforms, including that of the Xbox One and the Sega Dreamcast, and obviously, Microsoft Windows. Actually, whenever you set up a video game based on DirectX within windows, you are usually greeted with a DirectX pop up, saying that it is being updated or configured. DirectX can also be used for computer aided design and other visualisation graphics software. 

Facebook API

The gigantic social network, Facebook, does also have its own API. This API can be used in other websites to access features such as the iconic ‘like’ button and sharing, Facebook login capabilities, payments, and Facebook games. It is a web-based API. The Facebook API features are becoming more widespread across other websites, as the ‘like’ and ‘share’ buttons become more popular and well-known.









So, that is all for the third part of my blog, and sadly that is the end! I will follow this up with a conclusion on what I have found, and then that is all!

Matt :D

Scripting

Scripting

Scripting is huge part of video game and application programming. A script is effectively a text file written in a programming language with multiple commands for the CPU to follow. Scripts are executed by other programs, in order to send multiple processes to the processor. As they are generally just text files, they are easy to edit and write, and even save. Windows machines use DOS and Visual Basic scripts, whereas Mac computers will use AppleScript scripts. For websites with dynamic content, there is ASP, PHP and JSP scripts.


UnityScript

UnityScript is a proprietary script to be used in the Unity game engine. UnityScript can be used alongside multiple types of programming language, such as JavaScript and C#. UnityScript allows the user to make large changes to the gameplay, with just small changes.



QuakeC

QuakeC was made in 1996 to program aspects of the game Quake. QuakeC allowed the user to change many aspects of the game, meaning it was one of the most versatile engines out there at the time. The Quake Engine has been edited by Infinity Ward, and been used in multiple Call of Duty titles! It is even in recent titles to date.







Maxscript

Maxscript is 3DS Max's proprietary scripting language, which works similarly to the Maya Embedded Language. It allows the user to make scripts in order to repeat tedious tasks, making it less work for the user.




















Games Application Software


Games Application Software

Games application software is essentially just a term for the software that makes a game run. 

Computer Programs

In this section, I will start simply, by explaining first what a computer program is, and then expand on that. A computer program is just a set of instructions and algorithms that tell the operating system to do something. By following these instructions, the computer can do something useful, such as opening an internet browser etc. All computer programs are written in a programming language.

Programming Languages

For a computer to be able to recognise what instructions you have set it, it has to be in a language that it understands. They do not understand English or Spanish, it has to be in a programming language!There are many many different types of programming languages available, each following similar principles, but have slightly different outputs. Different programming languages are used for different tasks and different systems, but some programming languages can be used universally, such as Java, C# and C++. Most video games these days are written mostly in C++ and C (some with Java, e.g Minecraft), and some assembly language. Assembly language is a very basic, lightweight language, used for as single type of console. It is another reason why you can not run, for example, a PS4 game on an Xbox One. Interpreted languages are programming languages that require to be translated by another program, so that the CPU and the rest of the computer/console can perform the task required by the language. This means that it can be slower, as it has to go through a separate application first, but it also means that it is a lot easier to program in these languages, making it easier for developers. Most of the big programming languages that I have mentioned above are interpreted languages, as they are cross-platform and very flexible.
Java

Java is a very multi-platform language, with '3 billion devices' running it - as boasted by them quite a lot. It is used for web plugins frequently, as it can be run on many different devices. It is also used to run mobile phone games frequently, but not console games.Java also has a 'micro edition', (which is how 3 billion devices run it), which is used mainly in lightweight devices, such as DVD players and printers (see the picture for a larger list). 
C#C# is another type of interpreted programming language, which is used mainly for developing game development tools. A game development tool is a piece of software that helps developers to create a video game, through creation of 3D game assets, or the simulation of physics in a game.
Compiled languages, such as C and C++ are programming languages used mainly for modern games. When written, this code can be compiled into a file that can be executed by a computer, which in effect runs the program that has been written.Object-oriented programming is a programming language that allows objects to be grouped. These grouped 'classes' can be given different permissions and characteristics. This can be useful in games, as if you need one group of NPCs to carry shotguns, and another group to carry baseball bats, but they all need to look different, you would use classes to do this.OOP is a good way of coding in gaming terms, as it allows the developers to do things quicker, and much more organised.
























Device Drivers

Device Drivers


Hey! This is the section on device drivers, as a part of the last third of my blog - current software technologies.
This is going to be a relatively short section, as I will be covering three types of device drivers used in computers and consoles.

So, what exactly is a device driver?

All devices need a small piece of software, which tells the operating system how to interact with it. The pieces of software are called drivers, and they are very specific to the device that you are connecting. Most of the time, if you just plug in a device such as a keyboard or a mouse, it will start to install the driver automatically, but in other cases, you will either have to install it via a disc, or through downloading it from the internet. Some drivers will automatically check for newer versions on the internet, and then inform the user that it exists, and then try to install it.

I will now cover drivers for computer expansion cards.

  • Graphics Cards
To be able to use a graphics card to its ability, you have to install the drivers for it. You usually find the drivers for these on the graphics card manufacturers website. In my case, I own an Nvidia Card, and when I first installed the driver for it, it installed a program called 'GeForce Experience'. GeForce Experience will automatically alert the user whenever a driver update is available, and allow you to download and install it without having to visit Nvidia's website again. 


For users with AMD/ATi Cards, it is a very similar process to install drivers. So, the driver itself actually tells the operating system what the GPU can do, and what its limitations are, allowing the user to play games or handle other graphics with that card.

  • Sound Card
It is a very similar process for sound card drivers, as you will have to download the driver online, (or in some cases use the supplied disc). Most higher-end sound cards (ASUS, Creative etc.) will have their own software which allows the user to update it too. The sound card driver will tell the operating system the specifics of the card, for example, how many speakers are connected, etc.


  • Network Interface Controller Driver
In some cases, a computer will have a separate network card, which acts to connect the computer to the network, either through wireless or Ethernet cable. These are actually more uncommon these days, because of better motherboard network interfaces. Either way, both expansion card and motherboard network interfaces will need to have a driver, which is usually done through a disc, or if it is on the motherboard, through the motherboard drivers.

So, that is all on device drivers, please stay tuned for more!

Matt :D















Monday 1 June 2015

Operating Systems



Operating Systems

An operating system is the one main programs that runs on a computer or games console. Every system will have its own variation of an operating system, and for some systems, mainly PCs, you can choose with operating system to install. An operating system is of some sorts a package, which allows the user to perform basic but important tasks, such as sending a signal to the monitor, to even accessing hardware such as hard drives and printers! 




An operating system's tasks fall into six main categories:

  • Processor management
  • Memory management
  • Device management
  • Storage management
  • Application interface
  • User interface

Most modern computers allow the user to install an operating system of their choice, from some kind of storage medium, such as a USB flash drive or a disc. A common approach to installing an operating system on a Raspberry Pi, is to install a piece of software to an SD card called NOOBS, which stands for New Out Of the Box Software, which allows the user to flick through a list of certain operating systems, and pick one to install. It is also possible for Mac systems to run Windows, through a piece of software called Bootcamp, although this means that the user will not have as much support as a usual PC user would get.



Generally, an operating system will be included pre-installed on games consoles and package PCs, as it is much more convenient for the user, and not all console users will know how to install an OS. Consoles have locked, proprietary operating systems, which are hardware specific, meaning that you can not run an Xbox's operating system on a Wii. 





This is the Xbox One's operating system, which is actually a stripped-down flavour of Windows 8!










And here is the (in my opinion) not-so beautiful PS4 operating system.









As for PCs, you're generally free to pick whatever you want. There are many versions of different types of operating systems on the market, probably actually thousands. There are three main PC operating systems on the market:


  • Linux
Linux is a (usually) free, very open-source operating system, which is usually used by people who don't mind getting their hands dirty with lots of work in the terminal (see picture)
The most popular 'flavours' (or distros) of Linux is Ubuntu and Raspbian (for Raspberry Pis).



  • Windows
Windows is possibly the most user-friendly and popular of the bunch. Most home PCs will have a version of Windows. Windows has seen many releases, with its latest being Windows 10!
At the time of writing this I am actually very excited about Windows 10, as I have just received a message on my Windows 7 PC, saying that I am in the queue for it!




  • MacOS
As the name suggests, MacOS is the operating system for Mac computers. Mac OS is not very open-source at all, only being able to be installed on mac systems with specific hardware.

Despite being a very beautiful operating system, it is only available to those with (expensive) macs. You'd have to be a super-posh college lecturer or something to own a mac!


So, three very different types of operating system, but what are the similarities?

  • A GUI (Graphical User Interface)
A GUI is very common among most operating systems. The GUI allows the user to navigate their system, and actually use it in a logical way, that makes sense to them. By giving the user a visual representation of their files and folders, it allows them to be able to navigate them easily. Before GUIs, there was lists of information, which took a long time to get through. An operating system that you can choose whether to use the GUI for or not, is Raspbian for the Raspberry Pi. In Raspbian, you can pick whether you want the GUI, or just the command line prompt, as pictured on the right. The Rapsbian command line prompt is better for those using Raspberry Pis for more technical reasons.


  • Managing the computer's memory.
  • Managing the hardware.

There are four main types of operating system available, which are all specific to the system that they run on.


  • RTOS
An RTOS is used on machines that require minimal human input. Machines like this are common in factories and other industrial places. They have to be Absolutely Flawless, as they control machines that are designed to repeat a task many times. If they have any malfunction, it can cause huge issues.

  • Single user, single task
A single-user, single task operating system is designed so that one person can do one task at a time. This is opposed to multitasking. A good example of a single-user, single task OS is that on an Xbox 360. On the Xbox 360, you could only do one thing at a time effectively, for example, you could not have a game running, and have a program such as Netflix on in the background. This was made possible on the Xbox One.


  • Single user with multi-tasking
This is very similar to single user, single task, but it allows the user to run other processes in the background. These operating systems have been around for a while in PCs, as users need to be able to have multiple things open at once, but it is a fairly new feature in consoles, for example, you can multi task on the Xbox One, allowing you to have multiple games and applications open at once, and be able to flick between them.


  • Multi user
Multi user operating systems are found often in businesses and schools/colleges. They allow multiple user accounts to be created, and they are able to log in to any computer that is on the network. By having this network set up, it allows room for hundreds or even thousands of people to be on it at a time.

Mobile device operating systems

Mobile devices are technically just portable consoles/computers, but with stripped-down specs. This means that they have to have operating systems too, which are more lightweight than those used on full-blown computers and consoles.

Windows 7 Starter Edition is an incredibly stripped-down version of full Windows 7, but it is used on low-spec mobile computers, like netbooks with low RAM. Of course, it has its drawbacks, such as not being able to use the aesthetic Windows Aero design, or be able to have multi-monitor support. It is also only a 32-bit operating system. 






iOS is the apple-device proprietary operating system. Is is currently at its 8th version (iOS 8), and can be run on apple iPads, iPhones and iPod touches. It is a Unix-like operating system, but is not fully compatible with Unix. It is not fully open-source, as you are not allowed to install applications from anywhere but the Apple App Store, which is a major drawback of the OS.


Android is iOS' main competitor in the market. It does not look as nice as iOS in my opinion, but can be run on many more devices than iOS can, and it also offers open-source compatibility, allowing users to pretty much install whatever they please. It is a Linux-based OS, which runs most applications in Java.







Windows has its own cut-down OS for phones and tablets. At the moment, the most up to date Windows Phone OS is a type of Windows 8, but this year, it will no doubt have a Windows 10 operating system.






This is a pie chart to show the share of the market share of mobile phone operating systems of 2015. You can see that it is mainly split between iOS and Android.


So, that is all on operating systems, please stay tuned for more on current software technologies!

Matt :D










Platform Dependency

Platform Dependency

A Games platform can be either dependent or independent. The dependency refers to whether the software is locked to running in only one operating environment.

  •  Platform dependent
A platform dependent piece of software can only be run on specific computers/consoles. A good example of this is Mac applications, which are proprietary to Mac systems, meaning that you can not run them on Windows or Linux PCs. As an example of dependent console platforms, it is the same thing as not being able to run PS4 games on an Xbox One.

  • Platform Independent 
Platform independence is the contrary to platform dependency, as in the applications can run in any environment - for example, programs written in a universally recognised 
language, such as Java or HTML, which can be run in multiple different systems.

  • Cross-Platform Games
When a game is cross-platform, it is released on multiple different systems, for example, when a game such as Call of Duty is released on both Xbox and Playstation, and even on PC.

Cross-platform games even spill out to other platforms, such as handheld revisions, and even to mobile phones. A good example of a game that is on a diverse range of platforms is Minecraft. Minecraft started out as a single platform game, on PC, but has now seen console revisions, such as that on Xbox 360, PS3, Xbox One and PS4 systems, It also has a pocket edition for mobile phones, and even a lightweight version written specifically for Raspberry Pi systems.



That is all on Platform Dependency for now, stay tuned for more on this subject, to be continued with operating systems!

Matt :D






Intro - Part 3


Unit 20 - Part 3: Current Software Technologies

Here is the third part of my Unit 20 assignment. In this section, I will investigate and evaluate:

  • Platform dependency of game platforms.
  • Operating systems used for game platforms.
  • Drivers for expansion cards in game platforms.
  • Application software used to develop games.
  • Application Program Interfaces.
So, I shall begin, so please stay Tuned! :D

Matt.

Monday 11 May 2015

Storage Media

Game Storage Media

There are many ways to store and play video games, across a range of different mediums. I will cover the most important and widely-used in this section.


  • Cartridges
Cartridges were the first type of console video game storage media. Cartidges are expensive to manufacture, meaning that they were eventually taken over by cheaper means.


  • Flash Memory
Flash memory is a relatively new technology, allowing the user to store games and game saves on a very small flash memory card, such as an SD card or a micro SD card. Examples of consoles which use this are the 3DS and the PSP. A drawback of flash memory is the small size capacities.

  • DVD
DVDs are no doubt the most common game storage media of this age. The highest storage a DVD can have is around 8.7GB, so with the way that games are made these days, at such a big size, DVDs don't really cut it anymore. This means that most games that are released on DVD format these days, have to have multiple discs. GTA 5 on PC is spanned over 7 discs!

  • Blu-Ray
So, with DVDs becoming less convenient, Blu-Ray discs are becoming more of a solution. Blu-Ray discs can store huge amounts on, for example, on the Xbox One, they can fit 50GB onto a single Blu-Ray disc. Blu-Ray disc readers are becoming ever more cheaper for PCs too, so it does seem that there will be a take over in the near future!

  • Digital Downloading
Digital downloading is the most convenient way to store games. The users can download the video game to their hard drive, and play it straight from there. This is heavily reliant on how much bandwidth the users have, and hard drive storage, as you can't download games without bandwidth or storage. Most modern consoles allow this through their marketplace systems, and PCs do also, most conveniently through software such as Steam and Origin.

Piracy is still an ever-battled crime in the video game world. Piracy is where a game is illegally copied and played. It has been a problem for decades in the game industry, and is still continuing to be, it is arguable worse now than it has ever been. Some DRM (digital rights management) is put in place on discs, but pirates always find a way to crack them. Some games have anti-piracy code, for example, Alan Wake (the game) gives the player an annoying eyepatch to hinder their gameplay!

Anyhow, that is all from me for this article, please stay tuned for future updates!

Matt :D




Sunday 10 May 2015

Memory, Sound and Display Technologies

Memory, Sound and Display Technologies

This part of the article will be about the different technologies that exist for memory, sound and displays. 


Memory
Memory is the most important component in a computer, without any memory in a computer, no processes would be able to run effectively, as even the CPU has its own memory (cache). Computers will also have separate memory modules (RAM), which store information that is being processed by the CPU. This saves the CPU from reading from the hard drive constantly, which would result in the computer operating very slowly. As it is random access memory (RAM), it is taken when it is required by the system.

Here is a diagram to show the effectiveness and price of different forms of memory.


Types of Memory

There are different types of memory, used for handling different processes inside a computer.

RAM is the most heard-of type of memory in a computer, as I aforementioned, it is accessed randomly, as it handles processes out-of-order. RAM isn't only found in consoles and computers, it is also found in many electrical devices, such as printers, to store things such as upcoming print jobs. The information stored in ram is flushed out when the power to it is lost, making it temporary.

There are a few main types of RAM:


  • DRAM
DRAM is the most common type of RAM, as it cheaper to produce. DRAM stands for dynamic RAM. Dynamic RAM is dynamic, because it gets refreshed thousands of times per second. It refreshes so much because the chips are made of lots of transistors and capacitors, so the capacitors leak information, thus needing to be refilled by the CPU.

  • SRAM
SRAM is static RAM, which is different to dynamic RAM, as it does not need to be refreshed, therefore making it more expensive to produce. As it does not need to be refreshed, it makes it much faster RAM too. SRAM is only used in parts of a computer where it needs to be fast, as most computers and consoles will use a combination of both SRAM and DRAM. As SRAM does not need to be refilled, it stops the need for the CPU to fill it with information again. 


  • RDRAM
RDRAM is an abbreviation of Rambus Dynamic RAM. RDRAM is one of the fastest types of RAM available to systems. It works similarly to that of DRAM, but can achieve quicker speeds, due to a higher end data bus. RDRAM requires a specialist motherboard, to utilize its full potential. A lot of consoles utilise RDRAM, the first to do this being the Nintendo 64.

  • SDRAM
Synchronous Dynamic RAM (SDRAM) is another improved type of DRAM, where data is received between sets of memory which removes the delay of receiving data as its split between two RAM modules. SDRAM is also synced with the clock speed meaning that the faster the bus speed is for the memory clock, the faster the RAM will perform loading calculations into the CPU faster and loading programs quicker. As its linked to the clock speed, if the clock speed is increased then the RAM will perform quicker, this is a good addition to have with a computer system that has been over-clocked as not only will the CPU perform quicker the RAM will also benefit from it.



Display


Most displays these days are LCD (Liquid Crystal Display). LCDs work by turning on and off pixels, by using liquid crystals. Light is shone through different liquid crystal filters, which control the light and colour levels, which end up in the form as different coloured pixels. As a pixel is made up of 3 sub-pixels, of blue, green and red, when combined, they can display 16.7 million colours (256 shades of each colour).
The amount of pixels lengths-ways multiplied by the amount up and down is the resolution (e.g 1080x1920 = 2,073,600 pixels)
All LCD displays will have a resolution, for example the New 3DS has a 800x240 resolution (top screen), and the iPad Air 2 has the resolution of 2048x1536. Obviously, the higher the resolution, the clearer and more expensive the display. 
4K is a 'new' technology, that has only been made available for a few months now, which is the resolution 3840x2160. This is obviously a very crisp resolution, but for a console or PC to run this resolution natively in game, it would need very beefy hardware. For PCs, if the player wants to achieve high graphical detail in their games at 4K, they would most definitely need an SLI or CrossFireX configuration (multiple GPUs).



Sound

Before rich and realistic sound for computers and consoles, they could only beep. These beeps could be put together in different pitches to make a very basic tune. Although irritating, there was no alternative in the time. Computers could not change the volume of the beeps though, or make any other sounds.
These beeps started out as a warning symbol (much like the beeps you hear on a PC boot), but did end up being manipulated into basic, non-realistic and quite frankly irritating tunes.

With the evolution of technology, today's games have rich, 3D, highly realistic and cinematic sounds, capable of being multi-layered. You can play pretty much every modern game nowadays in full surround sound, if you own even the cheapest 5.1 or 7.1 speaker setup. Capturing and recording sounds is also made easy and high quality, with sound cards. Sound cards have four main, notable components:


  • Analog-to-digital converter
  • Digital-to-analog converter
  • An ISA (Industry Standard Architecture) or PCI (Peripheral Component Interconnect) interface to connect the sound card to the motherboard.
  • Input and output connections for microphones and speakers.
Most motherboards these days actually have high quality on-board sound chips, capable of surround sound, more often than not even full 7.1 surround.
PCI Interfaces are universal, meaning they are also used for other expansion cards, such as a graphics card, or a USB expansion card.

The way that the ATC (Analog-to-Digital) and the DTA (Digital-to-Analog) converters work, is that a microphone input would take the analog sound of whatever you are recording, and convert it to a digital file, and if you are playing a digital sound file from a computer, it will be converted to analog sound. An analog sound is recorded by taking measurements of the analog wave, and measuring them. These measurements are measured as kilohertz (KHz), and are known as the sampling rate, so the better the sound card, the more samples can be taken, the higher quality the sound is. As an alternative to sound cards, consoles can have an MCP (Media Communications Processor), which works the same as an intergrated sound chip.

It is easy to confuse 3D sound and surround sound. 3D sound is what is recorded into a game, which is what allows the player to pinpoint what is going on in the game, and it moves with the player accordingly. Surround sound refers to the speaker set up, which is common in home theatre systems.








So, that is my section on Memory, Sound and Display technologies current of today, plase stay tuned for more!

Matt :3













Processing Units in Games Platforms

Processing Units in Games Platforms

This part of the article is about the different processing units that are found within computer gaming hardware.


CPU (Central Processing Unit)

Sometimes referred to simply as the central processor, but more commonly called processor, the CPU is the powerhouse behind the computer, where most calculations take place. In terms of computing power, the CPU is the most important element of a computer system.
As the CPU has a large workload, it will get very hot. The way to combat the heat is through a heatsink. A heatsink will always be covering the CPU, often used with a fan to draw out extra heat. Between the CPU and the heatsink will be a layer of thermal paste, which will make the contact between the CPU and the heatsink a lot better, allowing the heat to be dispersed more effectively. If the CPU gets too hot, it will either do damage to it, or burn it out completely.

As standard with most hardware, there is always better performing and worse performing variants. With CPUs, their speed is (nowadays) measured in GHz (gigahertz). 1GHz is the same as 1 billion cycles per second, therefore if a processor has the clock rating of 1.75 GHz (e.g Xbox One CPU), it could complete 1.75 Billion cycles per second. High-end PC CPUs can have clock speeds of 4-5GHz. The clock speed can be increased on an 'unlocked' PC processor, via a process called overclocking. Overclocking is a risky procedure, only to be attempted if it can be sufficiently cooled, as it is easy to fry the processor during the process. Overclocking chips will reduce the lifespan of them though!

In Modern CPUs these days, they can have multiple cores, for example, the Xbox One is octo-core (8 cores). This means that the chip itself will have multiple processing cores, allowing the strain to be shared, making for faster processing speeds. The cores can be allocated to do specific tasks, so if the processor is octo-core, such as that of the Xbox One, it may allow 4 of these cores for the various engines for the games (physics simulations, collision engine etc) and the other cores to be allowed for sound. With the Xbox One, it allows multitasking, and can be used as more of a media device in a sense. At least one of the cores is probably dedicated to the operation of other programs within the Xbox One. As the Xbox One has 8 cores, it has an accumulated clock rate of 14GHz!


CPUs have a 'CPU cache'. This cache is used as random-access memory, that is accessed a lot quicker than any other RAM in a system. The cache is used to remember temporarily the most-used processes and functions. This allows the console to reduce the loading times for some aspects. It is quicker and more effective for the computer to read data from the cache then to generate it again, so that is why it saves a version of the process.



The address/data bus is a group of wires that allow for data to be transferred between different components in a system. The buses are formed of two different parts - the address bus and the data bus. The data bus transfers the actual data itself, whereas the address bus transfers the information about where it should go. An easy way to remember which is which, is that the address bus finds the address of where it's going (like a postal address) and the data bus transfers the data. The width (size) of of a bus determines how much data can actually be transmitted at once, for example, a 16-bit bus can transmit 16 bits of data, and a 32-bit bus can transmit 32 bits of data. The buses have a clock speed similar to that of a CPU, but is measured in megahertz (MHz) rather than GHz. The faster this speed, the faster the applications are enabled to run.


GPU (Graphics Processing Unit)



The GPU of a console is a separate processing chip, that is primarily used to manage and boost the performance of video and graphics. GPU features include:

  • 2-D or 3-D graphics
  • Digital output to flat panel display monitors
  • Texture mapping
  • Application support for high-intensity graphics software such as AutoCAD
  • Rendering polygons
  • Support for YUV color space
  • Hardware overlays
  • MPEG decoding
In simpler terms, these mathematically-intensive features are designed to lessen the work of the CPU and produce faster video and graphics. A GPU is not only used in consoles, but it is also used in PCs, (via graphics card or motherboard integrated graphics) mobile phones, display adapters, and workstations. By freeing the CPU, it allows it to be used for other processes.

As I very briefly mentioned, there are multiple types of GPU available.

  • Dedicated graphics card
For PCs, to achieve the best in graphics processing, you will have to have a dedicated video card. These are an all-in-one package of a heatsink, PCB board (like a graphics card motherboard), GPU chip, and fans. Multiple graphics cards can be used at once, this is an expensive and power-extensive graphical solution, but allows users to run games at super-high graphics at super-high resolutions. for NVIDIA users, the way to do this is through their 'sli' technology, and for AMD users, they have to use CrossFireX. Both of these technologies are essentially the same.


  • Integrated/on-board graphics processor 

Most motherboards have an integrated graphics chip included on them, which can be used without the need of an expansion graphics card. As they are part of the same motherboard, it is easy for them to slow the whole computer while they are in use, making them very undesirable. Most laptops will run from integrated graphics, unless they are gaming laptops with changeable cards.


  • Custom-designed graphics chips
Almost all consoles will have a custom-designed graphics chip. In this case, the Xbox One's GPU is in the same chip as the CPU. Although it is in the same place, it will still do everything that a GPU should do. These GPUs have to be custom-made to deal very specifically with how the Xbox itself handles programs, making it useless in any other system.

There are two main GPU manufacturers on the market - Nvidia and ATI/AMD.

Similarly to CPUs, you get different speeds of GPU, but GPUs are measured in MHz usually. The Xbox One's GPU runs at 853 MHz. You can compare this result to the GPU speed of the Xbox 360, which was 500 MHz. Graphics chips will also have an amount of dedicated video memory (VRAM), which will have a huge affect on the performance of a game, especially if it is very highly detailed and textured. This is the same as on PCs, but as PCs have more open resolutions and frame rates, the VRAM will affect those too. Graphics processors work to display 3D images on a 2D screen, so the more detailed a 3D model,(more polygons, higher textures etc) the harder it will have to work to display it. for a game to be well optimised, the assets have to well-optimised to be run on the hardware. This can be achieved by techniques such as NURBS modelling, which is a way to model using curves, which uses less GPU memory.


Anyway, that is my section on processing units, please do stay tuned for more!

Matt :D