Pregunta

¿Hay alguna diferencia cuando se trata de rendimiento entre los siguientes tres objetos fronterizos?

<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>
¿Fue útil?

Solución

Aquí está la respuesta estándar para preguntas como la suya, que se reducen a 'es un más rápido que B? ...

Trate de ambos (o los tres o sin embargo muchos) y medir los tiempos de ejecución. Los argumentos de los primeros principios no van a responder a la pregunta, aunque pueden generar una gran cantidad de aire caliente.

Por favor, no creo que te estoy cepillando con una respuesta fácil, donde trabajo en este momento, la computación en paralelo para la geofísica, el rendimiento es muy muy importante. Duro ganó experiencia me dice que la única manera de estar seguro si A es más rápido que B es medir ambos. Y si no vale la pena de codificación tanto para medir las diferencias, entonces la diferencia no es importante!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top