gpt4 book ai didi

c++ - 我应该选择哪个 C++ 信号/插槽库?

转载 作者:IT老高 更新时间:2023-10-28 12:32:11 25 4
gpt4 key购买 nike

我想在不使用 QT 的项目中使用信号/插槽库。我有非常基本的要求:

  1. 用任意数量的参数连接两个函数。
  2. 信号可以连接到多个插槽。
  3. 手动断开信号/插槽连接。
  4. 不错的性能 - 应用程序是基于帧的(即不是基于事件的),我想在每个帧中使用连接。

我读过 comparison between libsigc++ and Boost.Signals .我还读到 Boost.Signals 性能不佳。但是,我知道还有其他库,但我仍然不确定应该选择哪个库。

对信号/槽库有什么建议吗?

最佳答案

首先,无论如何都尝试使用 boost::signal。在您尝试您的应用程序的特定情况之前,不要假设它不够快

如果它不够高效,也许像 FastDelegate会满足你的需要吗? (我没有尝试过,但听说在 boost::signal 似乎不适合的某些情况下这是一个不错的解决方案)。

无论如何,如果在您的应用程序中每帧都使用信号,则可能值得将信号系统替换为更简单的东西,例如保存将在每帧调用的对象/仿函数的容器。信号更多地允许即时“事件”管理,而不是使循环周期动态化(允许更改调用每个帧的函数)。(我有 my own solution(更新:它现在非常古老且过时)我在游戏中大量使用它,例如我的性能没有问题,所以类似的东西可能会有所帮助。

关于c++ - 我应该选择哪个 C++ 信号/插槽库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/359928/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com