Desempenho DrawingBrush

votos
1

Há alguma diferença quando se trata de desempenho entre os três seguintes objetos de fronteira?

<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>
Publicado 26/08/2009 em 23:17
fonte usuário
Em outras línguas...                            


1 respostas

votos
4

Aqui está a resposta padrão para questões como a sua, que se resumem a "é um mais rápido do que B? ...

Tente ambos (ou todos os três ou quantos) e medir os tempos de execução. Argumentos de primeiros princípios não vai responder à pergunta, embora possam gerar uma grande quantidade de ar quente.

Por favor, não pense que eu estou escovando-lo fora com uma resposta simplista, onde eu trabalho no momento, computação paralela para a geofísica, o desempenho é muito, muito importante. Difícil ganhou experiência diz-me que a única maneira de ter certeza se A é mais rápido do que B é medir ambos. E se não vale a pena codificação tanto para medir as diferenças, então a diferença não é importante!

Respondeu 27/08/2009 em 00:26
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more