Changed: Added VideoMemory variable in cfg to force video memory to use (useful if Ryzom can't detect the correct amount of video memory or when using several clients at once)

--HG--
branch : develop
This commit is contained in:
kervala 2016-01-07 17:39:11 +01:00
parent b3a392d559
commit 51ec04b761
3 changed files with 23 additions and 8 deletions

View file

@ -419,6 +419,7 @@ CClientConfig::CClientConfig()
HDTextureInstalled = false;
Fog = true; // Fog is on by default
WaitVBL = false;
VideoMemory = 0;
FXAA = true;
@ -1051,6 +1052,8 @@ void CClientConfig::setValues()
// WaitVBL
READ_BOOL_FV(WaitVBL)
// VideoMemory
READ_INT_FV(VideoMemory);
READ_INT_DEV(TimerMode)

View file

@ -255,6 +255,8 @@ struct CClientConfig
bool Fog;
/// Enable/Disable VSync
bool WaitVBL;
/// Force or auto-detect video memory (in MiB)
sint VideoMemory;
/// Timer mode. 0 : QueryPerformanceCounter, 1 : timeGetTime.
uint TimerMode;

View file

@ -891,18 +891,28 @@ void initMainLoop()
// only detect amount of video memory if using HD textures
if (ClientCfg.HDEntityTexture)
{
// determine video memory using 3D driver
videoMemory = Driver->getTotalVideoMemory();
if (ClientCfg.VideoMemory <= 0)
{
// determine video memory using 3D driver
videoMemory = Driver->getTotalVideoMemory();
// if unable to determine, use plaform methods
if (videoMemory < 0) videoMemory = CSystemUtils::getTotalVideoMemory();
// if unable to determine, use plaform methods
if (videoMemory <= 0) videoMemory = CSystemUtils::getTotalVideoMemory();
// in the worst case, use default value of 128 MiB
if (videoMemory < 0) videoMemory = 128 * 1024;
// in the worst case, use default value of 128 MiB
if (videoMemory <= 0) videoMemory = 128 * 1024;
videoMemory /= 1024; // size in MiB
videoMemory /= 1024; // size in MiB
nlinfo("Video memory detected: %d MiB", videoMemory);
nlinfo("Video memory detected: %d MiB", videoMemory);
}
else
{
// force video memory (at least 32 MiB)
videoMemory = ClientCfg.VideoMemory < 32 ? 32:ClientCfg.VideoMemory;
nlinfo("Video memory forced: %d MiB", videoMemory);
}
}
else
{