git.iko.soy/metal-metaballs
on master help sign in
Avoided reallocating resources when only the frame's origin changes.
aeab9fcvinivendra
PixelImage/MetalMetaballRenderer.swift+3−3
@@ -21,7 +21,7 @@ class MetalMetaballRenderer: MetaballRenderer {
21 }
21 }
22
22
23 let targetView = TargetView()
23 let targetView = TargetView()
24− var previousFrame = CGRect.zero
24+ var previousSize = CGSize.zero
25
25
26 let context = MTLContext()
26 let context = MTLContext()
27 var renderingTexture: MTLTexture!
27 var renderingTexture: MTLTexture!
@@ -37,8 +37,8 @@ class MetalMetaballRenderer: MetaballRenderer {
37 let metaballs = dataSource.metaballs
37 let metaballs = dataSource.metaballs
38
38
39 // Re-alloc buffers if frame has changed
39 // Re-alloc buffers if frame has changed
40− if previousFrame != targetView.frame {
40+ if previousSize != targetView.size {
41− previousFrame = targetView.frame
41+ previousSize = targetView.size
42 updateFrame()
42 updateFrame()
43 }
43 }
44
44