refresh¶
警告
这部分内容涉及 JAnim 实现原理,可能较为复杂,若没有研究源码的需求,你应酌情阅读
- janim.utils.refresh.register(func: T) T¶
用于在需要时才进行值的重新计算,提升性能
当一个方法 self.func 被修饰后,会记忆 self.func 被调用后的返回值, 并在之后的调用中直接返回该值,而不对 self.func 进行真正的调用; 需要
self.mark_refresh_required(self.func)才会对 self.func 重新调用以更新返回值例如,
Item的get_family方法不会每次都进行计算 只有在add或remove执行后,才会将get_family标记为需要更新 使得在下次调用get_family才重新计算结果并返回另见:
test.utils.test_refresh.RefreshTest.
- class janim.utils.refresh.Refreshable(*args, **kwargs)¶
基类:
object- mark_refresh(func: Callable | str) Self¶
标记指定的
func需要进行更新
- reset_refresh() Self¶
- class janim.utils.refresh.RefreshData¶
基类:
object