Jag har skapat en dra applikation av sorterar, vanligt, när användaren (mig) gör sa som det standarda ska dra deras är omkring 8000, separata GraphicsPath anmärker på avskärma, och en bakgrund avbildar skärm för bitmap.
To dra mig har använt BufferedGraphicsen klassificerar för rusa using bitblt.
The kodifierar för att dra den privata m_BGContexten för image
som BufferedGraphicsContext den privata m_BufferedGraphicsen som BufferedGraphics privat m_ImageVisible som Boolean = m_BufferedGraphicsen för för
m_BufferedGraphics.Dispose för True
den privat underattraktion () () = m_BGContext.Allocate (m_PicBoxGraphics, ny rektangel (0, 0, PictureBox1.Width, PictureBox1.Height))
, om m_ImageVisible Then m_BufferedGraphics.Graphics.DrawImage (m_img, 0, 0, PictureBox1.Width, PictureBox1.Height) avslutar If
m_BufferedGraphics.Graphics.SmoothingMode = SmoothingMode.AntiAlias m_BufferedGraphics.Graphics.CompositingQuality = för
End Sub
The för CompositingQuality.HighQuality
m_MyDrawing.Draw (m_BufferedGraphics.Graphics) problemet som jag har är när jag zoom helheten som drar min minnesanvändning går upp och att sakta kapacitet, om jag zoom ut det, går tillbaka till det normala så inget minne läcker, så ifrågasätta är. Gör någon vet hur jag kan bitblt den endast viewable/synliga regionen av dra. Jag hade talat till en Java bärare, och han, fast de har något som kallas en viewport som skulle, gör vad jag önskade, om jag var i Java, bara mig kunde inte finna mycket ut om den och, om även det fanns en motsvarighet in. Förtjäna så inte sure, om denna var en wild gås - jaga, tänkte precis att jag skulle omnämnande it.
Anyway, om denna gör avkänning till någon, tack i förskott för någon help.
Oh, och jag cant bruk WPF som som I-funderare skulle är bättre, men det måste att vara GDI+, och jag cant tappar det kvalitets- av Andy för drawing.
Kind hälsningar
" klar "
|