【问题标题】:To Draw or not to Draw on Background?在背景上画还是不画?
【发布时间】:2010-06-21 08:25:43
【问题描述】:

我使用 GDI+ 在自定义面板上绘制绘图。有人认为: alt text http://lh6.ggpht.com/_1TPOP7DzY1E/TB8jS3jn1tI/AAAAAAAADP8/YQmKuj_AwvY/s800/Capture1.gif

现在,我可以重写 2 个方法:OnPaint() 和 OnPaintBackground()。

假设我在背景中绘制网格,在 OnPaint 中绘制图形,或者在背景中绘制文本和在 Paint 中绘制线条。

在Background和Paint之间划分工作还是在OnPaint中绘制所有内容更优化?

附言。
顺便问一下,有没有可能Stopwatch确定呢?我的意思是不知道什么时候开始/停止它......

【问题讨论】:

    标签: .net gdi+


    【解决方案1】:

    如果您不使用双缓冲,我认为这两种方法都可以。如果使用双缓冲,请在 OnPaint 中执行所有操作。

    【讨论】:

    • 我使用的是 DoubleBuffering,所以也许我不应该使用它。这从一个部分,另一个,用于绘图我使用 Matrix.Transform(缩放)来绘制文本我不应该使用缩放,而是手动重新计算坐标,所以我认为我可以在背景上绘制文本......但如果没有带来性能,也许不需要使用背景...
    • 两个都试试。 IIRC 在使用双缓冲背景时存在问题。
    猜你喜欢
    • 2020-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多