Logo UGIdotNET

Discussione 'Disegnare grafici'

# Pubblicato il 21 mag 2004 12.12 - Rispondi
Elisa Ricci
Disegnare grafici
Ciao.
Ho un problema da sottoporvi.
Voglio disegnare un grafico di valori acquisiti da un'apparecchiatura e per far questo ho inserito sulla form una PictureBox che utilizzo per creare l'oggetto Graphic. Utilizzando un 2.4 con il 2000 il numero di acquisizioni è accettabile, mentre utilizzando un 233 con Windows 98 con 128 di RAM il numero di acquisizioni si dimezza.

C'è un modo per velocizzare il disegno del grafico?
So che il 98 che sto utilizzando è un PC lento, ma vorrei ottenere qualcosa di più decente anchein questo caso.
Se sul 98 evito di disegnare il grafico e memorizzo soltanto le acquisizioni, il numero di acquisizioni è molto simile a quello che ottengo sul 2000.

Ho provato anche ad utilizzare la BitBlt, ma il risultato è analogo.

Ciao
Elisa
# Pubblicato il 21 mag 2004 12.37 - Rispondi
Corrado Cavalli [MVP]
Re: Disegnare grafici

Prova ad abilitare il double buffering:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemwindowsformscontrolclasssetstyletopic.asp

e magari fai una prova con l'API LockWindowsUpdate()

HTH

--
Corrado Cavalli [Microsoft .NET MVP-MCP]
UGIdotNET - http://www.ugidotnet.org
Weblog: http://www.ugidotnet.org/710.blog



----------------------
Questo messaggio è stato postato da microsoft.public.it.dotnet.vb.
# Pubblicato il 21 mag 2004 14.13 - Rispondi
Elisa Ricci
Re: Disegnare grafici
on 21. May 2004 12:37 Corrado Cavalli [MVP] wrote:
>
> Prova ad abilitare il double buffering:
>
Nel costruttore della form che contiene la PictureBox del grafico, avevo già inserito:
Me.SetStyle(ControlStyles.DoubleBuffer _
Or ControlStyles.UserPaint _
Or ControlStyles.AllPaintingInWmPaint, _
True)
Me.UpdateStyles()

>
> e magari fai una prova con l'API LockWindowsUpdate()
>
Ho letto le spiegazioni per quest'API, ma non ho capito a cosa potrebbe servirmi.

Grazie e ciao.

© 2001 User Group Italiano UGIdotNET. Tutti i diritti riservati. Note legali. - Partita IVA 01927050185