Table of Contents maxLevel 2
The General page controls how the IncrediBuild Agent handles various project configuration issues:
Restart remote processes on local machine when possible
This option (disabled by default) helps prevent cases in which a job "waits" for a slow remote machine to complete execution of a task. If this scenario is reached when this mode is enabled, IncrediBuild executes this task on the local machine in parallel to the remote machine, and output from the first machine to complete the task is applied to the build.
- When this mode is enabled, you may see two execution bars of the same target running at the same time; when one of the bars completes, the other bar disappears, signaling that the faster machine's output was applied to the build.
Avoid task execution on local machine when possible
When this option is enabled, tasks that may be remotely executed (C/C++ compilation, etc.) run only on remote machines, and the local machine is used exclusively for tasks that can only be executed locally (linking, for example).
- When this option is disabled, local execution of distributable tasks is avoided if the local system's resource becomes very busy.
- Enabling this option may increase performance in heavy builds. It will allow the local machine to concentrate on I/O, file transfer, and the like, and leave it more available for synchronization with remote computers. As this may not be the case for all builds, it is recommended to experiment to see if this holds for your particular build.
Enable standalone mode
Enables a mode in which the Agent uses only its local CPUs when it initiates builds. The Agent still participates in remote builds initiated by other Agents.
This setting determines the maximum number of CPU cores that can be used in a build, regardless of the number of available Agents. It takes into account both local and remote cores.
If the Avoid task execution on local machine when possible option is selected, the local cores will still be calculated in the maximum number of cores that can be used for a build, even when they are not used for running compilations.
Build Completion Sound
Three options are available:
- Don't play a sound - Build completion sound is disabled.
- Sound a system beep - A system beep is sounded when a build completes.
- Play Control Panel defined sounds - IncrediBuild uses user-specified sounds for each of the following events: successful build completion, build failure, and build cancel. To modify build sound settings, use the "Sounds and Audio Devices" Control Panel utility.
Advanced page contained advanced settings that affect builds initiated by this Agent:
Monitor file system changes to minimize directory access
This feature optimizes directory access to allow faster builds in scenarios involving input files located on network folders and/or input file trees containing a large number of folders. This feature is available only on 32-bit versions of MS Windows.
Write output to disk in the background
When this option is enabled, output files are physically written to disk in the background, which may improve task scheduling speed in some environments. It is recommended to benchmark performance with and without this option before leaving it enabled.
Enable minimal directory synchronization
This feature can be used to speed up directory synchronization in Visual Studio builds. When this feature is enabled, IncrediBuild only performs source-file timestamp checking once, except for files and folders that have been explicitly marked as being outputs of other tasks in the build (for example, a file generated by a Visual Studio custom build step that "generates" source files is re-sent to remote Agents once it has been modified, as long as that file has been explicitly declared as an output file). This mode may significantly improve build times in environments that store source files in slow file systems (for example, in version-control databases or remote file servers).
- When using minimal directory synchronization, all tasks that generate files used as input by other steps in the build must explicitly declare those files as output files. Not doing so may result in build errors or in older versions of these files being used in the build. MSVC's output file definition mechanism will be sufficient. For cases in which source files are generated using Post-Build/Pre-Link/Pre-Build steps (for which output files cannot be declared) or for other special cases, see the advanced Output File Definition Directives section.
Use this threshold when comparing files timestamps
Sets a minimal timestamp difference threshold (in seconds) for IncrediBuild to use when comparing input and output file timestamps. For example, if the threshold is set to 5 and an .OBJ file is 3 seconds older than its source file, that source file is not compiled when an incremental build is run. Use this option only if you specifically need to use a higher threshold.
Terminate Helper Processes after X Seconds
This option defines a maximal legitimate duration for a distributable task. Tasks that exceed the specified duration are automatically terminated and reassigned to another Agent.
Terminate inactive Helper processes
When this option is enabled, IncrediBuild detects distributed tasks that consistently do not receive CPU cycles for over 16 seconds. If a running task meets this criteria, it is terminated and reassigned to another Agent.
Processes page controls the process priority given to IncrediBuild processes on builds started by this machine:
Main Initiator process priorityControls the process priority of the "BuildSystem.exe" process, responsible for managing builds started on the machine running this Agent.
Locally executed non-distributable task process priorityControls the process priority that is assigned to non-distributable tasks (e.g. Visual Studio C++ link steps).
Locally executed distributable task process priorityControls the process priority that is assigned to distributable tasks when run on the local (initiating) machine.
Children Display style h4 page Agent Settings