2017-09-23 87 views
0

我正在使用WPF中的频谱分析仪。这些条是包含在网格中的矩形。有128个酒吧,他们每秒更新约31次。该程序做它应该做的事情,唯一的问题是,它似乎是非常重的CPU。WPF高效地更新矩阵阵列的高度,每秒31次

在程序运行时,CPU的使用率约为30%,当我删除更新条形高度的代码以确保它是罪魁祸首时,CPU降低到0-5%。

我试过在网格中覆盖OnRender,使用DrawingContext.DrawRectangle()绘制矩形并使计时器中的网格无效,但它并没有更好的效果。

是否有更好的方式来呈现WPF中的频谱分析仪的条形图?

+0

你见过这个问题吗?你使用'WritableBitmap'还是只使用普通的'Rectangle'对象? https://stackoverflow.com/questions/4447794/fast-drawing-lots-of-rectangles-one-at-a-time-in-wpf –

+0

我正在使用'Rectangle'对象。我将研究这个问题,我对WriteableBitmaps没有太多经验。 –

回答

0

如果性能问题,您应该选择允许在其中托管DirectX场景的D3DImage。检查this了。