Overriding viewWillStartLiveResize and viewDidEndLiveResize cures graphics draw problem

I appreciate this might not be possible to answer without seeing all of my code, but I'm a fair way into my project and publishing only the SceneKit stuff would be tricky as it involves extensions, various sub classes and such like. So, in the briefest manner I can:

I have a SCNScene with 2 SCNNodes. Each node has two filters applied (in this case CIGaussianBlur and CIPixellate but the issue doesn't seem to specifically apply to which filter is applied only *if* a filter is applied). With the nodes displayed correctly and not animating, if I resize the window that the scene is in I get strange re-drawing issues: the image gets drawn oddly until I release the mouse button and the draw cycle is completed. However, if I simply include these empty methodes in my subclassed SCNView:

Code Block
override func viewWillStartLiveResize() {
}
override func viewDidEndLiveResize() {
}


The nodes are continually drawn correctly during a user's resize.

The entire subclass consists of:

Code Block
class ImageSCNView: SCNView {
private (set) var hasLoaded: Bool = false
override var mouseDownCanMoveWindow: Bool {
return true
}
override func viewDidMoveToWindow() {
hasLoaded = true
}
override func viewWillStartLiveResize() {
}
override func viewDidEndLiveResize() {
}
}


Is this in someway expected behaviour or am I lining up for a gotcha in the future? I'm assuming I've prevented the calls the the classes super so I wonder if that will be problematic in the long run...
Overriding viewWillStartLiveResize and viewDidEndLiveResize cures graphics draw problem
 
 
Q