Быстрое население массива - PullRequest
0 голосов
/ 13 марта 2012

У меня есть приложение, которое снимает экран, и я хочу записать захваченную информацию в массив, для этого требуется AGES, так как массив в итоге получает + 2 миллиона значений. Я перебираю и добавляю значения в массив, есть ли способ быстрее (например, бинарные операции)? Должно ли это быть так медленно? Почему это так?

Ответы [ 2 ]

1 голос
/ 17 марта 2012

Понял, почему это так медленно, потому что я использовал ReDim на каждой итерации цикла - в любом случае, спасибо за помощь

Martin

1 голос
/ 13 марта 2012

Предполагая, что вы GetPixel 'экран за пикселем, это медленный вызов GetPixel (он запрашивает драйвер дисплея), а не (предварительно заданное) назначение массива.

Вместо этого вы можете использовать getdibits() API, который будет копировать информацию о цвете DC в буфер за один вызов.

Вот пример C ++ , но методология и последовательность вызовов те же, что и для VB.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...