IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Question sur le BufferedGraphicsContext


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut Question sur le BufferedGraphicsContext
    Salut

    Imaginons que je dessine dans un graphics

    Si je fais :

    g.DrawImage(monImage, ...)

    Cela prend un certain temps si l'image est grosse...

    Donc, j'utilise l'objet BufferedGraphicsContext pour gagner en performance...

    Cela marche très bien....

    d'ou ma question :

    Si maintenant, je veux faire bouger l'objet que je rends via l'utilisation de ce BufferedGraphicsContext, comment puis-je faire sans refaire un DrawImage() dans le Buffered ?

    J'ai l'impression qu'il n'est pas possible de faire cela

    L'objectif que j'ai :

    Déplacer un objet de type Image (que je dessine avec un DrawImage) et que je gère avec une region de façon plutot "rapide"...

    Si je refais un drawImage à chaque Rendu, je prends environ 150 ms pour le faire...

    Si quelqu'un a une idée ?

    Pour info, j'ai essayé de faire du

    BufferGraphicsContext.Graphics.Translate()...

    J'ai l'impression qu'à partir du moment ou l'on a fait un Allocate(), la zone mémoire est FIGE et donc, tant que je n'aurais pas refaire un Allocate(), je pourrais toujours courir .... (ou alors, refaire un DrawImage, mais ca ne résoudra pas mon problème)

    Ya t-il une solution possible ?

    Merci d'avance

    et bonne nuit (ou bon matin)

  2. #2
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    salut

    je me réponds à moi même

    Je pensais qu'il pouvait exister une autre solution, mais il semblerait que le recours à la fonction

    BitBlt soit la seule manière de positionner mon dessin ou je le veux sans
    que j'ai besoin de refaire un DrawImage()...

    Dommage quand même que cet histoire de perfo m'oblige à agir ainsi

    (mais bon, après un peu de surf, il semblerait que BitBlt soit legèrement plus rapide que DrawImage() )

Discussions similaires

  1. [debutant] Questions sur 1 futur projet
    Par cyrull22 dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 28/04/2003, 21h49
  2. Quelques questions sur le TWebBrowser...
    Par CorO dans le forum Web & réseau
    Réponses: 3
    Dernier message: 17/01/2003, 21h23
  3. Question sur les handles et les couleurs...
    Par MrDuChnok dans le forum C++Builder
    Réponses: 7
    Dernier message: 29/10/2002, 08h45
  4. Réponses: 2
    Dernier message: 11/08/2002, 21h27
  5. question sur les message box !
    Par krown dans le forum Langage
    Réponses: 7
    Dernier message: 02/08/2002, 16h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo