Jump to content
  • Announcements

    • Battlefront.com

      Special Upgrade 4 Tech Tips   12/27/2016

      Hi all! Now that Upgrade 4 is out and about in large quantities we have now discovered a few SNAFUs that happen out in the scary, real world that is home computing.  Fortunately the rate of problems is extremely small and so far most are easily worked around.  We've identified a few issues that have similar causes which we have clear instructions for work arounds here they are: 1.  CMRT Windows customers need to re-license their original key.  This is a result of improvements to the licensing system which CMBN, CMBS, and CMFB are already using.  To do this launch CMRT with the Upgrade and the first time enter your Engine 4 key.  Exit and then use the "Activate New Products" shortcut in your CMRT folder, then enter your Engine 3 license key.  That should do the trick. 2.  CMRT and CMBN MacOS customers have a similar situation as #2, however the "Activate New Products" is inside the Documents folder in their respective CM folders.  For CMBN you have to go through the process described above for each of your license keys.  There is no special order to follow. 3.  For CMBS and CMFB customers, you need to use the Activate New Products shortcut and enter your Upgrade 4 key.  If you launch the game and see a screen that says "LICENSE FAILURE: Base Game 4.0 is required." that is an indication you haven't yet gone through that procedure.  Provided you had a properly functioning copy before installing the Upgrade, that should be all you need to do.  If in the future you have to install from scratch on a new system you'll need to do the same procedure for both your original license key and your Upgrade 4.0 key. 4.  There's always a weird one and here it is.  A few Windows users are not getting "Activate New Products" shortcuts created during installation.  Apparently anti-virus software is preventing the installer from doing its job.  This might not be a problem right now, but it will prove to be an issue at some point in the future.  The solution is to create your own shortcut using the following steps: Disable your anti-virus software before you do anything. Go to your Desktop, right click on the Desktop itself, select NEW->SHORTCUT, use BROWSE to locate the CM EXE that you are trying to fix. The location is then written out. After it type in a single space and then paste this:

      -showui

      Click NEXT and give your new Shortcut a name (doesn't matter what). Confirm that and you're done. Double click on the new Shortcut and you should be prompted to license whatever it is you need to license. At this time we have not identified any issues that have not been worked around.  Let's hope it stays that way Steve
    • Battlefront.com

      Forum Reorganization   10/12/2017

      We've reorganized our Combat Mission Forums to reflect the fact that most of you are now running Engine 4 and that means you're all using the same basic code.  Because of that, there's no good reason to have the discussion about Combat Mission spread out over 5 separate sets of Forums.  There is now one General Discussion area with Tech Support and Scenario/Mod Tips sub forums.  The Family specific Tech Support Forums have been moved to a new CM2 Archives area and frozen in place. You might also notice we dropped the "x" from distinguishing between the first generation of CM games and the second.  The "x" was reluctantly adopted back in 2005 or so because at the time we had the original three CM games on European store shelves entitled CM1, CM2, and CM3 (CMBO, CMBB, and CMAK).  We didn't want to cause confusion so we added the "x".  Time has moved on and we have to, so the "x" is now gone from our public vocabulary as it has been from our private vocabulary for quite a while already.  Side note, Charles *NEVER* used the "x" so now we're all speaking the same language as him.  Which is important since he is the one programming them
Hister

Irratic Framerate Issue

Recommended Posts

4 minutes ago, Hister said:

I'm not changing the elevation of the camera.

Some of the things that CM does is not calculated based on your 3D view, but more 2D direction.  When you are going forward and backward the game only has to deal with things that are directly in front or in back.  When you pan the camera around 360 deg you have "viewed" the entire battlefield.  Even if you can't see the stuff right then and there, some of the stuff is done in anticipation that you soon will.  As I understand it this is to keep things smoother by having some processes running ahead of when they are needed instead of slamming the CPU right away with a ton of requests all at one time.  It's been many years since I've asked Charles about this so I could be getting the details wrong, however the certain answer is "it works this way on purpose and for good reasons, even if we don't know why".

4 minutes ago, Hister said:

Yp. That's why I have sub 25 frames issues when I get irritated while playing it even for short timespan and others don't. 

Yup, could very well be.  It's like someone saying "OMG, I can taste a hint of cilantro in this!  I hate cilantro!" and most people ask "what is cilantro?" :D

Steve

Share this post


Link to post
Share on other sites

Also, I don't know if anyone has mentioned it on this thread, but I have found that limiting the frame rate through NVIDIA Inspector to 60 fps greatly improves smoothness. On my system, this is due to the fact when I look at a scene that is not busy, such as the sky or the horizon, the GPU will render the scene at a very high frame rate. Even though a scene is simple, this increases the temperature of the GPU and even makes the fan kick in. Transitioning to a more busy scene creates a stutter where the frame rate can drop into the teens while the GPU cools down and the various clock speeds adjust themselves.

Share this post


Link to post
Share on other sites
6 minutes ago, sbobovyc said:

Also, I don't know if anyone has mentioned it on this thread, but I have found that limiting the frame rate through NVIDIA Inspector to 60 fps greatly improves smoothness. 

This is pretty much SOP for me - there's no point in making the hardware work harder, stressing components and reducing useful life, to generate pictures your eyes will be picking up but won't register in your brain :)

Share this post


Link to post
Share on other sites
16 minutes ago, BletchleyGeek said:

This is pretty much SOP for me - there's no point in making the hardware work harder, stressing components and reducing useful life, to generate pictures your eyes will be picking up but won't register in your brain :)

Human eyes can see up to 1000 frames per second. Scientific fact. not every person but some do. But going beyond 60 frames won't be of much help if you have 60Hz monitor - you will still see them as 60 frames due to the limit of the monitor.  

25 minutes ago, sbobovyc said:

Also, I don't know if anyone has mentioned it on this thread, but I have found that limiting the frame rate through NVIDIA Inspector to 60 fps greatly improves smoothness. On my system, this is due to the fact when I look at a scene that is not busy, such as the sky or the horizon, the GPU will render the scene at a very high frame rate. Even though a scene is simple, this increases the temperature of the GPU and even makes the fan kick in. Transitioning to a more busy scene creates a stutter where the frame rate can drop into the teens while the GPU cools down and the various clock speeds adjust themselves.

I tried it and it does help somewhat. Thank you for the nice functioning suggestion. 

Share this post


Link to post
Share on other sites

BTW, does Nvidia Inspector override all the specific program settings in the Nvidia Control Panel? 

I've set the Nvidia Inspector to globally cap the frames at 60 but does doing so nullify all the other custom settings I have set for the my games for example? 

Share this post


Link to post
Share on other sites
1 minute ago, Hister said:

BTW, does Nvidia Inspector override all the specific program settings in the Nvidia Control Panel? 

I've set the Nvidia Inspector to globally cap the frames at 60 but does doing so nullify all the other custom settings I have set for the my games for example? 

It is my impression that it does override the Control Panel, but haven't looked into it thoroughly.

Share this post


Link to post
Share on other sites
13 minutes ago, Hister said:

Human eyes can see up to 1000 frames per second. Scientific fact. not every person but some do. But going beyond 60 frames won't be of much help if you have 60Hz monitor - you will still see them as 60 frames due to the limit of the monitor.  

Link to scientific paper, please? There's a difference between the response time of the photorreceptors in your eyes - which can be very short indeed - and the time for that signal to be picked up and integrated into higher level signals which then your frontal cortex assesses for relevance for whatever you're doing.

From a good pop sci article on BBC

http://www.bbc.com/future/story/20150727-what-are-the-limits-of-human-vision

 

Quote

Several factors set the boundaries for visual acuity, such as the spacing between the cones and rods packed onto the retina. The optics of the eyeball itself, which as we mentioned before prevent every available photon from alighting upon a photoreceptor cell, are important as well. 

Theoretically, studies have shown, the best we can do is about 120 pixels per degree of arc, a unit of angular measurement. That works out to about a fingernail held at arm's length with 60 horizontal and 60 vertical lines on it, alternating in black and white, creating a checkerboard pattern. "That's about the finest pattern you could ever see," says Landy. 

Any change below that resolution, well, it's completely lost.

It happens that PC Gamer ran an article on this very same topic recently:

 

Quote

“Certainly 60 Hz is better than 30 Hz, demonstrably better,” Busey says. So that’s one internet claim quashed. And since we can perceive motion at a higher rate than we can a 60 Hz flickering light source, the level should be higher than that, but he won’t stand by a number. “Whether that plateaus at 120 Hz or whether you get an additional boost up to 180 Hz, I just don’t know.”

 

“I think typically, once you get up above 200 fps it just looks like regular, real-life motion,” DeLong says. But in more regular terms he feels that the drop-off in people being able to detect changes in smoothness in a screen lies at around 90Hz. “Sure, aficionados might be able to tell teeny tiny differences, but for the rest of us it’s like red wine is red wine.”

Chopin looks at the subject very differently. “It’s clear from the literature that you cannot see anything more than 20 Hz,” he tells me. And while I admit I initially snorted into my coffee, his argument soon began to make a lot more sense.

He explains to me that when we’re searching for and categorising elements as targets in a first person shooter, we’re tracking multiple targets, and detecting motion of small objects. “For example, if you take the motion detection of small object, what is the optimal temporal frequency of an object that you can detect?

And studies have found that the answer is between 7 and 13 Hz. After that, our sensitivity to movement drops significantly. “When you want to do visual search, or multiple visual tracking or just interpret motion direction, your brain will take only 13 images out of a second of continuous flow, so you will average the other images that are in between into one image.”

Link: http://www.pcgamer.com/how-many-frames-per-second-can-the-human-eye-really-see/

Cheers!
 

Edited by BletchleyGeek

Share this post


Link to post
Share on other sites

Steve? Love the disclaimer at the end of the OP:


Also, notice that it is my personal understanding of the problem. I may be wrong somewhere - if so, please feel free to correct me. Just remember: before saying stuff like "I cannot see anything beyond 60 FPS", make sure that you've actually tried it on scenes that are able to deliver a real difference - I guarantee that you will see a difference up to 200 Hz, at least, with the right way of testing.
 

He could have written at the beginning the sentence ACHTUNG QUATSCH!

Anyways, thanks for the pointer, invaluable contribution to the understanding of human vision. He should send a research note to Nature.

Share this post


Link to post
Share on other sites
2 hours ago, BletchleyGeek said:

Steve? 

Yes, ha ha. If you check his posts in this thread you'll find it. It surprised me because not a while ago he said human eyes cannot see frames above 30 fps. :D

Bottom line is 60 frames is not the upper limit as you claimed if the 1000 frames claim is a miss or not. 

Share this post


Link to post
Share on other sites
6 minutes ago, Hister said:

Yes, ha ha. If you check his posts in this thread you'll find it. It surprised me because not a while ago he said human eyes cannot see frames above 30 fps. :D

Bottom line is 60 frames is not the upper limit as you claimed if the 1000 frames claim is a miss or not. 

There, you got your +1. Well done.

Share this post


Link to post
Share on other sites
On 10/11/2017 at 9:47 PM, Battlefront.com said:

Some of the things that CM does is not calculated based on your 3D view, but more 2D direction.  When you are going forward and backward the game only has to deal with things that are directly in front or in back.  When you pan the camera around 360 deg you have "viewed" the entire battlefield.  Even if you can't see the stuff right then and there, some of the stuff is done in anticipation that you soon will.  As I understand it this is to keep things smoother by having some processes running ahead of when they are needed instead of slamming the CPU right away with a ton of requests all at one time.

I think this might be part of the reason why I also get sluggish/fluctuating performance. I play the game flying over the map with the WASD-keys and turning the camera using the right mouse button. I change altitude rapidly all the time too, using the scroll wheel .

I get the feeling the game constantly shuffles things back and forth between main memory, video memory and (maybe) the SSD, even though in theory, I supppose it should all fit into the 8Gb of memory and 4Gb of video memory.

Apart from fluctuating frame rates, one of the symptoms is that textures sometimes seem to drop down to their most undetailed level for a split second, then get loaded again.

Edited by Bulletpoint

Share this post


Link to post
Share on other sites
1 hour ago, Bulletpoint said:

Apart from fluctuating frame rates, one of the symptoms is that textures sometimes seem to drop down to their most undetailed level for a split second, then get loaded again.

Isn't this what all users experience? 

I for sure did  experience this non stop and I play the same way as you. It gets a bit better when I limit the frames to 60 as suggested in this thread a few posts above, try it and see if you get more smoother gameplay that way. 

What you described happening almost goes away now that I capped the frames at 50 on "reasonably sized" scenarios (with ingame 3D quality model set to fast and 3D texture quality set to whatever you want). The terrain drawing distance blurred line is now right next to my nose (depends on what 3D model quality setting you use, I use very low tier one and capping the frames below 60 halfs the already close drawing distance) but I decided to play it this way for now because the experience is way smoother. No stuttering, no imput delays, no waiting for terrain to load, no degradation of visuals that game automatically makes when it feels the comp is having a hard time churnung them frames, etc. The positive aspects ourweight the negative. Plus I tried upping the 3D texture quality to the best and it works without losing any frames or only a few and getting gorgeous up-close visuals that way. Again, on not too big scenarios. 

This said this is only experience I acquired yesterday while playing CMRT. Need to do more gaming to see how these new changes fare in other titles and in other missions. 

 

Does anyone know how if at all vehicles and soldiers are affected with each tier of 3D model quality setting? The drawing line distance is the most obvious one but I am struggling to see  what details you lose on the tanks for example when you go lower tiers then balanced. Is there any difference in that between tiers at all? Years ago I think I remember seeing it but dunno about now. 

Share this post


Link to post
Share on other sites
2 minutes ago, Hister said:
1 hour ago, Bulletpoint said:

Apart from fluctuating frame rates, one of the symptoms is that textures sometimes seem to drop down to their most undetailed level for a split second, then get loaded again.

Isn't this what all users experience? 

I don't know. Maybe.

And I don't know why the game engine would be loading/unloading textures all the time, if there's enough RAM to keep them in memory?

I play with a few texture mods, but I got the same behaviour before I installed those.

Share this post


Link to post
Share on other sites

I'm guessing here, but I could imagine maybe the engine is programmed to automatically switch out resources such as textures and sounds if the player changes the viewpoint a lot?

...and that this behaviour is hardcoded, not taking account if your computer is much more powerful than the hardware available when the game was launched?

*shrug*' I don't know. Just seems the sluggishness is much worse when panning around using right mouse button. Using the keyboard to navigate is slower but doesn't make the computer struggle so much as far as I can see.

Edited by Bulletpoint

Share this post


Link to post
Share on other sites
54 minutes ago, sbobovyc said:

I can capture a trace tonight and see if that is happening from OpenGL API perspective. You have to remember that the driver can do things behind the scenes to "help" your application.

I don't understand much of what you are saying but it sounds exciting! :D

Share this post


Link to post
Share on other sites

Basically, glTexImage2D function loads images into GPU memory and glDeleteTextures deletes them from GPU memory. From a trace capture, I saw that images for the scene were loaded into memory when entering battle and they get deleted when exiting battle to main menu. While flying around the map and looking at things near and far, no glDeleteTextures calls are made. If you don't want to take a trace, you can verify this by watching the GPU memory consumption through the stages of being in the main menu, loading a save and quitting to main menu. My GPU has 4096 MB of VRAM and the highest usage that I saw (with the help of GPU-Z) was slightly above 1300 MB. It's definitely possible to exceed this in more complex scenes.

Share this post


Link to post
Share on other sites
11 hours ago, sbobovyc said:

Basically, glTexImage2D function loads images into GPU memory and glDeleteTextures deletes them from GPU memory. From a trace capture, I saw that images for the scene were loaded into memory when entering battle and they get deleted when exiting battle to main menu. While flying around the map and looking at things near and far, no glDeleteTextures calls are made.

Well, that disproves my theory I guess. Thanks for testing this out. I wonder what causes the apparent constant "reloading" of textures then.

Share this post


Link to post
Share on other sites

I maybe seeing things but I just noticed my game got a bit smoother and my FPS jumped a bit with just one setting change.

I've just been playing around with Nvidia settings trying to get OBS to work with CM. I haven't noticed this before but in the Nvidia control panel there is an OpenGL Render selector now for appropriate applications like CM. By default it's set to Auto Select. I switched mine to manually select my GTX980. Relaunched CMFB and I'm getting a pretty stable frame rate. 40 FPS for the last mission in KG Peiper campaign and a solid 25 FPS in the final mission of the much larger Aachen campaign (city map). My graphics are set to Best for both in game settings. The key difference is I'm noticing my mouse and keyboard input is a lot smoother than before and when I went back to Fraps to see some FPS counts it didn't jump around as much as I moved the camera about while some action played out on screen.

Yeah definitely no programmer or techy, but could something in the game or the GPU drivers have been trying to use in part the inbuilt motherboard GPU (or computer just getting confused), rather than simply throwing everything at the dedicated video card until I told it to? I'm using the Nvidia drivers that came out in late October. (388.0)

Can someone else test this? It can't be that simple.

Share this post


Link to post
Share on other sites
1 hour ago, Ithikial_AU said:

Can someone else test this? It can't be that simple.

I downloaded 388.13 driver version and found the mentioned option that wasn't there before. Tested the game and am getting the same framerate, game is not any more smooth but what is noticeably different is I'm getting way more screen tearing now, so much so that I had to enable the ingame vertical sync. 

Share this post


Link to post
Share on other sites

I have a laptop with Optimus technology which is supposed to switch between the Intel GPU and Nvidia GPU based on the task. For some reason, it does not properly switch for CM so one has to manually set it. Also, every time I update the driver, I have repeat this process. 

Share this post


Link to post
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

×