| 37 posts found | |
|---|---|
|
2/01/13 9:58:27 AM#21
Most consumer software, and video games in general, today are not CPU constrained. It doesn't take a faster CPU to deliver HD graphics, or more polygons, or higher resolution textures. That all leans on the GPU. Nintendo took a lot of flak because the CPU in the Wii U was pretty poor comparatively (3-core PPC 750 at 1.24G) - and that's more than enough for games that are coming out today. The CPU doens't run much code - it handles user input, (sometimes) physics, AI, networking... and ringleaders the GPU computations, but it's not the typical bottleneck in a game, particularly in a console game. The PS3 has 9 cores (1 dual core PPE and 8 single-core SPE's), one of which is reserved for the OS, the rest to game. We haven't seen anything come even remotely close to stressing the capability of that, besides FoldingAtHome and some specialized software written for the original PS3's with Linux installed (FBI, Air Force, etc). Now, I won't argue that having more CPU power is a bad thing: it's not - you can't leverage it if you don't have it in the first place, so maybe by having this horsepower available developers will come up with some novel uses for it (and as Quiz was indicating in his OP, that we may see this trickle back into PC gaming, where we've had many cores available for a long while now). I think, that as far as gaming goes, we won't. We've had multi-core CPU's availble for a long time now, particularly in the PS3, and we still seem to be stuck in a low-core (rarely does a game reach past dual cores) DX9.0c world. Unless game engines start to really push multicores (and they may, if they have it widely availble in the consoles) for items other than graphics - maybe we'll see new input that stresses general computing (higher-definition Kinect-style input to augment (not replace) traditional input devices, better speech recognition, etc), or maybe we'll get real AI (like the type that adapts and learns, not just follows rote static strategies), who knows... we haven't had anything terribly riveting since Physics hit it big (although MS would like to think Kinect is that revolutionary), but I don't see anything terribly exciting coming anytime soon. ----- All of the above, plus |
|
|
2/01/13 10:11:06 AM#22
Originally posted by Phry It's not a fair comparison though. Consoles run their GUI and a game with usually slightly modified hardware to suck extra performance out of it. PCs are running a ton of things all the time, have drivers that need to talk to other things, etc etc... I'd be surprised if the true power of even a 3-4 year old graphics card has ever been reached/used in the PC consumer market. Consoles tend to use more of their hardware's potential. Games can look great after like 5-6-7-8 years on a console. Imagine getting that out of a PC and still playing a very good quality without being choppy/slowdowns or needing to reduce graphics quality.
I know my answer isn't necessarily perfect, but it's the general idea anyway haha. |
|
|
2/01/13 10:29:46 AM#23
Well yeah I don't think anyone was saying or could logically say that you can make an apples to apples comparison between PC and Console hardware based soley on the specs/speed. I have heard on the rumor mills that the SDK for the new Xbox is the most amazing, fluid, easy to work with, and powerful SDK *unnamed large company* has ever worked with. Which translates roughly to better optimization and "cleaner" code as well as ease of development and integration for more advanced features. The rumors state/know that the next Xbox at least will have a full DirectX 11.1 capable custom AMD video card, it's all 64 bit etc. I'd say it's a pretty good bet to guess that the next generation of games will be all 11.1 with all the bells and whistles that brings (like Tesselation) and that the games are going to be taking full advantages of the 8 core (probably 7 cause 1 for OS like PS3) and all the multi-threading etc. Just because the PS3 didn't, and because the modern PC doesn't - it doesn't mean the next gen won't. With Intel and AMD both pushing the # of cores higher and even rumors of Intel bringing out 8-15 core CPU's and such it's not hard to imagine games and game developers are going to start pushing performance to multi-core systems. In fact I bet the Xbox Next/720/Infinity whatever SDK is designed for it specifically. MMO History: |
|
Originally posted by Ridelynn How much CPU power a game needs varies wildly from game to game. GPUs are built to do certain things well, which loosely amounts to having a handful of very short functions (~10 lines of code, not counting declaring variables) run an enormous number of times with only the inputs to the functions changing and relatively little communication with the CPU. (If you need the CPU to send your video card 1 byte of data per 100 float point operations that the GPU has to execute, you'll likely be bottlenecked by the PCI Express bus, not the GPU.) Code that fits those constraints can run well on the GPU. Anything that doesn't has to run on the CPU. And what can't be run on the GPU depends to some degree on what graphics API you're using. If you want to do particle effects in OpenGL 4 or DirectX 11, for example, you can tell the video card that you want 2000 particles and it can generate them from some token amount of input data. Or it could be 2000 particles one frame, 3000 the next, 1500 the frame after that, or whatever, and the GPU can just do it with minimal involvement from the CPU. If you want to do that in OpenGL 3.2 (likely also DirectX 10, but I'm not certain), you can kind of do it with geometry shaders, but it's a lot more restrictive. If you want to do it with an older API such as DirectX 9.0c, every single primitive must be to the video card from the processor. The reason a DirectX 9.0c game that wants to have rainfall doesn't show thousands of raindrops on the screen at a time is that it basically can't without carrying a huge performance hit. Instead, you get 10' long rain spears that look like they should one-shot you if they hit you. With newer APIs, having an enormous number of raindrops is pretty easy to do. But there are still a lot of things that simply can't run well on a GPU. You can do minor branching and looping on a GPU, but if you need to do more complex branching or very long loops, that has to use the CPU. (Well, you may sometimes be able to technically do it on the GPU, but it will kill your performance.) If you need to have access to change a lot of data all at once, that needs to be done on the CPU. If you need to be able to see a lot of data at once, then unless it fits neatly into a simple lookup table (or a few of them) so that you can use textures, it has to be done on the CPU. It's not at all obvious just from playing a game exactly how the internal code works. ----- My focus in making this thread wasn't hoping that games would be able to figure out how to use more CPU power. Rather, it was hoping that games that do happen to need a lot of CPU power would thread their code to be able to use many CPU cores. When Guild Wars 2 players with an FX-6100 are complaining of a CPU bottleneck and the game doesn't scale past three cores, ArenaNet is doing something wrong. One decent test of how well a game is threaded is to say, let's suppose that you had a hypothetical CPU with 64 Jaguar cores (or Piledriver cores or Ivy Bridge cores or ARM Cortex A15 cores or whatever). How low would you be able to clock those cores and still get a steady 60 frames per second? Ignore that a given CPU architecture can't go below some fixed clock speed and still function, and ignore the engineering problems of feeding memory to that many CPU cores. If your game would run great on a 1 GHz CPU with lots of CPU cores, then your threading model is very good, even if it's purely single-threaded. If you would need 2 GHz, that's not that bad, but it would be nice if it were better. If you need 3 GHz, that's downright mediocre. In the PC market, if you need 3 GHz, you can make your system requirements higher and implicitly blame customers for having slow computers. If the Xbox 720 and PlayStation 4 only offer you 1.6 GHz, you'd better thread your game better or no one will be able to run it well. ----- The Cell processor in the PS3 has one PPE that looks like it's basically a typical CPU core, but the rest of its "CPU cores" are SPEs that are much more restricted in their functionality. I'm not sure exactly how restricted they are, but I suspect that it's enough to make fairly simple game threading models simply not work. If you had a CPU that could do 1 PFLOPS of 16-bit floating point addition, but couldn't do anything else, that games would be unable to push that wouldn't be because 1 PFLOPS isn't enough performance. It would be because the needed versatility simply wasn't there. Making a game perform decently on such a restricted chip would be nearly impossible. |
|
Originally posted by JayFiveAlive Open Task Manager and see just how much CPU power those background processes are using. If everything except the game you're playing and the system idle process adds up to more than about 3%, then you should consider closing some programs--and if it's not obvious which programs to close, then you may have a bloatware (or worse, malware) problem. |
|
|
2/01/13 11:28:01 AM#26
Originally posted by Quizzical lol, yes, but you get my point I hope :P |
|
|
2/01/13 11:28:01 AM#27
The only way consoles are going to intrigue me is if they make the hardware upgradable, or they make the devices much cheaper, with a 2 year life span. And even then I want the hardware to be over the top powerful, so the console is super powerful during its life. Point is, I look at the 360 on our awesome Samsung TV, and it just looks like ass. Has for years. This is no longer acceptable. |
|
|
2/01/13 11:29:25 AM#28
Originally posted by MindTrigger If consoles turn into PCs, then it's the death of consoles... sounds like you want a PC, not a next-gen console. It's not going to happen. |
|
Originally posted by BadSpock Actually, I'd expect the PS4 and Xbox 720 games that use tessellation appropriately to be a distinct minority for quite some time. Most computer programmers don't have the math background for it, let alone artists. Every single model that is going to use tessellation has to have data built in to tell the GPU how to tessellate it, which means that whatever you do with tessellation needs to be something that your artists can handle. Any tools that cover up the mathematics well enough that artists can handle it aren't going to enable anywhere near the full power of what tessellation can really do. |
|
|
2/01/13 11:35:23 AM#30
Originally posted by JayFiveAlive Wrong. What I don't want is a console that basically already has, at best, mediocre graphics capability at launch, and then ages horribly over the course of eight or so years of its life. Seeing my daughter use the 360 on our incredible Samsung TV makes me throw up in my mouth a little. Especially in contrast to my gaming PC. Also, computer hardware costs nothing compared to what it cost eight years ago. If they are selling these new consoles for $500-600+ at launch, I'll piss myself laughing at the idiots who buy them.
|
|
Originally posted by MindTrigger I think that much of the point of going with Jaguar cores and integrated graphics is precisely to make consoles much cheaper to build--and thus, so that you can sell them much more cheaply. It's possible that the consoles could be expensive at first if they're trying to use a silicon interposer or DDR4 memory or a 20 nm process node before they're ready, or if the first generation has an enormous die size or MCM before subsequent generations clean it up into a smaller SoC. But it's better to make a console that you have to charge $500 for at first and then can break even at $300 a year later than to trail badly in performance with only a minor cost advantage for all but the first year of the console's lifetime. |
|
|
2/01/13 11:58:02 AM#32
Originally posted by Quizzical Getting the right price point is pretty important, take NA, around 25m xbox's and 15m ps3's, can't help but wonder if the reason there is significantly more of one than the other was due to the price of the console itself, which, last i heard, Sony was still making a loss on the ps3's but MS had actually managed to turn a profit on them. It wouldnt really surprise me if the next generation of consoles ends up being significantly cheaper than the previous ones. |
|
Originally posted by Phry Rumors say that AMD was a lot more cooperative with Microsoft about doing die shrinks than Nvidia was with Sony. In other words, that AMD was a lot more cooperative about helping them bring down the cost of production in subsequent years. And that that's a big reason why none of the console makers want to deal with Nvidia this round. Jaguar cores aren't that powerful, so Nvidia could have offered similar performance from integrated graphics by adding ARM Cortex A15 cores. |
|
|
2/01/13 12:05:20 PM#34
The answers to my question about the 'power gap' between consoles and PC's was surprising, i may not have completely understood the reasoning used, but it does sound like quite a few of you do. Consoles seem to be a case of different rules apply i guess. But i do appreciate the detail in the answers, even if it did point out how little i know about multithreading etc
|
|
|
2/01/13 12:10:59 PM#35
Originally posted by Quizzical The more important matter for me is how poorly these consoles age. I suppose if all you ever play is a console, you wouldn't know any better, but since I play PC games too, I know just how aweful the conosole looks. There are other offerings coming down the line too, such as Valve's Steam Box project, cloud gaming (nVidia Grid), and Apple is supposedly working on livingroom gaming options. Things are going to become more interesting in this space soon. |
|
|
2/01/13 12:51:32 PM#36
As soon as consoles introduce upgradable componets, you run into many many more issues for programers, drivers, etc. Consoles are great for programmers because they don't change - you dont' have to worry about compatiblity with different hardware, etc. If a company made a console with upgradable compoents, the second you offer a new GPU for example, it becomes a mess from a developer and consumer standpoint. Will my game work with this version? Do I need a specific upgrade to have this work? Do people with GPU have more advatange online, etc. etc. Then programmers have to code and test0- will the game have any bugs with this GPU? what about this one? What do we need to code to have them work with this, etc. etc. |
|
Originally posted by MindTrigger Cloud gaming doesn't have much hope of being competitive with the next generation consoles before they're replaced. Moving to DirectX 11/OpenGL 4 class hardware is a big jump in graphics API capabilities as compared to the previous generation consoles. But what's really missing from the latest graphics APIs? Better transparency options, certainly. Anything else that doesn't constitute minor tinkering around the edges? Maybe if you happen to believe that ray-tracing or voxels or something else is the future rather than rasterization. Quadratic surfaces are handled very well by tessellation, though, and it's not clear what new API options that we don't already have would help voxels all that much. Ray-tracing would take a major overhaul of how everything is done, though. |
|