PowerCoreTools: 3ds Max's CPU management tool

8 votes
Version: 
1.2

PowerCoreTools:

Just released version 1.2 of my PowerCoreTools CPU managment script for 3ds Max

A tool to control CPU usage while 3ds Max is rendering. Automatically sets process priority and affinity ( the number of  CPU cores the render process uses) at render start. Restores the initial settings when the rendering is done. Can be configured to run in a complete transparent  No-UI mode, which is launched right after 3ds Max has started.
This keeps your workstation responsive for other tasks while rendering. A second 3ds Max session stays responsive and can be used to continue work on different tasks.

A look at the following screenshot will probably tell more than thousand words:

PowerCoreTools in Action

POWERCORETOOLS V1.2

PowerCoreTools :  Control CPU Priority and Core Usage during Rendering
Created:  June 4, 2014
Modified:  August 29, 2016
Requirement: Max 2010 or higher

HISTORY:
Version:  V1.2 - Fixed 3ds Max 2017 UI issues, fixed ART renderer support, DC20160829
Version:  V1.1 - Exchange Store Release, DC20140816, Autodesk Exchange store release

Version:  V1.0 - Initial Release, DC20140604

AUTHOR:
Josef 'spacefrog' Wienerroither  -  www.frogsinspace.at | [email protected]

CONFIGURATION & USAGE:

Use the tooltip pop-up's on the UI elements for detailed info. As this is a tool for advanced usage, basic knowledge of CPU priorities and affinity settings are presumed.

INSTALLATION:
Just use the install package ( the xxx.mzp file) and drop it onto your 3ds Max viewport.
Choose one of the install options and the tool is ready to be used. A 3ds Max restart might be required
The install package provides an uninstall option too.

RELEASENOTES:
New features in V1.2 are 3ds Max 2017+ compatbility and support for 3ds Max's ART renderer. Currently MaxToArnold is limited, as this renderer manages  CPU resource usage by itself.

DOWNLOAD (see bottom of the page):
http://www.frogsinspace.at/?p=2998

 

Version Requirement: 
3ds Max 2010 and up

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
spacefrog's picture

Thanks for the positive

Thanks for the positive feedback ;-)

Yes, sadly some newer renderers ( Vray 3.x, Arnold ) handle the affinity mask inside their own rendering code, overriding everything that was set before the render starts. So my script in the current version has no effect .
But Vray supports an external env variable setting ( windows env ) to limit the number of cores it uses for rendering. This env variable is called VRAY_NUM_THREADS and specifies the # of used cores while rendering in vray. This has to be set before launching 3ds Max
The following dos commands should set this variable to be exactly one less than your total core counts, leaving always one core free for other stuff. This is the thing most users would like to have . Launching the two commands once in an administrator account should set it for all future 3ds Max sessions

set /a CORE_COUNT=%NUMBER_OF_PROCESSORS%-1
setx /M VRAY_NUM_THREADS %CORE_COUNT%

Of course if you want to set the limit to any other value you simply can type

setx /M VRAY_NUM_THREADS x

where x would be your desired core limit.
I keep the idea to implement this core limiting using this environment variable within PowercoreTools in the back of my head, but currenlty i do not have time left to update the script

e_samurai's picture

Great script, but Vray keeps overriding it :(

Hey, thanks for the GREAT script! Unfortunately it doesn't work with Vray 3.4 and Max 2014 :(
I tried to set the affinity options and click apply (it does apply to the 3dsmax.exe process) but once I hit render it returns back to full core usage.

I also tried the callback activate/deactivate and still reverts to full core usage.

It seems that Vray is overriding this.

I noticed that even when I manually changed affinity (without your script) during the rendering process (and used BatchCameraRender to render multiple shots) that the affinity is reset with each shot being submitted.

Can you please help with this? Greatly appreciated!

bronius's picture

download link

Now is correсt. Thank You!

spacefrog's picture

Hey - Thousand thanks for the

Hey bronius - thousand thanks for the info !
Somehow i missed updating the link - should be corrected now and now the link really downloads V1.2. Sorry for the inconvenience

bronius's picture

download link

But download link is for old 1.0 version..

spacefrog's picture

V1.2 featuring Max 2017 compatibility released...

Just released V1.2 of the script, which fixes some UI glitch in 3ds Max 2017 and now supports the ART renderer. Free download directly from my website ( link above )

dennisqdw's picture

Thank-you so much!!

I have wanted something like this for the longest time. Precisely so that I could continue to work in another max session while rendering. Excellent work!

spacefrog's picture

Only if you use one Max

Only if you use one Max session to render ( with accordingly tweaked PowerCoreTools options ) and continue to work in a second Max session.
The second Max session would be more responsive if you limited the first one to not use all cores and/or low priority during rendering

henriquevlopes's picture

looks great dude, i wonder if

looks great dude,
i wonder if this improves the viewport performance in any way?

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.