Table of Contents

Profiling Tips and Best Practices

Before using the Game Profiler in Wwise, you may want to review the following sections, which provide you with a series of tips and best practices that can help you profile and troubleshoot the different aspects of your game.

Game Profiler Performance

Because of the potentially large amount of data being transferred, capturing from the sound engine may affect Wwise's performance. Therefore, you may want to limit the type of information that is being generated by the Advanced Profiler by using the Profiler Settings dialog box. By deselecting one or more of the information types, you can:

  • Save network transfer bandwidth.

  • Save memory space in Wwise.

  • Save CPU time in game by not calculating the data.

  • Save CPU time in Wwise by not processing or drawing the data.

Monitoring Performance While Capturing

If you want to monitor the performance while you are capturing data from the sound engine, you must select the Follow Capture Time option. If you don't select this option, after a short period of time, none of the views in the Profiler will seem like they are being updated and it will appear as if no information is being captured. If you forget to select the Follow Capture Time option, you can always scroll through the captured data by dragging the Performance Monitor time cursor (white) to a specific location on the graph. As you drag the time cursor, the other views in the Profiler will update automatically.

Troubleshooting Remote Connection Issues

  • If you try to connect Wwise to your game, but the computer/console does not appear in the Remote Connections dialog box, verify the following:

    • The Communications module is properly initialized in your game. For more information, refer to the "Initializing Communications" section of the Wwise SDK documentation.

    • The same port number is specified for the "Game Discovery Broadcast Port" in your project settings and in the AkCommSettings structure used in your game to initialize communications. For more information, refer to Specifying Network Ports and the "Initializing Communications" section of the Wwise SDK documentation.

    • The computer/console is properly connected to the network. Note that some consoles have multiple network adapters, including one for debugging and one for regular network traffic. Make sure to connect all of them before trying to re-connect from Wwise.

    • The computer/console is on the same subnet as the computer running Wwise.

    • An active firewall is blocking the connection. If you have an active firewall on the computer running Wwise, try disabling it to see if the firewall is blocking the connection. If that works, try adding the Wwise application to the list of exceptions in your firewall (refer to your firewall's documentation for instructions). If you need to change the ports used for Wwise communication (including using fixed ports instead of dynamic ports), refer to Specifying Network Ports and the "Initializing Communications" section of the Wwise SDK documentation.

    • If you know the IP address of the remote computer/console, you can click Connect to IP in the Remote Connections dialog box and enter the IP address manually. If you can connect to the game in this manner, then it's only the broadcast from the remote computer/console that is blocked. After connecting a computer/console once, it will automatically appear in the History tab of the Remote Connections dialog box, so you won't have to enter the IP address when you try to reconnect in the future.

    • The sound engine is in either debug or profile. You can't connect to a release build of the sound engine.

  • If you try to connect to your game from a very large project and Wwise seems to hang on the connect screen, try the following:

    • Open your project, try emptying the current Soundcaster and Mixing Desk sessions, remove what is loaded into the Transport Control, and then try to connect to the game with Synchronize modified objects unselected.

      [Note] Note

      A little background information on why this may work. When Wwise connects to a game, it pushes information to the game to make sure what is displayed in Wwise is in sync with what is in the game. But, with Synchronize modified objects unselected, Wwise does not push everything. Instead, Wwise pushes only what is selected in the Property Editor, Transport Control, and what is present in the active Soundcaster and Mixing Desk sessions. If you are trying to connect to your game from a Wwise project that has an active Soundcaster or Mixing Desk session containing a large amount of data, you may experience this problem.

      Selecting the Remote Connections' Synchronize modified objects option may also contribute to this problem because it will sync all changes in a Wwise session with what is played back in the remote instance. This could take much too long. So, if you are encountering issues, make sure you reconnect with this option unselected.