Jump to content
IGNORED

Xbox, Windows, WineX


epsilon
 Share

Recommended Posts

Right, I'm trying to settle an argument. Let's see if any of you guys can give me a useful answer...

- DOOM3 is coming out for the PC, and the Xbox too.

- Xbox has a sub-800MHz CPU, wheras the PC version looks likely to need a considerably faster CPU than that.

- Xbox's custom GPU is a modified GeForce chipset based on technology from the time of GF2/GF3 cards on the PC.

- The PC version of DOOM3 will probably require a fairly high-end graphics card to run.

On paper, the Xbox hardware seems to be way under the expected minimum requirements for the PC version of DOOM3. The hardware isn't as powerful, but the Xbox is handling the workload pretty well, from footage I have seen.

So the question is: why?

It might be one or more of these:

1) The Xbox port is optimised in various places, shortcuts taken etc. to account for the relative slowness of the Xbox GPU and CPU compared to the current PC ones.

2) The Xbox's own graphics API/library is optimised much more than the DirectX implemenations on Windows, and that is giving a knock-on speed boost to the DOOM3 code on Xbox.

3) The PC's OS is doing things in the background which take up CPU power, and that is dragging down the performance (and this isn't happening on the Xbox, as only one 'real' program is running at any one time).

It could also be something else. Any suggestions/comments?

By the way, the reason I mention WineX (a GNU/Linux-based API 'emulator' of sorts which allows Windows games to work under X) is that someone mentioned that often WineX runs games faster than a real Windows OS on the same hardware.

Not having a dual-boot game-optimised system lying around at the moment, I can't verify that. Again, any comments would be welcome.

Link to comment
Share on other sites

The Xbox is a standard, therefore they know their limitations and what exactly they're working with (not forgetting running from disc, hard drive help etc).

The Xbox version won't be as good looking. nVidia custom card isn't it?

Link to comment
Share on other sites

By the way, the reason I mention WineX (a GNU/Linux-based API 'emulator' of sorts which allows Windows games to work under X) is that someone mentioned that often WineX runs games faster than a real Windows OS on the same hardware.

Not having a dual-boot game-optimised system lying around at the moment, I can't verify that. Again, any comments would be welcome.

That's not true...

What WineX does is act as a high level emulator (not really an emu at all basically) and map win32 and directx calls to the X11, OSS/Alsa and OpenGL equivilants so that you can run Win32 software in Unix and Linux.

Since the actual "emulation" needs to be done by the PC in question there's no way it could end up faster in Linux and my own experiences certainly confirm this.

The only instance where it's remotely possible for a game to perform better on a Linux machine is if there's a native port and it's better for whatever reason...

It's also possible with Linux to run a VERY lightweight window manager and cut back on some of the fat normally associated with a Windows desktop system.

The only time I've personally seen this is for Quake 3 and Neverwinter Nights...

While Q3A runs well on any system these days NWN's always run like a horses ass under Win2k and XP for me yet the Linux version exhibits none of the performance problems.

Link to comment
Share on other sites

That's not true...

So you're calling bullshit on the guy who said games were faster under WineX/GNU/Linux then? ;-)

I already had a vague idea of how WineX worked, it's just a high level API emulator - not an 'emulator' in the sense that any hardware is being 'simulated' in any way. Kind of like how parts of UltraHLE worked.

Do you know of any places which gives credible benchmark comparisons between Win32/DirectX and GNU/Linux/WineX?

Link to comment
Share on other sites

The Xbox is a standard, therefore they know their limitations and what exactly they're working with (not forgetting running from disc, hard drive help etc).

The Xbox version won't be as good looking. nVidia custom card isn't it?

So, to paraphrase (helps me understand your points better in the context of the original argument):

1) The Xbox version won't be as good, and that's partly how the Xbox can cope with the workload.

2) Xbox developers are optimising their code for particular hardware, which PC developers can't do to the same extent.

Neither of these are 'efficiency' points, ie you aren't saying one way or the other that the Xbox libraries, APIs or OS are in any way more efficient that the PC/Windows/DirectX equivalents. Right?

Link to comment
Share on other sites

Frankly, I don't have a fucking clue what an API is.

The fact that visuals on consoles have ALWAYS been better than their PC equivilants in terms of specs, goes someway to support my point. The Xbox is one set system, it doesn't change no matter what, you're programming for the same thing constantly. So you can see what can run great, and what not so. You learn it's limitations. The PC has no limitations.

I guess that's why it can cope, they'll optomise it to the Xbox too. Etc.

Link to comment
Share on other sites

Neither of these are 'efficiency' points

They are. If you know what your code will run on, as you do with an XBox, you can hard code in all these things which on a PC the game will have to check all the time, slowing it down massively.

And that's the tip of the iceberg. A PC has such a massive amount of potential variation that optimisation becomes very difficult, because what might improve performance on a P4 could destroy it on Athlons, and the same for graphics cards. Economics makes custom versions very difficult.

WINE is slower than running "native" under Windows, and always will be. The very nature of having yet another API layer between the game and the OS' APIs mean this is inevitable.

Link to comment
Share on other sites

You don't have to cater for the 'lowest common denominator' (or how do you say it), i.e. you can use every inch of silicon of the console to squeeze everything out of it. On Desktop systems you have to be compatible with all sound/graphics drivers and you can't just poke away freely into the hardware. This makes it slower, because stability is more important than optimization. On the console there's no such problem: what works on an individual console, works on all consoles. So you can get away with pretty much anything.

Link to comment
Share on other sites

Here are some quotes from various sites this should answer a few questions:::::

John Carmack made some really good decisions in architecting the engine for scalability. We knew that PS2 and Gamecube were out of the question due to particular graphics requirements (global illumination, normal mapping, shadow volumes etc.), but we knew Xbox had a shot. The key concerns were memory and performance. With only 64MB RAM on the Xbox and a 733Mhz processor, we knew it would be quite challenging –- but not impossible. The team here was really excited to be working on this project -– a chance to work on Doom! -– so we were definitely going to take it on and prove that a great Xbox version could be made. Now, after many months of development, I think it’s safe to say that players will be stunned when they see the type of graphics fidelity that Doom 3 is able to present on the Xbox.
That's a good question. The Xbox version, because it's in contemporaneous development with the PC. When it was started, basically was conceived as a console implementation of what we're trying to do on the PC, as opposed to a port where they take whatever we do on the PC and "boom" slap it on the Xbox. The Xbox version was designed from the ground up to support co-operative play over System Link and Xbox Live. There [were] some changes, concessions, considerations that had to be made from a lot of different standpoints in terms of stuff as mundane as how narrow the hallways are to the ability of the AI of the enemies to focus on one versus two players -- because it's no fun to play the co-op guy that the world seems to ignore -- to how the narrative of single-player story is told.
On the PC version, it was always conceived of as a purely single-player experience. The whole, "you're alone in your room and all the lights are turned out." It's an experience where we want you to be afraid to get up and turn the lights off because you're alone. Whereas, because the console market is different, because people like to play together. Now, we won't have the ability to do split-screen, but the console consumer is more, "Hey, we love co-op" and it's all supported within the Xbox with Xbox Live and System Link. It made a lot more sense for us when we were designing [the game] to include that feature, [which] was never considered to be a critical feature for the PC [version], given that our goal from the start with the PC version was to make it the best single-player game that id had ever made.
With figuring out how to push the latest graphic cards to their limits, level design, single player narrative, multiplayer development, sound design and more, it's a huge undertaking. He says the NV40 (nVidia's latest card under development) recently installed in his computer would take two and a half years at best to find a game that would challenge it, thanks to how large and complex game development has become. Doom 3 was originally being rendered on GeForce 1s when it began development four years ago, and Carmack had to make some seriously long-term predictions and extrapolations to figure out where graphics would be today and if they could handle what he had in mind. He said his predictions had been good, but it sounded like he was grateful rather than proud--that others might not have guessed so well, and that he might not be able to make another set of predictions with such accuracy, given the wildly dynamic nature of the industry and its rapidly advancing technology.
Expected to be locked in at a solid 30 frames per second, DOOM 3 features bump-mapping, real-time lighting, cinematics using the in-game engine (shown in the 3rd-person perspective), and a few jaggies here and there. The good news is, there's no tearing, so the annoying break lines found in graphic-intensive Xbox titles like Splinter Cell aren't anywhere to be found in the E3 demo of DOOM 3. The environment looks impressive and the lighting is on par with the above-mentioned Splinter Cell, judging from the 10 minutes of gameplay we saw. There's plenty of particles to go around as well, with some grainy smoke effects from explosions, and brilliant fire that looks hot enough to scold. With 480p widescreen support on Xbox, this one should look pretty good when all is said and done.
Link to comment
Share on other sites

There are a few points here. Firstly, people are far too quick to jump to the conclusion that the xbox is a PC in an ugly black box. Its not. It would be better to think of it as a graphics card with a cpu on it. The graphics chip is essentially a Geforce4, so is not as far behind the curve as a GF2/3. True, its memory bandwidth is limited, but remember its only got to fill a 640*480 screen, at most 60fps. A hardcode PC gamer will want 1280*1024 at least, with antialiasing and whatnot, as they're sat 12" from an expensive monitor. That needs 4 times the fillrate. (16 times with AA)

There are a few things that the xbox can do that PCs can't, various DX instructions are XBox only, and you are not hampered by the AGP bus or batching problems. Basically on a PC, its extremely easy to kill the framerate by sending draw requests with only a few triangles in each one. Ideally you need to batch everything up into huge vertex buffers, but on xbox the "hit" from draw requests is much smaller.

On Xbox, your game is the only process running. On a PC the cpu is switching between threads all the time, all of which use memory, cache, and processor cycles.

The real killer though is the fixed platform. On an xbox (or ps2 or whatever) you can carefully prune your levels so they fit perfectly into memory, they use the cache nicely, and stream directly from the DVD at a known speed. We even layout files on the disk to help this. On a PC you have so many different configurations you can't work so aggressively, so everything is a bit slower that it could be.

Link to comment
Share on other sites

Won't the PC version also be running at a much higher resolution/frame rate on a top end PC?

The example I used in the real-life argument had fair conditions, ie the same resolution on both the Xbox and the Windows machine.

So if I modifythe original question for clarity:

Given a PC and an Xbox running DOOM3 at the same resolution and refresh rate, we can see that the Xbox, which has lower on-paper performance scores than a Windows PC, is capable of running the game. Why?

Some of the answers given so far will still apply to that modified scenario and question. ie:

1- Xbox version isn't doing as much, so is suited to less-powerful Xbox hardware

2- Xbox coders are optimising for one platform rather than focusing on compatibility between many.

3- Xbox doesn't have a monster OS eating up CPU power and memory

And refutations of some arguments:

4- WineX is not faster than 'real' DirectX on Windows

(1) is pretty much part of what I had thought anyway - if something seems too good to be true, it probably is. I.e. if it seems unbelievable that a system of the Xbox's level is doing as much as a top-end PC, that may be because the Xbox 'performance' in this case is actually a collection of clever shortcuts.

(2) is also a good one. The code isn't just a straight port and recompile - substantial bits are being rewritten to work better.

I am interested in hearing whether the Xbox DX library is also 'optimised' in some way over the latest desktop Windows version, and whether that too would affect the Xbox performace in a positive way.

(3) raises an interesting question - if Windows is eating up my CPU power, what is it doing with it? If those processes can be suspended or made a lower priority, would that speed up a PC's gaming performance?

- PC is slower than Xbox

- PC has background processes

- Xbox does not have background processes

- Xbox is 'faster' (in terms of efficiency-- measure against an equivalent spec PC, for example)

: removing PC's background processes should remove one of the 'excuses' for poor PC performance.

: if there is no improvement, perhaps that's because Windows isn't eating CPU power after all...

Link to comment
Share on other sites

So if I modifythe original question for clarity:

Given a PC and an Xbox running DOOM3 at the same resolution and refresh rate, we can see that the Xbox, which has lower on-paper performance scores than a Windows PC, is capable of running the game. Why?

Using my admittidly shaky knowledge of the PC and XBox software-hardware architecture...

The PC has to run the game through Windows using various APIs and drivers to control the hardware. DirectX is the important one, it's designed with all sorts of gaming-related concerns in mind (I think). The XBox, while using the DX API, doesn't have the Windows baggage. It doesn't need to worry about what HDD you're using, what type and speed of RAM, what graphics card. So less processor power is needed.

Link to comment
Share on other sites

: if there is no improvement, perhaps that's because Windows isn't eating CPU power after all...

Its not that big a deal. The biggest two are fundamental differences in architecture, i.e. the evil AGP bus or lack of it on the xbox, and the abillity to optimise to a fixed platform. The fact that windows DX calls have to go through the COM interface and drivers instead of being coded "direct" is less important than most people think. As is the impact of other processes, it is possible for them to cause problems, but most "speed" issues on the PC are caused by the big two I mentioned above.

Link to comment
Share on other sites

Its not that big a deal. The biggest two are fundamental differences in architecture, i.e. the evil AGP bus or lack of it on the xbox, and the abillity to optimise to a fixed platform. The fact that windows DX calls have to go through the COM interface and drivers instead of being coded "direct" is less important than most people think.

That's me told. :unsure:

Link to comment
Share on other sites

Its not that big a deal. The biggest two are fundamental differences in architecture, i.e. the evil AGP bus or lack of it on the xbox, and the abillity to optimise to a fixed platform. The fact that windows DX calls have to go through the COM interface and drivers instead of being coded "direct" is less important than most people think. As is the impact of other processes, it is possible for them to cause problems, but most "speed" issues on the PC are caused by the big two I mentioned above.

So, paraphrasing again, Xbox is 'faster' because:

1) AGP imposes some sort of inefficiency on a IBM/PC system, and the Xbox has something better, thus eliminating the problem.

2) Xbox developers can be bothered to optimise their code, whereas PC programmers can't, due to variability in target hardware.

The second part I understand, and totally agree with. But what's wrong with AGP?

Incidentally, (2) implies that the code behind the Xbox version of DOOM3 is different to the code behind the Windows version, i.e. it was at least partially rewritten. True?

Link to comment
Share on other sites

There are a few points here. Firstly, people are far too quick to jump to the conclusion that the xbox is a PC in an ugly black box. Its not.

Who said that? I most certainly didn't. Or anyone else I can see.

Stop using imaginary things to back up your point.

Link to comment
Share on other sites

So, paraphrasing again, Xbox is 'faster' because:

1) AGP imposes some sort of inefficiency on a IBM/PC system, and the Xbox has something better, thus eliminating the problem.

2) Xbox developers can be bothered to optimise their code, whereas PC programmers can't, due to variability in target hardware.

The second part I understand, and totally agree with. But what's wrong with AGP?

Incidentally, (2) implies that the code behind the Xbox version of DOOM3 is different to the code behind the Windows version, i.e. it was at least partially rewritten. True?

Can I reparaphrase?

(1) There are a number of bottlenecks on your average PC that don't exist on the Xbox. These bottlenecks are the result of legacy thingys like the PCI bus etc.

We note here that exactly the same comparison can be made between bottlenecks on the PC and the PS2...

(2) I'm perfectly sure that PC programmers would love to be able to optimise their code to ridiculous lengths, but this isn't anywhere near as easy to do as when developing for a single target platform (again, we could replace Xbox with PS2 here). Accordingly the code for the console is likely to be "different" to that running on the PC - there will be fewer "what if this bit of hardware doesn't support this feature" paths, for a start.

Who said that? I most certainly didn't. Or anyone else I can see.

The whole line of questioning only really kicks off with the assumption that the Xbox is a PC.

[ We're not really comparing like with like... the Dreamcast has a Microsoft logo on the front - shall we compare the version of Q3 running on it to one running on the Xbox? ]

Link to comment
Share on other sites

(1) There are a number of bottlenecks on your average PC that don't exist on the Xbox. These bottlenecks are the result of legacy thingys like the PCI bus etc.

We note here that exactly the same comparison can be made between bottlenecks on the PC and the PS2...

OK, but what EXACTLY are the performance-reducing bottlenecks on the PC that the Xbox doesn't have?

Link to comment
Share on other sites

We were looking at the specification.

And as far as the insides go, it's pretty damn similar to a PC, bar a few custom parts.

When the custom parts are the memory architecture, the operating system and the graphics chip, that counts for a lot on a games console!

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Use of this website is subject to our Privacy Policy, Terms of Use, and Guidelines.