В вики СВД он говоритSDL: Что такое Blit?
Используйте эту функцию для выполнения быстрой Blit от поверхности источника к поверхности назначения.
Однако это не очень помогает мне.
В чем смысл этого термина?
В вики СВД он говоритSDL: Что такое Blit?
Используйте эту функцию для выполнения быстрой Blit от поверхности источника к поверхности назначения.
Однако это не очень помогает мне.
В чем смысл этого термина?
В основном это означает копирование изображения с одной поверхности на другую - возможно, обрезанное и сдвинутое.
... и масштабируется при необходимости –
StretchBlt() делает это масштабирование для вас. – null
блиттинг означает битную-граница передачи блока, как это определено Википедии или Блок передачи информации, хорошо известный среди разработчиков Pygame. Предположим, что у вас есть поверхность (ваш экран). И вы хотите нарисовать круг на экране. Итак, что вы хотите сделать, нарисуйте круг и перенесите блок окружности буфера в буфер экрана, этот процесс называется «Blitting». Вы можете пойти дальше и читать больше о Blit here.
код образца
Наглядно, это означает, что «нарисовать спрайт поверх другой поверхности».
Эта операция может быть ускорена с использованием графического процессора с помощью SDL_Texture
+ SDL_RenderCopy
.
Посмотрите http://hg.libsdl.org/SDL/file/e12c38730512/test/testsprite2.c для примера, в частности, комментарий:
/* Blit the sprite onto the screen */
SDL_RenderCopy(renderer, sprite, NULL, position);
, который прямо говорит, что SDL_RenderCopy
способ блитирования.
В этом примере, текстура создается и отправляется в память GPU только один раз, и с тех пор она повторно эффективно, смотрите также: Difference between surface and texture (SDL/general)
Когда я запускаю этот пример на Ubuntu 15.10, nvidia-settings
говорит, что Использование графического процессора идет на 100%, и я получаю гораздо более высокий уровень FPS, чем за счет рисования пикселя по экрану, поэтому он ускоряется.
Он копирует память из одного места в память (источник) в другое место в памяти (место назначения).
Например. Он может копировать пиксели из одного растрового изображения в другое, от растрового изображения до текстуры или любого из вышеперечисленного на поверхность экрана или на обратную буферную поверхность экрана.
Скажите, что у вас есть изображение/плитка, которую вы хотите отобразить на экране. Вы должны выполнить «blit», чтобы скопировать память, составляющую изображение, в память, которая используется на экране.
Это, по сути, вызывает функцию, очень похожую на memcpy(), которая копирует байты, указанные в качестве источника один за другим, в байты, указанные в качестве адресата.
http://en.wikipedia.org/wiki/Bit_blit –