Index: NoesisView.cs
===================================================================
--- NoesisView.cs	(revision 7956)
+++ NoesisView.cs	(working copy)
@@ -443,10 +443,13 @@
         }
 
         LoadXaml(false);
+
+        Camera.onPreRender += PreRender;
     }
 
     void OnDisable()
     {
+        Camera.onPreRender -= PreRender;
     }
 
     void OnDestroy()
@@ -749,8 +752,21 @@
         }
     }
 
-    private void OnPreRender()
+    private bool _updatePending = true;
+
+    private void PreRender(Camera cam)
     {
+        // We need the offscreen phase to happen before any camera rendering. This is critical for tiled architectures.
+        // This method is invoked for each camera in the scene. We enqueue the offscreen phase in the first camera and disable for rest of cameras
+        if (_updatePending)
+        {
+            RenderOffscreen();
+            _updatePending = false;
+        }
+    }
+
+    void RenderOffscreen()
+    {
         if (_uiView != null && _visible)
         {
             _commands.Clear();
@@ -819,6 +835,8 @@
             {
                 _texture.DiscardContents(false, true);
             }
+
+            _updatePending = true;
         }
     }
 
