GPU Management

From ISBoxer
Jump to: navigation, search

ISBoxer's GPU (video card) management features, for managing multiple video cards, are built into Window Layouts and the Window Layout generator, and are mostly hands-off.

GPU Management does not operate the same as CPU Management or CPU Affinity. The way it works is the game selects a display (monitor) to host the game window, and then DirectX and your video drivers will operate on the GPU that powers that display, for the entire lifetime of the game client. Your ISBoxer Window Layout will automatically select the correct display (and the GPU that powers it) for each game window.

SLI and Crossfire modes

SLI (NVIDIA) and Crossfire (ATI/AMD) were designed to power a single Full Screen game window, and may not work at all in Windowed mode. Since you cannot have multiple game instances launched in Full Screen mode (it is exclusive by definition, so attempting to launch a second Full Screen application will simply not work), this poses a problem when multiboxing.

Recent driver updates may allow your SLI -- but not Crossfire as of this edit -- configuration to operate in Windowed mode, however your mileage may vary. If you discover that your second GPU is idling while in this mode, or your system is unstable, you may be better off splitting the video cards to power different monitors.

  • Make sure Vertical Sync is disabled (ISBoxer will disable this by default via a Character Set setting) -- SLI or Crossfire may be operating correctly, but Vertical Sync may significantly reduce your framerate (for example, the total framerate from all of your windows may add up to the refresh rate, as opposed to the desired behavior of each window operating at the refresh rate). See HOWTO: Tweak your framerate for more performance tips.
  • Video RAM in SLI or Crossfire mode is mirrored, so if you have 2 2GB cards, you will have 2GB total in this mode because both cards need a copy of the data; in split GPU mode, the full 4GB can be used separately. The closer you are to running out of VRAM, the more this information will become important.

Powering separate monitors

Multiple monitors can be used in single or multiple-GPU configurations, with certain performance limitations in each
  • Single GPU: With Windows XP (but not Windows Vista or later), allowing a game window to move from one monitor to another will cause a significant performance hit.
  • Multiple GPUs: With any version of Windows, allowing a game window to move from one monitor to another that is powered by a different GPU will cause a significant performance hit.

These are not Inner Space or ISBoxer limitations; This is documented by Microsoft here [1] under Best Practices for Multi-Monitor Displays

ISBoxer's Window Layout generator provides a Cross-monitor swapping option that can be disabled to prevent either of these performance hits. Under Windows XP, this option should automatically be disabled for you, but can be manually enabled if you would like the functionality at the cost of the performance hit.

If you continue to have performance issues after making sure the game windows are not assigned the wrong GPU, make sure Vertical Sync is disabled as well, as it may result in significantly reduced framerates. See HOWTO: Tweak your framerate for more performance tips.

About the game launching process on multiple monitors

When your game first launches, regardless of what GPU ISBoxer has selected for the game, the game window is still most likely to appear on the primary display (by design of the game you are playing; this is just where the game puts the window initially and is unrelated to your Window Layout!) before ISBoxer moves it into your Window Layout. During this time, a performance hit described in the "Powering multiple monitors" section may apply, and then subside when the window is moved to the proper monitor.

Some (few) games have a setting that affects where the window is initially placed -- although ISBoxer will still enforce the correct GPU regardless of this setting. For example, World of Warcraft has a monitor selection setting in its video options that will cause it to initially appear on a different monitor than the primary.

In other words...

How to get high performance cross-monitor Swapping

There are exactly two ways that allow you to move a window from one monitor to another without losing performance:

  1. Use ONE video card instead of two (Windows Vista or later only!)
  2. Use SLI or Crossfire mode (your mileage may vary, as described above)

How to split the load between multiple GPUs

In order to split the load between multiple GPUs yourself (as opposed to using SLI or Crossfire):

  1. Avoid using Cross-monitor Swapping (note that when swapping occurs, the same GPU handles the rendering as before, but incurs a performance hit to render on the other screen)
  2. Pick a Window Layout where the Home Region for each Window is on the GPU you would like to power it. That GPU will power the window for its lifetime, regardless of whether the window moves to the other screen via Cross-monitor Swapping.

See Also