Jump to content

Is there a way to force CMBS (CMxx?) to use dGPU and to force display distance?


IMHO

Recommended Posts

  1. Display distance - is there a way to force it? It seems display distance is hard-wired to the graphics quality and CMBS decides for the user what s/he wants. I don't need hi-res textures, I just need to see further. CMBS is using just 10% of my dedicated VRAM and another 80% is available - it just decides not to use it and limit the display distance.
  2. Is there a way to force CMBS to use dGPU in a dual GPU configurations? Hint - it now a STANDARD configuration for all laptops that are not dirt cheap. NV control panel or Win10 Advanced graphics settings does not help as well as Win10 graphics settings. CMBS always reverts to default iGPU should it be set for desktop window manager.
Edited by IMHO
Link to comment
Share on other sites

  • IMHO changed the title to Is there a way to force CMBS (CMxx?) to use dGPU and to force display distance?

The 'display distance' is set within CM's code. It supposedly tries to take into account how much memory may be needed by the display and other details. Unfortunately there is no direct setting that affects this and you can't get it to draw out much further than what you probably see already. Supposedly the '3D Model Quality' and '3D Texture Quality' MIGHT have a small effect with settings toward 'Balanced' (less quality), but you can get a number of opinions as to what setting is better.

Yes, you can force CM to utilize the discrete GPU by creating a 'profile' within the discrete GPU's control panel for 3D settings (I know that is true of Nvidia and I assume it is probably true of AMD too). This isn't the game's fault. The drivers, between Intel and the discrete GPU, determine when the discrete GPU is needed. If the game isn't a major title and it doesn't start out with some significant 3D display calls, then it may get 'skipped' by the drivers and assumed to only need the integrated video for mostly 2D purposes.

Link to comment
Share on other sites

22 minutes ago, Schrullenhaft said:

Yes, you can force CM to utilize the discrete GPU by creating a 'profile' within the discrete GPU's control panel for 3D settings (I know that is true of Nvidia and I assume it is probably true of AMD too). This isn't the game's fault.

Nope, does not work. It somehow inherits GPU from some Windows processes. It used to run on my NVidia GPU but since I played with reducing power consumption by setting some system processes to iGPU it no longer will. I set CMBS to use NV GPU via both Win10 setting and NVidia Control Panel. But it's just won't - tries to run on iGPU nonetheless. It seems it's hardcoded to use "default" GPU. Looking forward to Steam comments - those guys are no used to stone age software :(

22 minutes ago, Schrullenhaft said:

It supposedly tries to take into account how much memory may be needed by the display and other details.

It uses 10% - there's plenty more to use. With every other sensible game there're some settings to use... Just not with Cmxx - like Communist Party in the Soviet Union: "We know what's best for you".

Edited by IMHO
Link to comment
Share on other sites

Maybe reverse some of those settings you made and see if that allows CM to work on the Nvidia GPU. You have done something that is preventing the use of the Nvidia GPU. CM doesn't dictate what the system should do, it takes what the system gives it and if the drivers decide that the Nvidia GPU isn't necessary, then there is little you can do about it. Typically profiles have worked in the past, but I'm sure it is possible to override what they may "suggest" to the driver and the changes you've made to the system favor using the Intel integrated video in most situations, including some 3D ones.

I'm not sure what your Nvidia drivers list, but in the 'Manage 3D settings' menu > 'Global Settings' tab, there may be a 'Preferred graphics processor' setting near the top of the tab that you can set from 'Auto-select' to 'High-performance NVIDIA processor'. However I'm not sure if all drivers will have this setting. Setting it to the Nvidia selection here will definitely change some of the power-saving settings or simply conflict with them depending on what and where you've set them.

In the 'Program settings' tab (where the 'profile' is created), once the program has been selected in the 'Select a program to customize' field, the second field ('Select the preferred graphics processor for this program') will have settings to force the game to use the Nvidia GPU (whether it is the 'default' set from the 'Global' tab or expressly selected here). It's possible that your drivers may not have this explicit setting, which may be limited to certain versions or a possible customization for some laptop manufacturers.

I don't know what the limitations of the code are when it comes to determining the capabilities of the video card. CM uses OpenGL 2.x calls, which are considered 'immediate mode' (it was the current OpenGL spec when the CM2 engine was created). 'Immediate Mode' involves the CPU significantly in a lot of its calls, so it is possible that the "judgements" made by the software also take into account the CPUs load in drawing things on the screen in addition to all of the other tasks it must do for the game.

Edited by Schrullenhaft
Link to comment
Share on other sites

Simple way to do this without using Nvidia’s tools:

In Windows 10, click START - Settings - System

then Select Display

Scroll down to Graphics Settings right below Advanced Display Settings

The second section in the window that opens is called Graphics Performance Preference

use the Browse feature to find the exe of the game you want to have use the discrete GPU. You can set that by clicking on the app once it is added, and select Options. There it gives you a choice of windows deciding, or the integrated GPU or the Discrete one

Link to comment
Share on other sites

  • 2 weeks later...
On 2/28/2021 at 4:45 PM, Bud Backer said:

use the Browse feature to find the exe of the game you want to have use the discrete GPU. You can set that by clicking on the app once it is added, and select Options. There it gives you a choice of windows deciding, or the integrated GPU or the Discrete one

It doesn't work on my laptop. Since I changed my preferences to system processes it's not anymore. I was primarily interested in high GPU use by DWM and likes but I changed a lot. Now I've been able to roll back it for DWM and like but CMBS displays all the showings it's somehow uses display distance settings for iGPU. Before that switches between iGPU and dGPU to individual CMBS process worked just fine. Now the changes to graphics settings does affect the texture quality but not the display distance.  In terms of display distance the game behaves as if it were on an Intel iGPU on my old MacBook Air.

Link to comment
Share on other sites

 

31 minutes ago, IMHO said:

Since I changed my preferences to system processes it's not anymore. 

What exactly did you change ? Have all of these settings been reversed to what they were originally or just some of them ?

Typically the most notable difference between running on the Intel integrated graphics and a discrete GPU was the text quality in the initial menus. These will usually be splotchy and somewhat blurred by the routines in the Intel drivers (texture compression or anti-aliasing, I don't know what). I don't know if all Intel drivers experience this issue or not (it might not happen on Macs), but it is often a quick indicator of running on Intel graphics. 

Once inside the game I'm not sure how much of a difference there may be in 'draw distance' between the Intel and discrete GPU. There likely may be very little difference between the two (despite the obvious advantages that a discrete GPU may have). Did you notice a difference in the past before you made the changes to the system ?

When you measure load on the GPU, do you do it with a dual display setup or do you minimize the game to view the measurements ? Are you using the Task Manager or some other app to measure load ?

Link to comment
Share on other sites

On 2/27/2021 at 10:05 PM, Schrullenhaft said:

The 'display distance' is set within CM's code. It supposedly tries to take into account how much memory may be needed by the display and other details. Unfortunately there is no direct setting that affects this and you can't get it to draw out much further than what you probably see already. Supposedly the '3D Model Quality' and '3D Texture Quality' MIGHT have a small effect with settings toward 'Balanced' (less quality), but you can get a number of opinions as to what setting is better.

Recently I build a small low-power secondary PC for myself. Indeed the game seems to calculate a draw distance based on dynamics, measured framerate I assume. On this PC, In Shock Force 2, in a 1000 x 1000 meters map with some forest, it draws trees only within the closest +-500 meters of that map.

Strangely though, in Battle for Normandy (E4), on a similar sized map with a similar amount of forest, at the same settings, all trees are there at all times. I did not take one of the older maps to test this, but one from the '2019' series.  

Anyways, there is something peculiar with the trees of CMSF2. Also because they cannot be exchanged with models from other games, nor does the 'trunks only at the front, full trees in the distance' setting actually work in that game.

Link to comment
Share on other sites

On 3/11/2021 at 7:30 PM, Schrullenhaft said:

Typically the most notable difference between running on the Intel integrated graphics and a discrete GPU was the text quality in the initial menus. These will usually be splotchy and somewhat blurred by the routines in the Intel drivers (texture compression or anti-aliasing, I don't know what). I don't know if all Intel drivers experience this issue or not (it might not happen on Macs), but it is often a quick indicator of running on Intel graphics.

Boom this man has got me all figured out. :|

Link to comment
Share on other sites

On 3/15/2021 at 5:44 PM, Kevin2k said:

Recently I build a small low-power secondary PC for myself. Indeed the game seems to calculate a draw distance based on dynamics, measured framerate I assume. On this PC, In Shock Force 2, in a 1000 x 1000 meters map with some forest, it draws trees only within the closest +-500 meters of that map.

 

Just another observation on drawing distance, to complete things from my side.

The videocard was upgraded a little, but still a low power item (GT 710 GDDR5 + screen 1280x1024).  All WW2 based CM games do fine. But CMSF2 keeps the trees draw distance unchanged. Strange thing is that when I lower all game options to the bottom, and turn of all enhancements and detail, even add modded tree textures of mini size. The tree draw distance remains exactly the same. But the difference is that CPU usage of both cores then goes from 2x60% before, to 2x100%, thus bottlenecked. Like I give the game less to to, but the CPU usage goes up? I installed FRAPS as well to measure framerate in that test: 50-60 FPS.

Link to comment
Share on other sites

4 hours ago, Kevin2k said:

But the difference is that CPU usage of both cores then goes from 2x60% before, to 2x100%, thus bottlenecked.

Forget about this. I cannot reproduce that behavior anymore. 2x60% CPU usage it is. The rest still holds true.

Edit: I also found the toggle shadows key, to off them. And that actually caused the draw distance to move like 50 meters furher. I will leave it now. It is not my topic.

Edited by Kevin2k
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...