Если BitBlt может отображать страницы в видеопамять, есть очень хороший шанс, что ваша видеокарта будет работать намного быстрее, чем процессор. Это по нескольким причинам:
- Карта будет работать параллельно с вашим процессором, поэтому вы можете выполнять другую работу, пока она работает.
- Видеокарта оптимизирована для выполнения копий памяти самостоятельно, вместо того, чтобы процессор копировал каждое слово из одного места в другое. Это освобождает вашу шину процессора для других вещей.
- Возможно, видеокарта имеет больший размер слова для перемещения данных, и, если у вас есть какие-либо флаги операций, они, вероятно, будут оптимизированы аппаратным обеспечением. Кроме того, память на большинстве видеокарт быстрее системной памяти.
Обратите внимание, что это не всегда так. Например, если ваша карта разделяет системную память, то она не будет иметь более быстрый доступ к памяти, чем процессор. Тем не менее, вы все еще получаете параллельную поддержку.
Наконец, существует вероятность того, что накладные расходы на передачу изображения на карту и обратно сократят повышение скорости, которое вы получите, выполнив это на карте. Так что вам просто нужно поэкспериментировать.
Я должен добавить - я считаю, что вам нужно указать, что память находится на карте в контексте устройства. Я не думаю, что простое создание контекста памяти делает что-то особенное с видеокартой.