                 self.displayLink = CADisplayLink(callback: { [weak self] link in
                     self?.displayLinkFired(link)
                 })
+                if #available(iOS 10.0, *) {
+                    self.displayLink?.preferredFramesPerSecond = view.imageSource?.preferredFramesPerSecond ?? 0
+                }
                 self.displayLink?.add(to: RunLoop.main, forMode: .common)
                 if #available(iOS 10.0, *) {
                     displayLink?.preferredFramesPerSecond = 60

        
        // MARK: - Updating
        
        private func updateImage() {
            self.displayedImage = self.imageSource?.cgImage(at: self.displayedIndex)
            
            self.invalidateIntrinsicContentSize()
            
            self.displayView.transform = self.imageSource?.properties(at: self.displayedIndex).transform ?? CGAffineTransform.identity
        }
        
        // MARK: - URL Loading

        }
        
        open override var intrinsicContentSize: CGSize {
            return imageSource?.properties().imageSize ??
                CGSize(width: UIView.noIntrinsicMetric, height: UIView.noIntrinsicMetric)
        }
        
