public static void AddRoot(ICPULoad root)
 {
     nodes.Add(root, new Node
     {
         load                 = root,
         children             = new List <Node>(),
         frameTime            = root.GetEstimatedFrameTime(),
         loadBalanceThreshold = TuningData <Tuning> .Get().defaultLoadBalanceThreshold
     });
 }
    public static void AddChild(ICPULoad parent, ICPULoad child, float loadBalanceThreshold)
    {
        Node node = default(Node);

        node.load                 = child;
        node.children             = new List <Node>();
        node.frameTime            = child.GetEstimatedFrameTime();
        node.loadBalanceThreshold = loadBalanceThreshold;
        Node node2 = node;

        nodes.Add(child, node2);
        node = nodes[parent];
        node.children.Add(node2);
    }