Combat Mission on a high-end machine

Fleischer

Member
Joined
Jun 20, 2011
Messages
156
Reaction score
0
Location
Oslo
Country
llNorway
So I built a new rig with an Intel Core i5 3570k CPU overclocked to 4.4 GHz and a Gigabyte GTX 670 graphics card. Wanting to get *something* out of my old, beloved CM, I thought maybe it would be nice to just see STUGs and Shermans roll around smoothly at 60 FPS for a change, so I fired it up:

View attachment 40154

14 fps min, around 20 fps average at ground level. 20 fps min and about 28 fps average higher up. I knew CM was poorly optimized, but this was horrible and totally unplayable for anyone who cares about performance. For the sake of it, I ran a benchmark with a GTX 660 Ti card also, and the results were the same. No antialiasing turned on, btw., which makes it even more bizarre.
 

Redwolf

Member # 3665
Joined
Sep 2, 2002
Messages
5,113
Reaction score
43
Location
MA, USA
Country
llUnited States
Would be nice to give it a real performance evaluation to see where the time goes. But there's no Unix version and it doesn't run in Wine so I guess not.
 

Fleischer

Member
Joined
Jun 20, 2011
Messages
156
Reaction score
0
Location
Oslo
Country
llNorway
Frankly, I'm not sure hardware acceleration is even enabled. There's nothing on screen that would suggest such a performance drop.
 

slm

Member
Joined
Jan 6, 2010
Messages
203
Reaction score
0
Location
europe
I used FRAPS with a couple of scenarios I'm playing and got 45-80 fps most of the time.

I also have a i5 based system, but at lower clock frequency. How much gfx memory does your Nvidia card have and which CM gfx settings do you use?
I have 2GB and used Balanced in CMBN.
 

Fleischer

Member
Joined
Jun 20, 2011
Messages
156
Reaction score
0
Location
Oslo
Country
llNorway
I used FRAPS with a couple of scenarios I'm playing and got 45-80 fps most of the time.

I also have a i5 based system, but at lower clock frequency. How much gfx memory does your Nvidia card have and which CM gfx settings do you use?
I have 2GB and used Balanced in CMBN.
On what card? CPU is not an issue during the setup phase(and doesn't seem to make a difference during the execution phase either). My card also has 2 GB of memory. The numbers I gave were on 'improved' with texture quality on 'best'. Texture quality doesn't make any difference to the FPS, which is what I would expect with a 2 GB card. 3D quality gives a 10-20 FPS improvement on 'fastest' - in some situations. There really doesn't seem to be any consistency to it. This, for instance was taken on a larger map with AA on, 8x anisotropic filtering and better/best:

View attachment 40198

Beats me.
 

slm

Member
Joined
Jan 6, 2010
Messages
203
Reaction score
0
Location
europe
My display card is ATI HD 6950.
In that screenshot you have >50 FPS.
Do you think that's not good enough?
 

Elvis

Member
Joined
Mar 6, 2009
Messages
2,918
Reaction score
14
Location
Pennsylvania
Country
llUnited States
I get the biggest framerate problems when there are a massive amount of trees. The monster game I've mentioned here didn't give me any trouble and I had over a battalion. But it wasn't very "woods heavy". So you might want to keep that in mind while figuring out when you're seeing framerate problems to see if that narrows down your analysis.
 

Fleischer

Member
Joined
Jun 20, 2011
Messages
156
Reaction score
0
Location
Oslo
Country
llNorway
Tried it, it doesn't matter. Only thing that gives me a decent chunk of fps in return is shadows off. This seems to be caused by something entirely different than quality settings.

slm, with that setup, you should be able to run this game consistently >60 with most settings in CM and your control panel to max.
 

slm

Member
Joined
Jan 6, 2010
Messages
203
Reaction score
0
Location
europe
I haven't had performance problems in CM games in a long time.
Except the out of memory crash in some huge scenario.
That's why I'd like to see a 64bit version.
It may take some effort but most companies have made those versions already.
 

Fleischer

Member
Joined
Jun 20, 2011
Messages
156
Reaction score
0
Location
Oslo
Country
llNorway
slm, just because YOU find performance okay doesn't mean there's not a problem somewhere. If you're having out of memory crashes, then that is NOT a performance issue though, but most certainly a memory leak. Making it 64 bit is not going to solve anything because the memory requirements are already far below the 32bit process/64bit OS limit. The bottleneck here lies in the graphics rendering, not memory or CPU.
 

Redwolf

Member # 3665
Joined
Sep 2, 2002
Messages
5,113
Reaction score
43
Location
MA, USA
Country
llUnited States
I have never seen evidence of a memory leak.

Only that the in-memory representation of large maps tends to clip people's virtual address space limit. Of course it doesn't help at all that BFC fuzzes around on the topic of people switching their 32 bit windows installs from 2 to 3 GB virtual address space limit. There are still a lot of people out there hitting their 2 GB limit although a simple switch would give them 3.
 

Fleischer

Member
Joined
Jun 20, 2011
Messages
156
Reaction score
0
Location
Oslo
Country
llNorway
If this game runs out of memory on a 64 bit system, it's a memory leak, whether it's due to bad coding or bugs. No way the maps in this game would require 4 GB ! In fact it seems to peak at ~0.7 GB working set on the largest maps. (and this is with HD texture mods installed. most of this is going to be textures/graphics objects).
 
Last edited:

slm

Member
Joined
Jan 6, 2010
Messages
203
Reaction score
0
Location
europe
slm, just because YOU find performance okay doesn't mean there's not a problem somewhere. If you're having out of memory crashes, then that is NOT a performance issue though, but most certainly a memory leak. Making it 64 bit is not going to solve anything because the memory requirements are already far below the 32bit process/64bit OS limit. The bottleneck here lies in the graphics rendering, not memory or CPU.
I wrote that I haven't had performance problems to agree with your "you should be able to run this game consistently >60 with most settings".
IMO program's memory consumption is one part of its performance characteristics. Often when games list their minimum HW configuration they mention amount of RAM just like CPU.
Sometimes when more memory can be used, some things can be made faster. So I see 64bit version as something that could prevent out of memory situations and also might allow some speed optimisations in the future.

I don't know any details on how CM games are actually coded, so can't comment where bottlenecks are.
Just don't think single core and 32bits is the way to go if you want avoid performance bottlenecks in future HW.
 

Redwolf

Member # 3665
Joined
Sep 2, 2002
Messages
5,113
Reaction score
43
Location
MA, USA
Country
llUnited States
If this game runs out of memory on a 64 bit system, it's a memory leak, whether it's due to bad coding or bugs. No way the maps in this game would require 4 GB !
I'm sorry but what you are saying there is incorrect from a technical perspective.

Representing the map in the computer program can be done many ways, some of which will require more and some will require less memory for the same map. There are other tradeoffs to picking a representation. Picking a representation that needs more memory but has other advantages is a perfectly valid thing to do.

A memory leak is actually losing track of memory that you no longer need but forgot to give back to the memory allocator and/or your memory allocator fails to both reuse it and doesn't give it back to the OS either. There is no indication that CM suffers from such a leak.

In fact it seems to peak at ~0.7 GB working set on the largest maps. (and this is with HD texture mods installed. most of this is going to be textures/graphics objects).
Yeah but that is resident memory, physical memory, which has little to do with the virtual address space that running out of is causing CMx2's crashes when loading large maps.

P.S. don't use Microsoft's default task manager for debugging things like this, it screws up a couple of memory fields. You can download better ones from microsoft.com.
 
Last edited:

Fleischer

Member
Joined
Jun 20, 2011
Messages
156
Reaction score
0
Location
Oslo
Country
llNorway
This was the oddest form of argumentation I've heard. Because there are tradeoffs in map formats, it is sensible to have map sizes that eat up each and every memory byte available to it?

If the process in a 4 GB system has a working set of 0.7 GB and runs out of virtual memory, then that must mean there are heavy memory requirements elsewhere in the system causing the balance manager to restrict the process working set to 0.7 GB. How is this relevant? Unless you can show me that CM naturally uses more than 0.7 GB (i.e. that its committed pages don't just grow infinitely), then running out of any kind of memory is the only indication of a memory leak that I can think of without having access to the code.
 

Redwolf

Member # 3665
Joined
Sep 2, 2002
Messages
5,113
Reaction score
43
Location
MA, USA
Country
llUnited States
This was the oddest form of argumentation I've heard. Because there are tradeoffs in map formats, it is sensible to have map sizes that eat up each and every memory byte available to it?

If the process in a 4 GB system has a working set of 0.7 GB and runs out of virtual memory, then that must mean there are heavy memory requirements elsewhere in the system causing the balance manager to restrict the process working set to 0.7 GB. How is this relevant? Unless you can show me that CM naturally uses more than 0.7 GB (i.e. that its committed pages don't just grow infinitely), then running out of any kind of memory is the only indication of a memory leak that I can think of without having access to the code.
"Balance manager"? Are you sure you aren't mixing up virtual memory and swapspace (or paging space)?
 

Fleischer

Member
Joined
Jun 20, 2011
Messages
156
Reaction score
0
Location
Oslo
Country
llNorway
The balance set manager, or working set manager, is the entity within the memory manager that keeps working set sizes trimmed adequately depending on overall memory usage. If you're running out of memory without using all your paged, physical(RAM) memory, that must mean the memory manager restricted your physical memory usage, so I don't really see your point. No, I'm not mixing virtual memory and swapspace. Swapspace shouldn't be relevant here since we are talking about 2-4 GB address space and at least 4 GB of RAM?

The game clearly runs like normal with a very modest memory usage of < 1 GB on the largest scenarios, so how can it not be a memory leak when the usage triples?
 

Fleischer

Member
Joined
Jun 20, 2011
Messages
156
Reaction score
0
Location
Oslo
Country
llNorway
If this game runs out of memory on a 64 bit system, it's a memory leak, whether it's due to bad coding or bugs. No way the maps in this game would require 4 GB ! In fact it seems to peak at ~0.7 GB working set on the largest maps. (and this is with HD texture mods installed. most of this is going to be textures/graphics objects).
Just to correct my own nonsense here: most of this is NOT going to be textures, since these are not mapped into the virtual address space of the process in this case.
 

Redwolf

Member # 3665
Joined
Sep 2, 2002
Messages
5,113
Reaction score
43
Location
MA, USA
Country
llUnited States
The balance set manager, or working set manager, is the entity within the memory manager that keeps working set sizes trimmed adequately depending on overall memory usage. If you're running out of memory without using all your paged, physical(RAM) memory, that must mean the memory manager restricted your physical memory usage, so I don't really see your point. No, I'm not mixing virtual memory and swapspace. Swapspace shouldn't be relevant here since we are talking about 2-4 GB address space and at least 4 GB of RAM?

The game clearly runs like normal with a very modest memory usage of < 1 GB on the largest scenarios, so how can it not be a memory leak when the usage triples?
No, if you get a decent process manager you can see that although your resident set is 0.7 GB that virtual memory is a multiple of that.

The default task manager in Windows does not have functionality to display currently used virtual address space. You can download "process explorer" from microsoft's own site which has correct display last time I tried, and there are others.
 

Fleischer

Member
Joined
Jun 20, 2011
Messages
156
Reaction score
0
Location
Oslo
Country
llNorway
No, if you get a decent process manager you can see that although your resident set is 0.7 GB that virtual memory is a multiple of that.

The default task manager in Windows does not have functionality to display currently used virtual address space. You can download "process explorer" from microsoft's own site which has correct display last time I tried, and there are others.
I am using VMMAP, which is made by the same guys that made Process Explorer, I believe. Which counter are you talking about? The 'Commit Charge' or the 'Virtual Size'?
 
Top