2009-08-26 3 views
1

Существуют ли различия в производительности между тремя пограничными объектами?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> 

ответ

4

Вот стандартный ответ на такие вопросы, как ваш, который сводится к «Быстрее, чем B?». ...

Попробуйте оба (или все три или сколько угодно) и измерьте время выполнения. Аргументы от первых принципов не будут отвечать на вопрос, хотя они могут генерировать много горячего воздуха.

Пожалуйста, не думайте, что я отмахиваюсь от вас с помощью блестящего ответа, где я сейчас работаю, параллельные вычисления для геофизики, производительность очень важна. Накопленный опыт показывает, что единственный способ быть уверенным, что A быстрее, чем B, - это измерить оба. И если это не стоит кодировать и для измерения различий, то разница не важна!

 Смежные вопросы

  • Нет связанных вопросов^_^