
The current implementation starts a render synchronously whenever one of the inputs change. Often, multiple inputs change together, and the current behavior causes unncessary rerenders (and cancels half way through). This change instead schedules the rerendering asynchronously on the next microtask, and debounces them so that multiple renders collapse into one. Change-Id: Id5e823a53ecfa9c542d81835bf67556dcab14d4a