我需要实现(不使用某些库/开源)事件/消息系统。
我有以下限制:
一定很快。它将用于游戏和速度是主要的限制。我想即使我使用自定义分配器,每次发送新的消息/事件时都无法创建/删除消息/事件类。
我必须能够预测何时会收到发送/创建的消息/事件。
必须易于使用。无论系统的实现有多复杂,使用它的程序员必须具有易于使用的界面。
我宁愿避免像Windows消息那样的巨型交换机,但我也想避免仅为一个函数覆盖一个类 - 事件处理程序或类似的东西。我认为类似MFC风格的东西会很好。
它必须能够处理没有性能问题的消息/事件的批次(可能是1000帧/帧,60帧/秒,不完全知道)。
它不能使用其他平台上没有的编译器黑客。它必须是便携式的。我将使用C ++实现。
您认为适合/可能有用的任何架构/设计/链接/书籍都将受到高度赞赏。谢谢!
答案 0 :(得分:2)
让我逐一阐述你的观点:
一定很快。它将用于游戏和速度是主要的 限制。我想我不能 创建/删除消息/事件类 每次发送新消息/事件时 即使我使用自定义分配器 这一点。
对于重用和重新填充现有消息来说,这样就足够了,也许甚至更高效(对我来说是一个项目)。无需自定义分配器。
我必须能够预测何时 发送/创建的消息/事件将是 接收。
您可以进行预测,但普通网络(您希望可移植性)会使您的预测有时偏离,有时会偏离。
必须易于使用。无所谓 会有多复杂 系统的实现, 使用它的程序员必须有一个 易于使用的界面。
这应该是可能的,虽然这可能会花费你一些额外的努力。我们会想到错误处理和特殊情况(平台,网络)。
我宁愿避开巨型开关 喜欢在Windows消息上,但我也是 我想避免重写一个班级 只有一个函数 - 事件处理程序 或类似的东西。我认为 就像MFC风格一样 好的。
避免手动编写的巨型交换机是我100%订阅的东西。
它必须能够处理很多(也许 1000 /帧在60帧/秒,不 知道这个消息/事件 没有性能问题。
如果您在实施过程中注意,您应该只受网络限制。
它不能使用编译器黑客 在其他平台上不可用。它 必须是便携式的。我将使用C ++ 实施
在所有平台上都没有C ++可用。你能列出你要解决的平台吗?