Dans la SDL wiki il est dit
Utilisez cette fonction pour effectuer une rapide blit à partir de la source de la surface à la surface de destination.
Mais cela ne m'aide pas beaucoup.
Que signifie le terme de surface blitting signifie dans ce contexte?
OriginalL'auteur Marks | 2010-09-13
Fondamentalement, cela signifie que la copie de l'image d'une surface à une autre-peut-être recadrée et décalés.
StretchBlt() n'est que la mise à l'échelle pour vous.
OriginalL'auteur Radomir Dopieralski
Blitting signifie peu de limite de transfert de bloc de tel que défini par Wikipedia ou Bloc de Transfert de l'Information, bien connu parmi les Pygame développeurs. Supposons que vous disposez d'une Surface(votre écran). Et vous aimeriez vous dessiner un cercle sur l'écran. Donc, ce que vous voulez faire est, tracer le cercle et le transfert du cercle bloc de la mémoire tampon dans la mémoire tampon d'écran, ce processus est appelé "Blitting". Vous pouvez aller de l'avant et en savoir plus sur Blit ici.
OriginalL'auteur kotAPI
Il des copies de la mémoire d'un lieu de mémoire (source) vers un autre endroit dans la mémoire (destination).
Par exemple. Il peut copier les pixels d'une image bitmap à l'autre, à partir d'une image de texture, ou tout ce qui précède à la surface de l'écran ou l'écran du tampon d'arrière-plan de la surface.
Dire que vous avez une image/vignette que vous souhaitez afficher sur l'écran. Vous devez effectuer une "blit" pour copier la mémoire qui composent l'image à la mémoire qui est utilisée sur l'écran.
Il est, en substance, l'appel d'une fonction très similaire à memcpy (), qui copie les octets spécifié comme source un par un les octets spécifié comme destination.
OriginalL'auteur MarkInTheDark
Officiel de l'exemple de code
Intuitivement, cela signifie "dessiner un sprite sur une autre surface".
Cette opération peut être accélérées par GPU avec
SDL_Texture
+SDL_RenderCopy
.Ont un coup d'oeil à http://hg.libsdl.org/SDL/file/e12c38730512/test/testsprite2.c pour un exemple, en particulier le commentaire:
qui dit explicitement que
SDL_RenderCopy
est un moyen de blit.Dans cet exemple, la texture est créé et envoyé à la mémoire GPU qu'une seule fois, et à partir de là, il est réutilisé de manière efficace, voir aussi: La différence entre la surface et la texture (SDL /général)
Quand je lance cet exemple sur Ubuntu 15.10,
nvidia-settings
dit que le GPU utilisation est passe à 100%, et je reçois beaucoup plus de FPS que par le dessin pixel par pixel à l'écran, donc c'est de l'accélération GPU.OriginalL'auteur Ciro Santilli 新疆改造中心 六四事件 法轮功