begin process at 2010 09 03 06:21:07
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Graphique

 > VBNETSCREENSAVER3, SUITE : GESTION OPTIMISÉE DES SPRITES

VBNETSCREENSAVER3, SUITE : GESTION OPTIMISÉE DES SPRITES


 Information sur la source

Note :
Aucune note
Catégorie :Graphique Source .NET ( DotNet ) Niveau :Initié Date de création :08/07/2002 Date de mise à jour :08/07/2002 15:57:28 Vu / téléchargé :9 766 / 495

Auteur : Patrice99

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note


 Description

Comparaison des techniques d'animation graphique en VB.Net par rapport à VB6
(gestion des sprites en transparence sur une image de fond)

Problème posé :
Pour que l'animation soit bien rendue, il faut afficher le fond puis les sprites (petite image en mouvement) à chaque frame (image de l'animation), ce qui provoque un scintillement ("flicker"). Pour éliminer ce scintillement, la façon la plus simple à programmer est de tracer toute l'animation dans un bitmap, puis d'afficher ce bitmap. On peut ensuite accélérer le tracé en déterminant seulement les zones qui doivent être mise à jour à chaque frame, et en invalidant ces zones afin de provoquer un rafraîchissement local : pour que cette optimisation soit complète, on peut ensuite tenir compte de ces zones pour restreindre le tracé effectif à des zones de clipping correspondantes.

- Technologies testées : GDI+, GDI + API Win32 via System.Runtime.InteropServices, DirectX7.
- Astuces employées : Buffering, AutoRedraw, Rectangle de mise à jour (invalidation), Clipping.
- Fonctionnalités : Agrandissement, transparence et rotation de bitmap (trop fort ça !!!).

Résultat : utiliser l'interopérabilité Win32 !?

Si vous connaissez des astuces que je n'ai pas mentionnées, mailez-moi SVP :-)
patrice.dargenton@free.fr
http://patrice.darge nton.free.fr/index.html
Prochaine étape : version VB.Net de Gravity Screen Saver : www.vbfrance.com/article.asp?Val=2162



 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip Source .NET (Dotnet) VBEXCELLIBRARY : LIRE RAPIDEMENT UN CLASSEUR EXCEL SANS EXCE...
Source avec Zip Source .NET (Dotnet) CRÉER UN VRAI OCX EN DOTNET
Source avec Zip Source avec une capture Source .NET (Dotnet) EXCELDOTNET : PROGRAMMER EXCEL EN DOTNET SANS VBA NI VSTO
Source avec Zip VBFACTURATION : LE CODE LE + SIMPLE POSSIBLE EN VBA POUR GÉR...
Source avec Zip Source .NET (Dotnet) INPUTBOX PERSONNALISABLE AVEC LE CODE SOURCE VB

 Sources de la même categorie

Source avec Zip Source avec une capture ANIMATION DE FORM par djebbipgm
Source avec Zip Source avec une capture FAIRE DES PETITS DESSINS AVEC VISUAL BASIC par zulrigh
Source avec Zip Source avec une capture L'HEURE DE PLUSIEUR PAYS - HORLOGE MONDIALE par zulrigh
Source avec Zip Source avec une capture FAIRE DES DESSINS VECTORIELLE par zulrigh
Source avec Zip Source avec une capture FAIRE UN CUBE EN 3D ET LE FAIRE TOURNER SANS UTILISER DIRECT... par zulrigh

Commentaires et avis

Commentaire de Patrice99 le 12/07/2002 10:46:45

J'ai oublié de citer une des sources en C# dont je me suis bcp inspiré :
http://www.codeguru.com/cs_graphics/flicker_free.html

Commentaire de Patrice99 le 21/07/2002 16:30:38

Nouvelle version :

VBNetScreenSaver4, suite : *.jpeg en fond d'écran et pour n sprites
http://www.vbfrance.com/article.aspx?Val=5202

3 optimisations trouvées :
- Ne pas agrandir l'image du fond pour optimiser la vitesse :
dc.DrawImage(imgFond, 0, 0, imgFond.Width, imgFond.Height)

En fait, GDI+ est indépendant de .Net : il est disponible pour Win32 mais il n'est pas encore totalement wrappé dans .Net : ces 2 optimisations ne sont pas encore disponibles en .Net :
- CachedBitmap : dc.DrawCachedBitmap(cb, x, y)
- dc.SetInterpolationMode(InterpolationModeNearestNeighbor)

Le code de la version 4 est beaucoup plus simple qu'avec la version 3, et finalement les performances sont tout à fait correctes, en tout cas suffisantes pour refaire Gravity Screen Saver :
http://www.vbfrance.com/article.aspx?Val=2162

Commentaire de BadoqueAlex le 25/05/2008 19:34:24

Optimisation .. Laisse moi rire, il me prend 25% de mon processeur sur un QuadXeon ton programme, soit 100% d'un processeur ! C'est ?norme.

Commentaire de Patrice99 le 26/05/2008 08:18:26

Tu as test? la version 3 ou 4 ?

Commentaire de BadoqueAlex le 26/05/2008 12:52:46

les deux lol sont identiques

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Septembre 2010
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
27282930   

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,593 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales