gpt4 book ai didi

arrays - 许多指示不同状态的 GUI 控件

转载 作者:行者123 更新时间:2023-12-04 15:35:47 27 4
gpt4 key购买 nike

这个问题非常开放,可能这个问题的答案将取决于系统,但是平均而言,哪种方式是显示不同状态的大型矩阵(例如 128 个元素)的最佳方式?

  • 为每个单元创建一个控件,让 GUI 库处理所有事件和内容(在 Windows 128 HWND:s 中)
  • 使用低级图形基元绘制整个矩阵

  • 内存/CPU 性能是否因选择而异?我的应用程序中每个单元格的状态数为 4,因此每个单元格需要 2 位来表示它们的状态。每个单元格将由与状态相关的图像表示。

    最佳答案

    当然有区别。我将尝试说明这一点以及它所基于的假设。

  • 控件的成本 = 控件的内存 + 控件的事件处理程序 + 控件的引用 + 事件管道中的一个额外控件
  • 每个单元映射的“严格”控制的好处。概念上干净、简单的代码,最容易思考。
  • 紧密映射的成本:将每个控件的成本乘以单元格的数量。

  • 我将要建议的替代方案假设紧密映射和松散“单环”映射之间的成本增量很重要。

    替代 :只需添加一个仅在您呈现的整个矩阵 View 范围内为事件注册的控件,有一段代码来确定指针位置和对应的单元格,然后根据用户交互仅更新该单元格那里。

    这样做的好处是您可以获得仅一个额外控制的边际成本,但可以为整个矩阵处理交互。边际 yield 或这种控制远高于单一的严格控制。 Aldo,实现成本很小,因为它是一种常见的模式并且不太难。

    祝你好运!

    关于arrays - 许多指示不同状态的 GUI 控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10815692/

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