J'ai créé une application de schéma des sortes, habituellement quand l'utilisateur (je) fait le dessin de norme de SA leur sera environ 8000 objets séparés de GraphicsPath sur l'écran et un fond d'image bitmap.
To montrent le schéma que j'ai employé la classe de BufferedGraphics pour la vitesse using le bitblt. code du
The pour dessiner le m_BGContext privé de l'image
comme m_BufferedGraphics privé de BufferedGraphicsContext comme m_ImageVisible privé de BufferedGraphics en tant que booléen = m_BufferedGraphics du du
m_BufferedGraphics.Dispose d'aspiration de True
() () = m_BGContext.Allocate secondaires privés (m_PicBoxGraphics, nouveau rectangle (0, 0, PictureBox1.Width, PictureBox1.Height))le
si m_ImageVisible extrémité If
m_BufferedGraphics.Graphics.Smoothin de Then m_BufferedGraphics.Graphics.DrawImage (m_img, 0, 0, PictureBox1.Width, PictureBox1.Height)/>gMode = SmoothingMode.AntiAlias m_BufferedGraphics.Graphics.CompositingQuality = problème de
End Sub
The de CompositingQuality.HighQuality
m_MyDrawing.Draw (m_BufferedGraphics.Graphics) j'ai est quand je bourdonne le schéma entier que mon utilisation de mémoire monte et ralentissant l'exécution, si je bourdonne dehors il retourne à la normale tellement aucunes fuites de mémoire, ainsi la question est. Fait n'importe qui savent je peux bitblt seulement région visualisable/évidente du schéma. J'avais parlé un lotisseur et lui de Java bien qu'ils aient quelque chose appelée une clôture qui ferait ce que j'ai voulu si j'étais dans Java, mais je ne pourrais pas découvrir beaucoup à son sujet et même s'il y avait un équivalent dedans. Le filet ainsi pas sure si c'était une poursuite vaine sauvage, a juste pensé que je mentionnerais it.
Anyway si ceci a du sens pour n'importe qui, remercie à l'avance de n'importe quel help.
Oh et je biseaute l'utilisation WPF que que je pense serais meilleur mais ce doit être GDI+ et je biseaute la baisse la qualité du
Andy de respect de drawing.
Kind
class= de
|