Jump to content

Irratic Framerate Issue


Hister

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

Link to comment
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.

Link to comment
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 :)

Link to comment
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. 

Link to comment
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? 

Link to comment
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.

Link to comment
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
Link to comment
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.

Link to comment
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. 

Link to comment
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.

Link to comment
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
Link to comment
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. 

Link to comment
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.

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

Link to comment
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.

Link to comment
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.

Link to comment
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.

Link to comment
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. 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...