【问题标题】:Quick Array Population快速阵列填充
【发布时间】:2012-03-13 04:11:31
【问题描述】:

我有一个将捕获屏幕的应用程序,我想将捕获的信息写入一个数组,这需要 AGES,因为数组最终是 +200 万个值。我正在迭代并将值添加到数组中,有没有更快的方法(例如二进制操作)?应该这么慢吗?为什么会这样?

【问题讨论】:

    标签: arrays vb6


    【解决方案1】:

    假设您的 GetPixel 逐个像素地显示屏幕,则它的 GetPixel 调用速度很慢(它询问显示驱动程序)而不是(预先确定的)数组分配。

    您可以改用getdibits() api,它会在一次调用中将 DC 的颜色信息复制到缓冲区中。

    Here is a C++ example,但方法和调用顺序与 VB 相同。

    【讨论】:

      【解决方案2】:

      弄清楚为什么它这么慢,这是因为我在循环的每次迭代中都使用了 ReDim - 无论如何感谢您的帮助

      马丁

      【讨论】: