code: def _spawn_background_rendering(self, rate=5.0):
          
          self.render_trigger.connect(self.ren_win.Render)
          twait = rate**-1
  
          def render():
              while self.active:
                  time.sleep(twait)
                  self._render()
  
          self.render_thread = Thread(target=render)
          self.render_thread.start()
docs: Spawns a thread that updates the render window.
  
          Sometimes directly modifiying object data doesn't trigger
          Modified() and upstream objects won't be updated.  This
          ensures the render window stays updated without consuming too
          many resources.