tu fais plein d'opérations qui peuvent être faites avec seulement sprintf, voire printf si tu ne veux afficher la chaine qu'une seule fois :
short int type=1;
char buff[20];
sprintf(buff,"objet%d",type);
...
printf(buff);
tu peux fusionner le printf et le sprintf si tu ne veux pas faire d'opérations suplémentaires dessus
si tu veux de la vitesse, par contre, il faut te passer de (s)printf
tu dois convertir toi même l'int en chaine et ecrire les chiffres toi même dans la chaine
apres pour afficher il faur utiliser des fonction plus rapide comme DrawStr (ou encore plus rapide comme celless des libs graphiques)
le 50 c'est la taille maximale de la chaine (49 si on veut etre precis), ca indique la mémoire allouée à chacune des chaines
tu peux le réduire pour qu'il n'y ai pas de place de perdue, maisgarde tout de même un peu de marge ( je ne sais pas jsuqu' à cb la variable type peut monter)
mais ca ne changera rien au niveau de la vitesse