code: def _vispy_start(self, interval):
      interval = self._vispy_timer._interval
      if self._vispy_timer.max_iterations == 1:
          pyglet.clock.schedule_once(
              self._vispy_timer._timeout, interval
          )
      else:
          # seems pyglet does not give the expected behavior when interval==0
          if interval == 0:
              interval = 1e-9
          pyglet.clock.schedule_interval(
              self._vispy_timer._timeout, interval
          )
  
imports: from __future__ import division
  from packaging.version import Version
  from time import sleep
  from ..base import BaseApplicationBackend, BaseCanvasBackend, BaseTimerBackend
  from ...util import keys
  from ...util.ptime import time
  from ...None import config
label_desc: Use image node_id 1 for calling the TimerBackend obj's underlying member method code with example usage: obj._vispy_start(interval) without return types