我使用Vue和ToneJS构建了一个音乐应用程序,用户可以创建循环轨道,并根据用户选择以各种方式进行更改。这需要使用一组相当复杂的缩放计数器机制。在构建了音乐功能之后,我正在开发一个“进度条”,用于显示下一个转换即将发生的时间。
目前,我是通过计算所需的总步骤(每个音符都是一个“步骤”)并将其与每个计数器的进度(在Vuex状态上)进行比较来完成此操作。就代码而言,这需要耗费大量精力。
更好的方法可能是使用$emit,每次步骤推进时发送一个“tick”,该“tick”将被包含进度条的组件接收并与所需步骤进行比较。或者,在组件上使用watcher检测更改并发送一个“tick”。
但是,我已经遇到了一些应用性能方面的问题,而且对于这个应用程序来说,时间非常重要。我是一位相对较新的开发人员,还不太了解性能。因此,我想知道使用$emit或观察程序是否会很“昂贵”。由于它将附加到应用程序的“引擎”上,因此将被不断调用。有没有可能这会导致性能下降?
目前,我是通过计算所需的总步骤(每个音符都是一个“步骤”)并将其与每个计数器的进度(在Vuex状态上)进行比较来完成此操作。就代码而言,这需要耗费大量精力。
更好的方法可能是使用$emit,每次步骤推进时发送一个“tick”,该“tick”将被包含进度条的组件接收并与所需步骤进行比较。或者,在组件上使用watcher检测更改并发送一个“tick”。
但是,我已经遇到了一些应用性能方面的问题,而且对于这个应用程序来说,时间非常重要。我是一位相对较新的开发人员,还不太了解性能。因此,我想知道使用$emit或观察程序是否会很“昂贵”。由于它将附加到应用程序的“引擎”上,因此将被不断调用。有没有可能这会导致性能下降?