GDC: Scalable performance (in Civ V)

Thyrwyn

Guardian at the Gate
Joined
Jan 5, 2004
Messages
1,289
Location
State College, PA
Head on over to WePlayCiv and check out the summary of the talk.

A lot of information on the how they made Civ V scalable from low-end systems to high end systems.

including this: "These measures combined allow Civ5 to, on a high-end system, animate up to 10,000(!) individual units on the screen at the same time without frame-rate drops, which is up from about 100 in Civ4. Baker shows a live demo of this by placing about 5,000 Warriors on the screen in an early Civ5 build. Another example of particulary the effectiveness of reducing memory allocations is that the performance on the (complex) fluid dynamics-based Fog of War animation in Civ5 has been improved by about 600%. "

links to the GDC site are included in the summary.

From the actual presentation: When talking about redesigning the rendering process (putting 5,000 warriors on the screen), Baker talks about what they wanted the game to able to handle he used the following: Zoomed out screen (he says 15x20 hexes) x 20 figures per unit, so about 3,000 animated figures on screen at once - though he notes that would probably never happen, but:
Our modding community is really good at coming up with entirely new games, so we wanted to be ready for anything.
Later, when talking about streamlining the process - he notes that in CivRev (same engine as Civ IV, roughly) it took .5 milliseconds to render one unit of 3 figures; in Civ V it will take .15 milliseconds to render one unit of 15-20 figures. So much for late game lag :)
 
Those are impressive figures and an interesting article you refer to. I hope those benchmarks are taken on the same machine. Otherwise a reduction from 0.5 to 0.15 is meaningless. Civ has always had a reputation for being playable on moderate hardware and I surely hope that continues for Civ5. This quote is very promising in this respect.
So as it stands, the graphics engine in Civ5 is typically no longer CPU-bound and will be able to take much better advantage of the power of the videocard. In fact, with modern (multi-code) hardware, the same PC will be able to run Civ5 much better than Civ4.
While I appreciate that they keep on trying to squeeze out more efficiency now that the design and art have mostly been completed, I would like to see something about the expected minimal and recommended system requirements.
On the GPU-side of things, Intel helped Firaxis to make Civ5 run well on systems with integrated graphics, so that the minimum requirements can include (modern) notebooks and other low-end systems that do not have a separate graphics card -- something which most games never bother to support at all because until the recent past, on-board graphics were woefully underpowered for gaming. Using their analytical tools they could see that with only a few minor tweaks they could increase the frame rate on integrated graphics from 5 to 30fps (i.e. from dog-slow to playable). A big change was to aim for a smaller screen resolution (720p), as systems with integrated graphics very rarely have displays larger than that anyway.
Again, promising, if they suggest 30 fps on a laptop with an integrated GMA (although surely not fully rendered), then I'm sure people with a separate graphics card in their laptop won't be disappointed.
 
Actually at 30 fps the units were fully rendered, but with no "idle' animations. They get most of the fps gain by removing the shine on the water, tweaking the civ border overlay, and some terrain tessellation. It was a very interesting talk (they even showed before and after code changes).

Another interesting thing, from a programming (and possibly modding) perspective, was that Baker talked about decoupling the various processes from each other and making the entire engine job/message based - not that I'm doing the talk justice. I'll have to watch it a few more times.
 
I hope the new AI is fast as well. I absolutely hate how every new HoMaM game has AI which is like 10 times slower than the previous one (HoMaM 5 AI turns are slower on my Core 2 Duo than HoMaM 3 AI turns on an ancient 500 MHz Pentium III).

I want to be able to play on the hugest map with all 18 AIs :)
 
I really like this part
DirectX 11 will be a big benefit for users, even if they don’t have DX11 capable hardware. The API itself is much more heavily threaded, and even DX9 and DX10 hardware users will see performance increases with DirectX 11.
 
I feel sorry for the Steam haters, this seems like it will be a good game
 
Head on over to WePlayCiv and check out the summary of the talk.

A lot of information on the how they made Civ V scalable from low-end systems to high end systems.

including this: "These measures combined allow Civ5 to, on a high-end system, animate up to 10,000(!) individual units on the screen at the same time without frame-rate drops, which is up from about 100 in Civ4. Baker shows a live demo of this by placing about 5,000 Warriors on the screen in an early Civ5 build. Another example of particulary the effectiveness of reducing memory allocations is that the performance on the (complex) fluid dynamics-based Fog of War animation in Civ5 has been improved by about 600%. "

links to the GDC site are included in the summary.

From the actual presentation: When talking about redesigning the rendering process (putting 5,000 warriors on the screen), Baker talks about what they wanted the game to able to handle he used the following: Zoomed out screen (he says 15x20 hexes) x 20 figures per unit, so about 3,000 animated figures on screen at once - though he notes that would probably never happen, but:Later, when talking about streamlining the process - he notes that in CivRev (same engine as Civ IV, roughly) it took .5 milliseconds to render one unit of 3 figures; in Civ V it will take .15 milliseconds to render one unit of 15-20 figures. So much for late game lag :)
'10,000 individual units' meaning, 10000 units, each with their own sub-animations and models, or just 10000 models altogether, which would mean less than 10000 real units?
 
10,000 individual (separately animated) figures ~500-700 "units", since each unit consists of 15-20 figures.

According to the presentation, the Civ IV/CivRev engine began to show frame rate degradation at ~100 figures.

The last sentence of my original post sums up the specific benchmark gains: the Civ V engine is roughly 15-20 times more efficient (3 figures in .5 ms to 15-20 figures in .15 ms).
 
We have to hope all 4 AI's of Civ 5 are faster than the 1 AI of Civ 4! Since there are multiple AI's working together in a unified manner... if it is faster, I will be very surprised!

Actually it might very well be. That is, it might efficiently reduce some of redundancy in the calculations of the civ4 AI. For every local decision, the civ4 AI had to check for all sorts of global decisions. The higher levels of the AI, might make this process more efficient, by (for example) calculating the need for various units at the start of the turn and having the city AIs simple refer to the global AI when trying to decide what to build.

Of course, on total any efficiency gain will likely be taken to implement extra AI routines, etc. So, it definitely won't be faster in total.
 
We have to hope all 4 AI's of Civ 5 are faster than the 1 AI of Civ 4! Since there are multiple AI's working together in a unified manner... if it is faster, I will be very surprised!
Generally, when programming, using multiple tools in concert that are each tailored to a specific task is much more efficient than one tool that does it all. I have no doubt, that given a similar level of complexity between the Civ4 & Civ5 AI's, the Civ5 model will be much, much faster. Though it does sound like the Civ5 AI will be more complex, which will probably cancel out some of that performance increase. But it still should be faster.

I'm much more excited about the rendering engine being that much better. It sounds like there's a possibility that I can run the game at max graphics settings on my laptop! (i5, 4GB ram, GeForce GT325M 1GB)
 
It'll run on my game pc, no problems... but if it works on my netbook also, I fear for my life, job, marriage and the education of my son, who should be born the same day Civ V gets released.
 
It'll run on my game pc, no problems... but if it works on my netbook also, I fear for my life, job, marriage and the education of my son, who should be born the same day Civ V gets released.

Don't forget to send your wife a congratulations card - this can be done online, even without leaving the game. :goodjob:
 
Thyrwyn this is exactly the thread Ive been looking for. I read the article and it gave me a little more reassurance. But my question is; are most any computer (or laptop, which is what i have) that could run civ 4 bts (which mine does stunningly) gona be able to play civ 5 well?
 
RECOMMENDED

Windows XP with SP1 or higher
Intel Pentium 4 or AMD Athlon CPU with at least 1.8 GHz
512 MB RAM
128 MB graphics card with DirectX 8 support (pixel- and vertex shaders)
DirectX 7 compatible soundcard
DVD-ROM drive
1.7 GB free hard disk space

those are pretty low specs
 
RECOMMENDED

Windows XP with SP1 or higher
Intel Pentium 4 or AMD Athlon CPU with at least 1.8 GHz
512 MB RAM
128 MB graphics card with DirectX 8 support (pixel- and vertex shaders)
DirectX 7 compatible soundcard
DVD-ROM drive
1.7 GB free hard disk space

those are pretty low specs

yea well have you seen my specs? you can find them around haha. I beat the RAM and free space. I have a DirectX 11. I have an Intel Core Duo2 2.2GHz T6600 processor. ut an Integrated card.
 
D712, How olds your laptop again? Are you sure you have dx11 support, it just came out recently, and unless your integrated graphics is brand new it wont be able to support dx11. I have a gtx 275, and it will always be dx10. Edited out that i can download dx11.
 
i bought my computer new in february. and in my dxdiag it says "directx version: directx 11"
 
ARRRR lucky sob!! haha ok then! How can I look at my dxdiag?
 
well on windows 7 you just click start button, and in the search bar type in "dxdiag" and it should pop up. Then click on it and it will run a check of your system for different specs. its truely and awesome feature in most computers :)
 
Back
Top Bottom