Accueil Ti-Gen Foire Aux Questions Chat sur le chan #tigcc sur IRC
Liste des membres Rechercher Aide
Bienvenue Invité !   Se connecter             Mes sujets   
Administrer
0 membre(s) et 1 visiteur(s) actif(s) durant les 5 dernières minutes Utilisateurs actifs : Aucun membre + 1 visiteur
Avant de poster sur le forum, il y a des régles de bases à respecter pour une bonne entente et un respect de tous.
Veuillez lire la charte du forum.
  :: Index » Forum Ti68K » Programmation C » BitmapPut trop lente ! (9 réponse(s))
./POST DE DEPART (post n°0)   Marquer comme non lu.
Nul Ecrit le: Vendredi 9 juillet 2004 à 23:02 Déconnecté(e)    Voir le profil de Nul Envoyer un email à Nul Envoyer un message privé à Nul  

Salut tout le monde !

Je voudrais faire une routine rapide pour afficher une bitmap à l'écran mais plus rapide que BitmapPut:

Par exemple:
unsigned char pic[] = {0, 15, 0, 89,
......};

void MyBitmapPut(short x, short y, unsigned char * bitmap_0, unsigned char * bitmap_1, void * screen_0, void * screen_1)
{
register short i, j;
register short largeur = ((bitmap_0[3]+7)>>3);
register short hauteur = bitmap_0[1]+1;

for(i = y; i < y+hauteur; i++)
{
for(j = 0; j < largeur; j++)
{
*(unsigned char *)(screen_0+30*i+(x>>3)+j) |= ((bitmap_0[4+largeur*(i-y)+j])>>(x%8));
*(unsigned char *)(screen_0+30*i+((x+7)>>3)+j) |= ((bitmap_0[4+largeur*(i-y)+j]&((1<<(x%8))-1))<<(8-(x%8)));
*(unsigned char *)(screen_1+30*i+(x>>3)+j) |= ((bitmap_1[4+largeur*(i-y)+j])>>(x%8));
*(unsigned char *)(screen_1+30*i+((x+7)>>3)+j) |= ((bitmap_1[4+largeur*(i-y)+j]&((1<<(x%8))-1))<<(8-(x%8)));
}
}

}

Mais ce code est très lent aussi. Comment je peux faire ?
Est-ce que quelqu'un pourrait m'écrire une routine en ASM ?:p

Merci pour votre aide ;)

Bien sûr, je ne connais pas l'ASM ...
-Edité le Vendredi 9 juillet 2004 à 23:03 par Nul-
"De tous les animaux, l'homme a le plus de pente,
A se porter dedans l'excès."

Jean de la Fontaine
    
./Post n°1   Marquer comme non lu.
Sasume Ecrit le: Vendredi 9 juillet 2004 à 23:29 Déconnecté(e)    Voir le profil de Sasume Envoyer un email à Sasume Visiter le site WEB de Sasume Envoyer un message privé à Sasume  

Tu peux utiliser les fonctions SpriteX8 d'extgraph, elles sont environ 7 fois plus rapides que BitmapPut d'AMS il me semble.
    
./Post n°2   Marquer comme non lu.
Nul Ecrit le: Vendredi 9 juillet 2004 à 23:54 Déconnecté(e)    Voir le profil de Nul Envoyer un email à Nul Envoyer un message privé à Nul  

Ah d'accord je ne savais pas, merci beaucoup :): ça affiche une image dont la largeur est un multiple de 8 donc ?
"De tous les animaux, l'homme a le plus de pente,
A se porter dedans l'excès."

Jean de la Fontaine
    
./Post n°3   Marquer comme non lu.
Nul Ecrit le: Samedi 10 juillet 2004 à 00:08 Déconnecté(e)    Voir le profil de Nul Envoyer un email à Nul Envoyer un message privé à Nul  

Wahou merci beaucoup Sasume, c'est vraiment sympa #love#
Mon jeu ne rame plus ! #tritop#
"De tous les animaux, l'homme a le plus de pente,
A se porter dedans l'excès."

Jean de la Fontaine
    
./Post n°4   Marquer comme non lu.
Sasume Ecrit le: Samedi 10 juillet 2004 à 10:54 Déconnecté(e)    Voir le profil de Sasume Envoyer un email à Sasume Visiter le site WEB de Sasume Envoyer un message privé à Sasume  

ça affiche n'importe quelle image.
C'est le même format que les bitmap sans les infos NumRows et NumCols au début.
    
./Post n°5   Marquer comme non lu.
Lionel Debroux Ecrit le: Samedi 10 juillet 2004 à 11:34 Déconnecté(e)    Voir le profil de Lionel Debroux Envoyer un email à Lionel Debroux Visiter le site WEB de Lionel Debroux Envoyer un message privé à Lionel Debroux  

Nul: avec le topic sur le forum de TIGCC/TICT, c'est un doublon, et les réponses sont également des doublons...
Lionel Debroux - membre de TICT.
    
./Post n°6   Marquer comme non lu.
Nul Ecrit le: Dimanche 11 juillet 2004 à 10:10 Déconnecté(e)    Voir le profil de Nul Envoyer un email à Nul Envoyer un message privé à Nul  

Oui, désolé #oops#
Il me fallait vraiment une réponse rapidement, mais je ne recommencerai plus #oui#
"De tous les animaux, l'homme a le plus de pente,
A se porter dedans l'excès."

Jean de la Fontaine
    
./Post n°7   Marquer comme non lu.
Lionel Debroux Ecrit le: Dimanche 11 juillet 2004 à 10:14 Déconnecté(e)    Voir le profil de Lionel Debroux Envoyer un email à Lionel Debroux Visiter le site WEB de Lionel Debroux Envoyer un message privé à Lionel Debroux  

Je ne t'en veux pas, mais sache que c'est plutôt mal vu de faire ça, même si la plupart ne lisent pas le français et ne viennent pas ici.
Lionel Debroux - membre de TICT.
    
./Post n°8   Marquer comme non lu.
Nul Ecrit le: Lundi 12 juillet 2004 à 13:55 Déconnecté(e)    Voir le profil de Nul Envoyer un email à Nul Envoyer un message privé à Nul  

Entendu
"De tous les animaux, l'homme a le plus de pente,
A se porter dedans l'excès."

Jean de la Fontaine
    
./Post n°9   Marquer comme non lu.
Thor Ecrit le: Vendredi 16 juillet 2004 à 22:11 Déconnecté(e)    Voir le profil de Thor Envoyer un email à Thor Visiter le site WEB de Thor Envoyer un message privé à Thor  


De toute façon si je me rapelle bien dans la doc de TIGCC sur la fonction BitmapPut il est écrit en bas que pour des fonctions plus performentes il faut voir du coté d'Extgraph :)
Cyril MOTTIER aka {==Thor==}
Modérateur général du forum de Tigen
[Etudiant à l'Institut National des Sciences Appliquées (INSA) de Rennes]
Mon site perso c'est ici
    
  :: Index » Forum Ti68K » Programmation C » BitmapPut trop lente ! (9 réponse(s))
Pages : 1/1     « [1] » »|

.Répondre à ce sujet
Les boutons de code
[B]old[I]talic[U]nderline[S]trikethrough[L]ine Flip Hori[Z]ontallyFlip [V]erticallySha[D]ow[G]low[S]poilerCode [G][C]ite
Bullet [L]istList Item [K] Link [H][E]mail[P]icture SmileysHelp
Couleurs :
Saisissez votre message
Activer les smileys
     

Forum de Ti-Gen v3.0 Copyright ©2004 by Geoffrey ANNEHEIM
Webmaster: Kevin KOFLER, Content Admins: list, Server Admins: Tyler CASSIDY and Kevin KOFLER, DNS Admin: squalyl
Page générée en 61.34ms avec 18 requetes