SCNView frame rate

There’s no API to get any kind of performance information from an SCNView, even as basic as a rolling frame rate.  But it’s not hard to add – you can be notified when each frame is drawn by overriding the -draw method.  For example: Update:However, if you’re layer-backed the “draw” method isn’t used. Instead you… Read more

SCNGeometrys can be shared by multiple SCNNodes

It’s not explicitly documented either way, but it is perfectly valid, evidently, to attach the same SCNGeometry to multiple SCNNodes.  Works as you’d expect – changes to the geometry are reflected across all the nodes identically. It doesn’t appear to have any performance impact though, oddly.  At least not in fairly trivial scenes.  It might… Read more

Animations only work when the node is already in the scene

If you try to add an animation to an SCNNode that’s not yet part of a scene graph, nothing will happen.  It won’t give any indication of failing, and the performance of rendering implies it’s still running them, but there will be no visible effect.  So, addChildNode: and then addAnimation:forKey:.

SCNView may change your point of view

Ugh… SceneKit is both promising and frustrating.  It appears to be a very stereotypical case of “version 1” syndrome – nice idea, flaky implementation and very skimpy documentation. So amongst the many strange, undocumented foibles it has, one in particular is quite egregious.  When you add an SCNNode to your SCNView-rendered scene, containing an SCNCamera, the… Read more