mirror of
https://port.numenaute.org/aleajactaest/khanat-opennel-code.git
synced 2024-11-24 08:06:13 +00:00
Merge with develop
--HG-- branch : compatibility-develop
This commit is contained in:
commit
82274e7f99
3 changed files with 51 additions and 54 deletions
|
@ -254,43 +254,6 @@ extern NL3D::UDriver *Driver;
|
||||||
extern CRyzomTime RT;
|
extern CRyzomTime RT;
|
||||||
extern string Cookie;
|
extern string Cookie;
|
||||||
extern string FSAddr;
|
extern string FSAddr;
|
||||||
|
|
||||||
extern uint64 Debug_OldCPUMask;
|
|
||||||
extern uint64 Debug_NewCPUMask;
|
|
||||||
|
|
||||||
// For multi cpu, active only one CPU for the main thread
|
|
||||||
void setCPUMask(uint64 userCPUMask)
|
|
||||||
{
|
|
||||||
uint64 cpuMask = IProcess::getCurrentProcess()->getCPUMask();
|
|
||||||
Debug_OldCPUMask = cpuMask;
|
|
||||||
|
|
||||||
// if user CPU mask is valid
|
|
||||||
if (cpuMask & userCPUMask)
|
|
||||||
{
|
|
||||||
// use it
|
|
||||||
IProcess::getCurrentProcess ()->setCPUMask(cpuMask & userCPUMask);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// else get first available CPU
|
|
||||||
|
|
||||||
// get the processor to allow process
|
|
||||||
uint i = 0;
|
|
||||||
while ((i < 64) && ((cpuMask & (UINT64_CONSTANT(1) << i)) == 0))
|
|
||||||
i++;
|
|
||||||
|
|
||||||
// Set the CPU mask
|
|
||||||
if (i < 64)
|
|
||||||
{
|
|
||||||
IProcess::getCurrentProcess ()->setCPUMask(UINT64_CONSTANT(1) << i);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// check
|
|
||||||
cpuMask = IProcess::getCurrentProcess ()->getCPUMask();
|
|
||||||
Debug_NewCPUMask = cpuMask;
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/////////////
|
/////////////
|
||||||
|
@ -1703,22 +1666,6 @@ void CClientConfig::setValues()
|
||||||
SetPriorityClass (GetCurrentProcess(), priority[index]);
|
SetPriorityClass (GetCurrentProcess(), priority[index]);
|
||||||
#endif // NL_OS_WINDOWS
|
#endif // NL_OS_WINDOWS
|
||||||
|
|
||||||
sint cpuMask;
|
|
||||||
|
|
||||||
if (ClientCfg.CPUMask < 1)
|
|
||||||
{
|
|
||||||
CTime::CTimerInfo timerInfo;
|
|
||||||
NLMISC::CTime::probeTimerInfo(timerInfo);
|
|
||||||
|
|
||||||
cpuMask = timerInfo.RequiresSingleCore ? 1:0;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
cpuMask = ClientCfg.CPUMask;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (cpuMask) setCPUMask(cpuMask);
|
|
||||||
|
|
||||||
// Init Verbose Modes (at the beginning to be able to display them as soon as possible).
|
// Init Verbose Modes (at the beginning to be able to display them as soon as possible).
|
||||||
::VerboseVP = ClientCfg.VerboseVP;
|
::VerboseVP = ClientCfg.VerboseVP;
|
||||||
::VerboseAnimUser = ClientCfg.VerboseAnimUser;
|
::VerboseAnimUser = ClientCfg.VerboseAnimUser;
|
||||||
|
|
|
@ -378,6 +378,39 @@ void outOfMemory()
|
||||||
uint64 Debug_OldCPUMask = 0;
|
uint64 Debug_OldCPUMask = 0;
|
||||||
uint64 Debug_NewCPUMask = 0;
|
uint64 Debug_NewCPUMask = 0;
|
||||||
|
|
||||||
|
// For multi cpu, active only one CPU for the main thread
|
||||||
|
void setCPUMask(uint64 userCPUMask)
|
||||||
|
{
|
||||||
|
uint64 cpuMask = IProcess::getCurrentProcess()->getCPUMask();
|
||||||
|
Debug_OldCPUMask = cpuMask;
|
||||||
|
|
||||||
|
// if user CPU mask is valid
|
||||||
|
if (cpuMask & userCPUMask)
|
||||||
|
{
|
||||||
|
// use it
|
||||||
|
IProcess::getCurrentProcess ()->setCPUMask(cpuMask & userCPUMask);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// else get first available CPU
|
||||||
|
|
||||||
|
// get the processor to allow process
|
||||||
|
uint i = 0;
|
||||||
|
while ((i < 64) && ((cpuMask & (UINT64_CONSTANT(1) << i)) == 0))
|
||||||
|
i++;
|
||||||
|
|
||||||
|
// Set the CPU mask
|
||||||
|
if (i < 64)
|
||||||
|
{
|
||||||
|
IProcess::getCurrentProcess ()->setCPUMask(UINT64_CONSTANT(1) << i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// check
|
||||||
|
cpuMask = IProcess::getCurrentProcess ()->getCPUMask();
|
||||||
|
Debug_NewCPUMask = cpuMask;
|
||||||
|
}
|
||||||
|
|
||||||
void displayCPUInfo()
|
void displayCPUInfo()
|
||||||
{
|
{
|
||||||
nlinfo("CPUInfo: CPUMask before change: %x, after change: %x, CPUID: %x, hasHyperThreading: %s", (uint32)Debug_OldCPUMask, (uint32)Debug_NewCPUMask, CSystemInfo::getCPUID(), (CSystemInfo::hasHyperThreading()?"YES":"NO"));
|
nlinfo("CPUInfo: CPUMask before change: %x, after change: %x, CPUID: %x, hasHyperThreading: %s", (uint32)Debug_OldCPUMask, (uint32)Debug_NewCPUMask, CSystemInfo::getCPUID(), (CSystemInfo::hasHyperThreading()?"YES":"NO"));
|
||||||
|
@ -836,6 +869,22 @@ void prelogInit()
|
||||||
ClientCfg.init(ConfigFileName);
|
ClientCfg.init(ConfigFileName);
|
||||||
CLoginProgressPostThread::getInstance().init(ClientCfg.ConfigFile);
|
CLoginProgressPostThread::getInstance().init(ClientCfg.ConfigFile);
|
||||||
|
|
||||||
|
sint cpuMask;
|
||||||
|
|
||||||
|
if (ClientCfg.CPUMask < 1)
|
||||||
|
{
|
||||||
|
CTime::CTimerInfo timerInfo;
|
||||||
|
NLMISC::CTime::probeTimerInfo(timerInfo);
|
||||||
|
|
||||||
|
cpuMask = timerInfo.RequiresSingleCore ? 1:0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
cpuMask = ClientCfg.CPUMask;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (cpuMask) setCPUMask(cpuMask);
|
||||||
|
|
||||||
setCrashCallback(crashCallback);
|
setCrashCallback(crashCallback);
|
||||||
|
|
||||||
// Display Some Info On CPU
|
// Display Some Info On CPU
|
||||||
|
|
|
@ -10,11 +10,12 @@ FILE(GLOB SRC main.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
# always enable custom patch server
|
# always enable custom patch server
|
||||||
ADD_DEFINITIONS(-DRZ_USE_CUSTOM_PATCH_SERVER)
|
ADD_DEFINITIONS(${LIBXML2_DEFINITIONS} -DRZ_USE_CUSTOM_PATCH_SERVER)
|
||||||
|
|
||||||
ADD_EXECUTABLE(ryzom_client_patcher ${SRC})
|
ADD_EXECUTABLE(ryzom_client_patcher ${SRC})
|
||||||
|
|
||||||
INCLUDE_DIRECTORIES(
|
INCLUDE_DIRECTORIES(
|
||||||
|
${LIBXML2_INCLUDE_DIR}
|
||||||
${CURL_INCLUDE_DIRS}
|
${CURL_INCLUDE_DIRS}
|
||||||
${CMAKE_SOURCE_DIR}/ryzom/client/src
|
${CMAKE_SOURCE_DIR}/ryzom/client/src
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in a new issue