buffer_create

Syntaxe:

buffer_create(size, type, alignment)


Argument La description
size La taille (en octets) du tampon.
type Le type de tampon à créer (voir la liste des constantes ci-dessous).
alignment L'alignement des octets pour le tampon


Retours: Real


La description

Vous utilisez cette fonction pour allouer une partie de la mémoire en tant que tampon dans votre jeu, avec la fonction retournant l' identifiant de tampon unique qui doit être stocké dans une variable et utilisé pour tous les autres appels de fonction au tampon. Le tampon peut ensuite être utilisé pour stocker différents types de données (spécifié lorsque vous écrivez dans le tampon en utilisant le buffer_write function, avec les constantes suivantes étant utilisées pour définir le type de tampon:

Ce type de tampon doit être utilisé uniquement comme tampon de vertex.
Constant La description
buffer_fixed Un tampon de taille fixe.
buffer_grow Un tampon qui va "croître" dynamiquement à mesure que les données sont ajoutées
buffer_wrap Un tampon où les données vont "envelopper". Lorsque les données ajoutées atteignent la limite de la taille du tampon, l'écrasement sera replacé au début de la mémoire tampon et l'écriture continuera à partir de ce point.
buffer_fast Un tampon spécial "dépouillé" extrêmement rapide à lire / écrire. Peut seulement être utilisé avec buffer_u8 types de données, et doit être aligné sur 1 octet.
buffer_vbuffer



En dehors du type de tampon, vous devrez également définir l' alignement des octets pour le tampon. Cette valeur varie en fonction des données que vous souhaitez stocker dans le tampon, et dans la plupart des cas, la valeur 1 est parfaitement correcte. Cependant, sachez que pour certaines opérations, un alignement spécifique est essentiel et qu'un alignement incorrect peut entraîner des erreurs (pour plus de détails sur l'alignement, voir Tampons ). Ce qui suit est un guide général pour montrer quelles valeurs sont les plus appropriées pour chaque type de données (en cas de doute, utilisez un alignement de 1):

REMARQUE: L' alignement des octets peut être très important car un mauvais choix peut affecter les performances.

REMARQUE: il est important de supprimer de la mémoire les ressources créées dynamiquement comme celles-ci lorsque vous n'en avez plus besoin pour éviter les fuites de mémoire. Lorsque vous avez terminé avec le tampon que vous avez créé, vous devez le libérer en utilisant buffer_delete.


Exemple:

player_buffer = buffer_create(16384, buffer_fixed, 2);

Le code ci-dessus alloue 16384 octets de mémoire à un tampon et renvoie l'index de ce tampon, qui est stocké dans la variable "player_buffer", pour une utilisation ultérieure. Le tampon est aligné sur une limite de deux octets.