2009-08-26 8 views
1

次の3つの境界オブジェクト間でパフォーマンスに違いがありますか?DrawingBrushパフォーマンス

<Border Grid.Column="0" Grid.ColumnSpan="2" Opacity="1"> 
    <Border.Background> 
    <DrawingBrush> 
     <DrawingBrush.Drawing> 
     <DrawingGroup> 
      <GeometryDrawing Brush="Red"> 
      <GeometryDrawing.Geometry> 
       <GeometryGroup> 
       <RectangleGeometry Rect="0,0 100,1000" /> 
       <LineGeometry StartPoint="0,0" EndPoint="100,1000"/> 
       <LineGeometry StartPoint="100,0" EndPoint="0,1000"/> 
       </GeometryGroup> 
      </GeometryDrawing.Geometry> 
      <GeometryDrawing.Pen> 
       <Pen Thickness="20" Brush="Black"/> 
      </GeometryDrawing.Pen> 
      </GeometryDrawing> 
     </DrawingGroup> 
     </DrawingBrush.Drawing> 
    </DrawingBrush> 
    </Border.Background> 
</Border> 

<Border Grid.Column="0" Grid.ColumnSpan="2" Opacity="1"> 
    <Border.Background> 
    <DrawingBrush> 
     <DrawingBrush.Drawing> 
     <DrawingGroup> 
      <GeometryDrawing Brush="Red"> 
      <GeometryDrawing.Geometry> 
       <RectangleGeometry Rect="0,0 100,1000" /> 
      </GeometryDrawing.Geometry> 
      <GeometryDrawing.Pen> 
       <Pen Thickness="20" Brush="Black"/> 
      </GeometryDrawing.Pen> 
      </GeometryDrawing> 
      <GeometryDrawing> 
      <GeometryDrawing.Geometry> 
       <LineGeometry StartPoint="0,0" EndPoint="100,1000"/> 
      </GeometryDrawing.Geometry> 
      <GeometryDrawing.Pen> 
       <Pen Thickness="20" Brush="Black"/> 
      </GeometryDrawing.Pen> 
      </GeometryDrawing> 
      <GeometryDrawing> 
      <GeometryDrawing.Geometry> 
       <LineGeometry StartPoint="100,0" EndPoint="0,1000"/> 
      </GeometryDrawing.Geometry> 
      <GeometryDrawing.Pen> 
       <Pen Thickness="20" Brush="Black"/> 
      </GeometryDrawing.Pen> 
      </GeometryDrawing> 
     </DrawingGroup> 
     </DrawingBrush.Drawing> 
    </DrawingBrush> 
    </Border.Background> 
</Border> 

<Border Grid.Column="3" Grid.ColumnSpan="2" Opacity="1"> 
    <Image Stretch="Uniform"> 
    <Image.Source> 
     <DrawingImage> 
     <DrawingImage.Drawing> 
      <DrawingGroup> 
      <GeometryDrawing Brush="Red"> 
       <GeometryDrawing.Geometry> 
       <GeometryGroup> 
        <RectangleGeometry Rect="0,0 100,1000" /> 
        <LineGeometry StartPoint="0,0" EndPoint="100,1000"/> 
        <LineGeometry StartPoint="100,0" EndPoint="0,1000"/> 
       </GeometryGroup> 
       </GeometryDrawing.Geometry> 
       <GeometryDrawing.Pen> 
       <Pen Thickness="20" Brush="Black"/> 
       </GeometryDrawing.Pen> 
      </GeometryDrawing> 
      </DrawingGroup> 
     </DrawingImage.Drawing> 
     </DrawingImage> 
    </Image.Source> 
    </Image> 
</Border> 

答えて

4

「Bよりも速いのですか?」という質問には、標準的な回答があります。 ...

両方(または3つまたはすべて)を試して、実行時間を測定します。最初の原則からの議論は質問に答えることはできませんが、多くの熱気が発生する可能性があります。

私が現時点で働いている、地球物理学の並列コンピューティングでは、パフォーマンスは非常に重要です。ハードウォンの経験は、AがBよりも速ければ確実であるという唯一の方法は、両方を測定することです。違いを測定するためにコーディングする価値がない場合は、その違いは重要ではありません。