2009-08-26 20 views
1

Gibt es Unterschiede hinsichtlich der Leistung zwischen den folgenden drei Rahmenobjekten?DrawingBrush Performance

<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> 

Antwort

4

Hier ist die Standard-Antwort für Fragen wie Sie, die zu einkochen ‚ist ein schneller als B?‘ ...

Versuchen Sie beide (oder alle drei oder so viele) und messen Sie die Ausführungszeiten. Argumente aus den ersten Prinzipien werden die Frage nicht beantworten, obwohl sie viel heiße Luft erzeugen können.

Bitte denken Sie nicht, dass ich Sie mit einer glib Antwort antworte, wo ich im Moment arbeite, Parallelrechner für Geophysik, Leistung ist sehr, sehr wichtig. Hart gewonnene Erfahrung sagt mir, dass der einzige Weg, sicher zu sein, wenn A schneller ist als B, beide zu messen. Und wenn es sich nicht lohnt, die Unterschiede zu messen, dann ist der Unterschied nicht wichtig!