Common problems

Abstract

Some common problems and how you can fix them

My composition isn’t working and I don’t know why.

The first step is to take a deep breath and relax! OK, now the second step is to understand the problem. Here are some questions to ask yourself (or go through with a friend or collaborator):

  • What do you expect the composition to do?

  • What is the composition doing instead?

  • Where in the composition does the problem begin?

Using the tools provided by Vuo, try to narrow down the problem. Figure out exactly which nodes aren’t working as you expect. Then try some of the more specific troubleshooting steps in the rest of this section.

Some nodes aren’t executing.

If a node doesn’t become opaque in Show Events mode, or if its port popover says Last Event: (none observed), then the node isn’t executing. If a node isn’t executing, that means events aren’t reaching it. Here are some things to check:

  • Is there a trigger port connected to the node? Trace backward through your composition, starting at the node that isn’t executing, and looking at the cables and nodes feeding into it. Do you find a trigger port? If not…

    • Add a node with a trigger port, such as Fire on Start, and connect the trigger port to the node that isn’t executing.

  • Is the trigger port firing? Check the trigger port’s popover (or connect a Count node, as described above). If the trigger isn’t firing…

    • Check the node description for the trigger port’s node. Make sure you understand exactly when the trigger is supposed to fire.

    • Check the trigger port’s event throttling, which is displayed in the port popover. If it says drop events, try changing it to enqueue events. (See the section Buildup of events.)

  • Are events from the trigger port reaching some nodes but not others? Trace forward through your composition, from the trigger port toward the node that isn’t executing, and find the last node that’s receiving events.

    • Look at the input ports on that last node. Do they have walls or doors? (See the section Event walls and doors.) Check the node’s description to help you understand when and why the node blocks events. To send events through the node, you may need to connect a cable to a different input port.

    • Look at the output ports on that last node. Are they trigger ports? Remember that events into input ports never travel out of trigger ports. To send events through the node, you may need to connect a cable to a different output port.

Some nodes are executing when I don’t want them to.

A node executes every time an event reaches it. If you don’t want the node to execute at certain times, then your composition needs to block events from reaching the node. For more information, see the section Common patterns - How do I….

Some nodes are outputting the wrong data.

If your composition is outputting graphics, audio, or other information that’s different from what you expected, then you should check the data flowing through your composition. Here are some things to check:

  • Where exactly does the data go wrong?

    • Check each port popover along the way to see if it has the data you expected.

    • Add some nodes to the middle of the composition to help you check the data (for example, a Render Image to Window node to check the data in an image port).

  • Is there a node whose output data is different than you expected, given the input data?

    • Read the node description carefully. The node might work differently than you expected.

The composition’s output is slow or jerky.

This can happen if events are not flowing through your composition often enough or quickly enough. Here are some things to check:

  • Is each trigger port firing events as often as you expected? Check its port popover to see the average number of events per second. If it’s firing more slowly than you expected…

    • Check the node description for the trigger port’s node. Make sure you understand exactly when the trigger is supposed to fire.

    • Check for any nodes downstream of the trigger port that might take a long time to execute, for example a Fetch Image node that downloads an image from the internet. Change your composition so those nodes receive fewer events. (See the section Common patterns - How do I….)

    • Check the trigger port’s event throttling, which is displayed in the port popover. If it says drop events, try changing it to enqueue events. (See the section Buildup of events.)

    • Check the event throttling of each other trigger port that can fire events through the same nodes as this trigger port. If the other trigger port’s event throttling is enqueue events, try changing it to drop events.

  • Is each node receiving events as often as you expected? If not…

    • Check if there are any event doors that might be blocking events between the trigger and the node. (See the section Event walls and doors.)

  • Is the composition using a lot of memory or CPU? You can check this in the Activity Monitor application. If so…

    • Check if any parts of the composition are executing more often than necessary, and try not to execute them as often. (See the section Common patterns - How do I….)

    • Export the composition to an application. When run as an application instead of in the Vuo editor, compositions use less memory and CPU.

    • Quit other applications to make more memory and CPU available.

    • Run the composition on a computer with more memory and CPU.

Vuo slows down when my computer heats up.

Some Mac systems, including recent MacBook Pros, aren’t designed to adequately dissipate the heat they generate when under heavy load, so macOS drastically slows down the system in order to generate less heat. This is called thermal throttling. This behavior may affect the performance of your Vuo compositions.

You can monitor macOS’s thermal throttling by opening Terminal.app and running this command: pmset -g thermlog. It will automatically update when the status changes. When the CPU_Speed_Limit value is less than 100, thermal throttling is active.

To mitigate this, consider trying some of the following options:

  • Reset your Mac’s SMC to recalibrate its thermal management profile, which may change when macOS decides to apply thermal throttling.

  • Improve your Mac’s heat dissipation:

    • Ensure your Mac is in a cool room and placed on a cool surface out of direct sunlight.

    • Ensure your Mac’s air inlets and egresses are unobstructed.

    • Hire a qualified technician to disassemble your Mac and clean the dust from its fans.

    • Use an external fan to draw hot air away from your Mac.

    • Install 3rd-party software to increase your Mac’s internal fan speeds.

  • Reduce the CPU and GPU usage of your composition:

    • Reduce the image and mesh resolutions.

    • Reduce the framerate.

    • Reduce the number or quality of image filters.

Various compositions won’t run

If compositions fail to start, the problem could be that you have a node installed that for some reason prevents Vuo from running compositions. The node might be outdated or broken, or it might trigger a latent bug in Vuo. In any case, you can check if this is the problem by uninstalling all nodes, including subcompositions. See Installing a node.

If uninstalling all nodes enables your compositions to run again, the next step is to figure out which node was the problem. You can do this efficiently by first reinstalling half of your nodes. If the problem returns, then the problematic node must be in that half, so uninstall half of them and see what happens. Otherwise, reinstall half of the remaining nodes. Continue working by halves until you’ve narrowed the problem down to one node. If you downloaded the node from another Vuo community member, you can contact that person for help. If the problem is a node or subcomposition that you created, you can contact Vuo Support.