我正在浏览QMainWindow内的方法,注意到某些部分(如resizeEvent和winEvent)不是作为信号实现的,而是必须继承该类才能重写它们。
我的问题是,信号和槽有多有效率,是否可能将这些类型的函数实现为其他类可以订阅的信号。例如,在高性能游戏引擎中。
我的问题是,信号和槽有多有效率,是否可能将这些类型的函数实现为其他类可以订阅的信号。例如,在高性能游戏引擎中。
virtual
调用慢大约10倍。你应该能够轻松处理数万个信号,甚至可能是数十万个每秒。信号和槽的设计是为了让不同的对象之间进行通信,这些对象都在您的控制之下。
您提到的事件只涉及一个对象,该对象直接由事件循环通知。这里不需要使用信号或槽。
请注意,如果需要,您可以在事件成员函数中发出信号。这通常是对事件做出反应的正确方式。这样,其他对象就可以订阅某些内容。