optimiser l'ecriture dans un HDC sous VC++ (en Win 32)

optimiser l'ecriture dans un HDC sous VC++ (en Win 32) - Programmation

Marsh Posté le 25-04-2001 à 09:55:56    

y'a t'il un moyen d'ecrire un tableau a deux dimension (tiré d'un bitmap) dans un contexte de dessin plus rapidement quand utilisant la fonction SetPixel. car c'est vraiment lent.
 
j'avais pensé a créer un objet HBITMAP avec CreateBitmap a partir de mon tableau, puis de tout transferer avec un BitBlt mais je suis pas sur que cela soit réellement plus rapide et efficace.
 
Des idées ?

Reply

Marsh Posté le 25-04-2001 à 09:55:56   

Reply

Marsh Posté le 25-04-2001 à 10:24:52    

DirectDraw ?

Reply

Marsh Posté le 25-04-2001 à 10:40:05    

j'aurais du prévenir avant, j'utilise Windows NT, donc pas de direct draw, sinon je l'aurais utiliser c'est sur que c'est beacoup plus rapide.

Reply

Marsh Posté le 25-04-2001 à 10:55:26    

Hello,
 
il me semble bien que Windows NT est compatible DirectX 5 (depuis le SP4), donc tu as quand même accès à du direct draw de base...
 
A++

Reply

Marsh Posté le 25-04-2001 à 11:09:24    

Ah bon je ne savais pas, mais je croit pas avoir le SP4..
et a part direct draw ?

Reply

Marsh Posté le 25-04-2001 à 11:39:29    

Ce qui est sur c'est que sûr c'est que SetPixel et à eviter pour des problème de compatibilité et de lenteur...
La méthode la plus rapide est Bitblt avec le fonctions GDI. Sinon on peut utiliser Win32G ( ancetre de directX) avec une fonction BitBlt modifiée mais c'est plus trop supporté.
Le plus rapide c'est directDraw, toutes les version de NT4 supportent DirectDraw. Je crois qu'a partir du SP3 ont peut utiliser pas mal de jeux en 2D. Il faut juste retrouver une doc pour DirectX 3.


---------------
[:seblamb] Moi aussi je veux grater dédé!!!
Reply

Marsh Posté le 25-04-2001 à 12:39:23    

merci mais je ne pense pas que je vais utiliser direct draw, j'en ai mangé pas mal pour mon projet de fin d'année..

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed