             }
         }
     }
+    
+    // MARK: Helper
+    
+    private func setupTpsLabel() {
+        let label = UILabel(frame: CGRect(x: 4, y: 20, width: 60, height: 15))
+        label.textColor = UIColor.whiteColor()
+        label.font = UIFont(name: "Menlo", size: 10)
+        view?.addSubview(label)
+        
+        tpsLabel?.removeFromSuperview()
+        tpsLabel = label
+    }
+    
+    private func setTpsLabelCount(count: Int) {
+        tpsLabel?.text = "tps: \(count).0"
+    }
 }

        set {
            _tps = max(0, newValue)
            currentTPS = 0
            tpsLabel?.text = "tps: 0.0"
        }
        get { return _tps }
    }

                    if self.currentTime > 1.0+self.startTimeInterval {
                        let tps = min(self.currentTPS, self.tps)
                        dispatch_async(dispatch_get_main_queue()) {
                            self.setTpsLabelCount(tps)
                        }
                        self.currentTPS = 0
                        self.startTimeInterval = self.currentTime
