It’s really difficult for me to analyze my opinion but I will try. While in theory the Xbox360 has only half the pure hardware performance of the PS3, achieving the theoretical maximum is much harder with the PS3 architecture. Therefore many games will actually perform at parity, and for some games or aspects of games, worse. Games will also take longer to develop or leave performance on the table, and most likely have more bugs. The additional development costs, TTM delays, and lack of a performance edge will significantly impact the PS3. First of all lets talk about the ps3 architecture and how this affects the quality level of ports. I won’t use technical terms and I’ll try to speak as simple as I can. The ps3 has let’s say a main processor and several other microprocessors. This is called Cell (microprocessor architecture) which was developed from Sony and used in both ps2 and ps3, making these machines a real pain in the ass for the developers and I will explain this later. On the other hand, both xbox and pc have a cpu and a gpu connected via a motherboard. We are simply talking about a completely different philosophy here. Also pc and xbox have a decent amount of RAM, with which the stored data can be accessed in any order in a constant time. Now let’s get to the point…. Let’s say that a game is being developed for a multiplatform release, but uses ps3 as the leading machine. The ps3 has many microprocessors and each one can be assigned for a specific job. Being the leading machine, each of its processors will be used from the developers so the game will be running smoothly without bugs. The porting procedure to pc and xbox won’t be difficult in this situation, as it is easy if you have lets say seven separate peaces of code (assigned to seven microprocessors) to merge them into two (one for the cpu and one for the gpu). Now lets say that we have the opposite situation, were lets say Bioware developed a game (mass effect 2) with the xbox 360 as the leading platform and later tries to port this game on the ps3. This is a very different process and a very difficult one, because while merging different parts of code is easy, separating a code into many peaces and assigning them to various microprocessors is not only tough but also really buggy. This means that many ps3 ports don’t use all the ps3 microprocessors, as it is difficult to assign for example the whole xbox’s GPU operation to lets say three-four ps3 microprocessors. That’s why the ps3 sometimes struggles to run ports, as some of its power isn’t used at all. Also the process of breaking the code into smaller pieces creates bugs. So what is the solution for the devs? They must either use ps3 as the leading platform, or develop the ps3 port for a longer time and supporting later that port. The ps3 porting process needs a lot of time and effort in order to be both effective (more microprocessor power used) and bug free.
Now that we analyzed these lets go to your question. There can be two different types of bugs and glitches, those which are the result of performance issues and those that are result of bad coding and need debugging. When you apply a patch (which is a new code inside an old code), the resulting code might not even be able to work properly. Even a comma, a parenthesis or anything can cause chaos. These types of bugs are result of bad coding and with the debugging process the devs can find both where in the code (for example in line 2003 of the code) there is an error and what happens when that error occurs (for example does it loop, does it ignore a process and continues to the next one, does it crash and more). In this way they fix these bugs, searching for errors in the code, detecting the specific coding dysfunctions and correcting them. Examples of bugs that need debugging are the NG+Glitch and the Genesis bug and caused either due to hasty porting or due to hasty debugging. On the other hand, the corrupted data bug, most of the crashes, the framerate issues and the ps3 incapability playing simultaneously the voices and the effects during conversations (audio bugs) are mainly caused due to the non sufficient usage of all the microprocessing power of the ps3. In order these bugs to be dealt efficiently, some processes must be assigned to different processors, which means of course a complete rewriting of the code! If many operations are assigned to a single microprocessor, the ps3 performance will be disappointing. The only solution is to divide them and use more ps3 power, which mean that the porting procedure will take longer to complete and might also need some extra debugging afterwards for dealing with the other types of bugs that will arise. The debugging process is hard and difficult, but it cannot be compared to the assignment of different operations to different ps3 microprocessors, which is the real pain in the ass for the devs. That’s why the audio issues are much more difficult from the Genesis bug. I hope I helped.
Modifié par titan_warrior, 07 avril 2011 - 08:01 .