Subscribe For Free Updates!

We'll not spam mate! We promise.

Wednesday 26 June 2013

Widgets

Console RAM vs PC RAM

This is a question that many tech nerds and gaming enthusiasts have in mind since the advent of HD gaming and that of next gen gaming consoles like the PS3 and the Xbox360. I've been asked this question a few times but since the launch of the latest Sony PS4 and Microsoft XBoxOne this question has just spread like a wild-fire on the web and off of it. So lets just take a look at the simple answer behind this really appalling question.

Why the Comparison?

A gaming console has a very puny RAM in comparison to that of a PC. For example PS3 has 256 MB memory for system and 256 MB memory for video. Xbox 360 has 512 MB of GDDR3 RAM clocked at 700 MHz. And, this is really strange, Wii has only 24 MB of video RAM and 64 MB GDDR3 system RAM!
But if you try to run a high end game like GTA 4 on the PC with 256 MB of system RAM, even with 256 MB RAM on the video card, well, let's just say it won't work that way or wouldn't work at all. You need at least a 4GB RAM PC with a base frequency of 1600Mhz to run this game in all its glory.

Whats the reason?

There are basically many reasons behind this, the list can be endless but today I'll just sum it up in the few but obviously the most important one amongst them. The reasons are:

1- Background Programs: A console is a single tasked machine made and produced to do one and only one task only, that is to run Games. On the other hand a PC is a multipurpose machinery for which gaming is just a single function that it performs along with the many in the background. For performing tasks you need more RAM so apart from the game a PC uses a lot of RAM for other tasks in the background like an anti-virus, network managers etc while the console games can take up all memory available and manage it to their own pleasure (as the OS unloads for the most part or even fully for the previous gen consoles) which PC games cannot fully (the only memory for PC games being virtual paged memory)
2- The OS factor: The OS of a console is nothing in comparison to that of a PC, a console has a very basic OS or you can say no OS at all, its just like a program to load and run your game. Whereas a PC has a very complicated OS capable of running and supporting almost every task thrown at it.
To run and load this OS a lot of RAM is necessary.
3- There is Something missing: The console games are optimized to work on a specific console in the limited resources available, this is simply achieved by lets say removing some graphic intensive and memory intensive features like texture filtering, anti-analyzing and most important of them all particles and distance rendering. In short you will find a lot of features missing in a console version of a particular game than the PC version. This is the reason that why you need to have a much more powerful GPU as well as more amount of RAM in your system to process these features.

A lot of game developers also aim to show very similar graphics; like for instance limiting the render distance (less noticeable) to get some more detail (more noticeable). Making it harder to spot the difference

4- Its all about the language and profit: The main reason apart from all these and not to forget the most technical one is that the console manufacturers use an inferior language type to develop their games whereas the PC versions of these games are based on an advanced language.
I'll give you a simple example of memory management just read it carefully and you will understand, you don't need to be a programmer to do this.
So just as a basic introduction to the idea of memory management, compare Java, a high level language, with C, a low level language. Java is very easy to write and human-friendly. C, a procedural programming language invented before you were even born, is not. Writing in C requires you to know a lot about how the hardware itself operates, because you will be manually managing the memory. 
For example, if you create a variable in Java inside of a function, and then run your program and call that function, a little piece of memory will be set aside to store your variable so that it can be acted upon or altered. The amount of memory set aside will be determined by what data type you said the variable would be. In languages with weak typing, that can be a pretty large chunk of memory. When the function terminates and the variable is no longer needed, it will still remain in memory. Java's garbage collection handler will come along every so often and check to see if there are unused variables in memory, and unload those. This takes extra processing power for the checking, plus that data is sitting in RAM taking up space longer than it needs to. But it is much easier to write code for.
Contrast this with C or C++, where the programmer must make the effort of manually unloading memory. If you don't, your program is said to have a memory leak. It slows the system down steadily over time because it keeps allocating memory to store data but that memory is never cleared out and it just builds up over time. This is more work for the developer, but it also means that if the developer is on the ball with their memory management, the program is much sleeker and faster. It can get by with a lot less memory because it isn't leaving anything sitting there taking up space when it is not needed.

Now, one tiny integer variable is absolutely nothing. But in a cutting-edge game or a feature-rich application, there are hundreds of thousands to millions of variables in memory, some of which contain things much bigger than simple integers and single characters and boolean values, like images or sounds, and they are very large.
So you can easily imagine the performance gains and memory savings that come as a result of doing the hard work and writing in a low level language.
If you sink all that in then you can very well imagine that if you ask a developer to do all that extra work in coding your game in a complicated language like C/C++ then he'll charge you more than if you ask for a Java or java like encoding. This makes the console games more expensive then PC games like Crysis3 PC costs Rs1500 but the PS3 or XBox 360 version costs over Rs 2500.

But where is the profit in that?

Yes there is, the gaming market is ever changing but a console is not, a console is launched and stays in the market for around 7years before it successor steps up. In all this time the manufacturer has to make sure that all the latest games keep running on his console and obviously on the same old hardware that it came with from the factory as a console cannot be customized! This increases the game cost but increases the life of the product and allows the company to reap benefits from the old hardware. In contrast a PC game is cheaper but asks you to keep your PC up to date with all the latest hardwares to support the leaching demands of the games. So you pay for the GPU that can dump and delete all the value as the higher language puts all that on it same is the RAM factor it keeps occupying more and more memory in the background that is constsntly being cleaned and wiped!

So guys that was all that is there on this topic, keep me updated with your suggestions for improvements. And your queries are as always welcomed.

Socializer Widget By Computers and More
SOCIALIZE IT →
FOLLOW US →
SHARE IT →

5 comments:

  1. Wow! I always wondered. That means if developer take more time and code game for pc and phones as they do for consoles and charge as they do for consoles isnt it win win for both?

    ReplyDelete
    Replies
    1. Apparently not, if they do this then all the games in the market including that on the cell phones will be highly priced. This would result in increased piracy rate as everyone would not be able to afford them, so they provide the same game in varying price slots making sure that they can reap the maximum profit from the same game on different platforms. Like if you find a game too expensive for a console like Crysis3 then you would buy the PC version but if you don't have a choice then either you'll encourage piracy or will not buy the game at all.
      If you have any other queries, feel free to ask :)

      Delete
  2. Thanks for the reply. Piracy is a big issue but its not isolated to PC and phones only. They are on almost all platforms. Its like high prices is not only culprit, its mentality. There are ones who will buy a pc worth 1 lakh and will still settle for a pirated copy of game. Missing the joy and proud of owning an original collection of games. Thanks again for reply.

    ReplyDelete
    Replies
    1. No need to thank, I believe in the joy of sharing and blogging. We reply to every query that you guys put at us ASAP.
      Thank you for visiting and yes you have a very strong point on piracy :)

      Delete