Originally Posted by sti_boy
I think you're limiting the scope of what "optimization" means in regards to developing SW or FW on a given HW platform. I think your definition of it, is one type of optimization, where you have a fixed HW platform. The other sort of optimization is that where you make use of features on a newer more advanced HW platform. You said you've done embedded programming on a 7MHz processor. Maybe this was an MCU like an 8051 or ARM Cortex. Lets say you got a new version of that MCU and it had a new HW accelerator to perform a function that was previously done purely in code (e.g. a DSP function). You could leverage that HW acceleration and say you've "optimized" the solution for the new platform. So it runs like a champ on the new HW, but not on the older HW.
I'm just saying that you're right in one sense, but you've limited the definition of what "optimization" can mean. I think that in the case of FO4, its quite probably that they have "optimized" for newer HW (aka made use of new features), rendering the performance on older HW sub-par. FO4 is a high-end title and its going to be designed to use the latest and greatest in HW and OS developments. No point trying to "optimize" (other definition) for much older platforms.
True, true, I agree with what you're saying. I've been actually trying to broaden the definition of "optimization" among the folk here, which is why I focused on the type of optimization that they didn't seem to get. The only reasoning I've heard so far, your post aside, was "if it's using all cores, it's optimized", and I tried to explain that there are other aspects as well.
Just to see if I understand correctly, what you are saying is if I'm making a game in 2007, and I decide to make complex geometry for a rocky road, and then in 2008 HD4xxx comes out, which has a dedicated tessellation preprocessor, I would optimize my game to utilize that chip, raising performance on the new platform, but breaking compatibility and potentially hindering performance on old platforms.
This would be true, however here there are no differences in the feature set between a Haswell Pentium and a Haswell i5. It's only the core count, and cache, respectively. While it is possible that FO4 is heavily cache-dependent, it's not very likely. Also, they are not listing recent platforms, mind you, that is 5 year old hardware. The only "feature" is the core count. It is very good when a game can spread itself across many cores, but it is a shocking misconception here on OCN, apparently, that you need 4 cores to run 4 threads. A single core switches many times between many threads, even when using the computer for mundane tasks, like browsing, and it does so with sufficient simulated parallelism. So one fast core will do exactly the same job as two slow ones in non-critical systems. This is no excuse for demanding 4 physical cores as bare minimum - on Low settings, the game should run reduced physics, and it should take into account the low view distance when running its AI.
Do you think FO4 will have drastically better AI and physics than GTA 4? Drastically
better? Or Witcher 2? Or Skyrim? GTA 4 requires C2D 1.8Ghz, Skyrim - C2D 2.0Ghz, and W2 - C2D 2.2Ghz, to run a persistent world, multithreaded AI, and physics simulation.
Yeah, sure, those words sound big when you throw them in one-sentence arguments, like "it requires quad-core to run AI and physics". But AI these days is not much better than in games like the mentioned, which ran on potato PC, compared to today's standards.
And the other suspect, Physics, can run on the GPU. Havok is supported by every piece of graphical hardware on the market. To not run physics on the GPU, especially
in a CPU-bound game, like FO4 shapes up to be, is a crime in developer's world.
So what eats all that CPU power? It's either bad AI or bad physics. There is no option left, where it's actually something that's done properly. Or at least I don't see such option. If anyone knows of something that is not AI and is not Physics, and eats up CPU, and GTA 4, Skyrim, and Witcher 2 didn't have it, and it's new and revolutionary to FO4, or just done in a much more elaborate manner, please do share.