Optimieren der Leistung: Nutzen der Vorteile der HardwareOptimizing Performance: Taking Advantage of Hardware

Die interne Architektur von WPFWPF umfasst zwei Renderingpipelines: Hardware und Software.The internal architecture of WPFWPF has two rendering pipelines, hardware and software. Dieses Thema enthält Informationen zu diesen Renderingpipelines, die Ihnen helfen, Entscheidungen über Leistungsoptimierungen Ihrer Anwendungen zu treffen.This topic provides information about these rendering pipelines to help you make decisions about performance optimizations of your applications.

HardwarrenderpipelineHardware Rendering Pipeline

Einer der wichtigsten Faktoren bei der Bestimmung WPFWPF der Leistung besteht darin, dass er an das Rendering gebunden ist – abhängig von mehr Pixeln müssen Sie die Leistungseinbußen erhöhen.One of the most important factors in determining WPFWPF performance is that it is render bound—the more pixels you have to render, the greater the performance cost. Das mehr Rendering, das in die GPU (Graphics Processing Unit) ausgelagert werden kann, bietet jedoch die Leistungssteigerung, die Sie gewinnen können.However, the more rendering that can be offloaded to the graphics processing unit (GPU), the more performance benefits you can gain. Die WPFWPF Anwendungs Hardware-Renderingpipeline nutzt die Vorteile der Microsoft DirectX-Features auf Hardware, die mindestens die Microsoft DirectX-Version 7,0 unterstützt.The WPFWPF application hardware rendering pipeline takes full advantage of Microsoft DirectX features on hardware that supports a minimum of Microsoft DirectX version 7.0. Weitere Optimierungen können von Hardware erzielt werden, die die Features Microsoft DirectX, Version 7,0 und PixelShader 2.0 + unterstützt.Further optimizations can be gained by hardware that supports Microsoft DirectX version 7.0 and PixelShader 2.0+ features.

Software Rendering-PipelineSoftware Rendering Pipeline

Die WPFWPF Software Rendering-Pipeline ist vollständig CPU-gebunden.The WPFWPF software rendering pipeline is entirely CPU bound. WPFWPFnutzt die SSE-und SSE2-Anweisungs Sätze in der CPU, um einen optimierten, voll funktionsfähigen Software-Rasterizer zu implementieren.takes advantage of the SSE and SSE2 instruction sets in the CPU to implement an optimized, fully-featured software rasterizer. Ein Fallback auf Software ist nahtlos, wenn die Anwendungs Funktionalität nicht mithilfe der Hardware-Renderingpipeline gerendert werden kann.Fallback to software is seamless any time application functionality cannot be rendered using the hardware rendering pipeline.

Das größte Leistungsproblem, das beim Rendern im Software Modus auftritt, bezieht sich auf die Füllrate, die als die Anzahl der Pixel definiert ist, die Sie rendern.The biggest performance issue you will encounter when rendering in software mode is related to fill rate, which is defined as the number of pixels that you are rendering. Wenn Sie sich Gedanken über die Leistung im Softwarerendering-Modus machen, versuchen Sie, die Anzahl der Neuerstellung eines Pixels zu minimieren.If you are concerned about performance in software rendering mode, try to minimize the number of times a pixel is redrawn. Wenn Sie z. b. eine Anwendung mit einem blauen Hintergrund haben, die dann ein leicht transparentes Bild darüber rendert, werden Sie alle Pixel in der Anwendung zweimal rendern.For example, if you have an application with a blue background, which then renders a slightly transparent image over it, you will render all of the pixels in the application twice. Folglich dauert es doppelt so lange, bis die Anwendung mit dem Bild gerengt wird, als wenn Sie nur den blauen Hintergrund haben.As a result, it will take twice as long to render the application with the image than if you had only the blue background.

Renderingebenen für GrafikenGraphics Rendering Tiers

Es kann sehr schwierig sein, die Hardwarekonfiguration vorherzusagen, auf der Ihre Anwendung ausgeführt wird.It may be very difficult to predict the hardware configuration that your application will be running on. Möglicherweise möchten Sie jedoch ein Design in Erwägung ziehen, das es Ihrer Anwendung ermöglicht, Features bei der Ausführung auf einer anderen Hardware nahtlos zu wechseln, damit Sie die verschiedenen Hardware Konfigurationen voll ausschöpfen können.However, you might want to consider a design that allows your application to seamlessly switch features when running on different hardware, so that it can take full advantage of each different hardware configuration.

Um dies zu erreichen WPFWPF , stellt die Funktionalität bereit, um die Grafik Funktion eines Systems zur Laufzeit zu bestimmen.To achieve this, WPFWPF provides functionality to determine the graphics capability of a system at runtime. Die Grafik Funktion wird bestimmt, indem die Grafikkarte als eine von drei renderingfunktionsstufen kategorisiert wird.Graphics capability is determined by categorizing the video card as one of three rendering capability tiers. WPFWPFmacht eine API verfügbar, die einer Anwendung das Abfragen der renderingfunktionsebene ermöglicht.exposes an API that allows an application to query the rendering capability tier. Abhängig von der von der Hardware unterstützten Renderingebene kann die Anwendung dann unterschiedliche Codepfade zur Laufzeit verwenden.Your application can then take different code paths at run time depending on the rendering tier supported by the hardware.

Die Funktionen der Grafikhardware, die sich am stärksten auf die Renderingebenen auswirken, sind:The features of the graphics hardware that most impact the rendering tier levels are:

  • Video-RAM: Die Videospeichermenge der Grafikhardware bestimmt die Größe und Anzahl der Puffer, die für die Zusammensetzung von Grafiken verwendet werden kann.Video RAM The amount of video memory on the graphics hardware determines the size and number of buffers that can be used for compositing graphics.

  • Pixel-Shader: Ein Pixel-Shader ist eine Grafikprozessorfunktion, die Auswirkungen auf eine Pro-Pixel-Basis berechnet.Pixel Shader A pixel shader is a graphics processing function that calculates effects on a per-pixel basis. Abhängig von der Auflösung der angezeigten Grafiken kann es mehrere Millionen Pixel geben, die für jeden Frame des Displays verarbeitet werden müssen.Depending on the resolution of the displayed graphics, there could be several million pixels that need to be processed for each display frame.

  • Vertex-Shader: Ein Vertex-Shader ist eine Grafikprozessorfunktion, die mathematische Operationen für die Vertexdaten des Objekts ausführt.Vertex Shader A vertex shader is a graphics processing function that performs mathematical operations on the vertex data of the object.

  • Multitexturunterstützung: Bei Multitexturunterstützung handelt es sich um die Möglichkeit, zwei oder mehr unterschiedliche Texturen während eines Mischvorgangs für ein 3D-Grafikobjekt anzuwenden.Multitexture Support Multitexture support refers to the ability to apply two or more distinct textures during a blending operation on a 3D graphics object. Der Grad der Multitexturunterstützung wird durch die Anzahl der Multitextureinheiten in der Grafikhardware bestimmt.The degree of multitexture support is determined by the number of multitexture units on the graphics hardware.

Die Pixel-Shader-, Vertex-Shader-und Multitextur-Funktionen werden verwendet, um bestimmte DirectX-Versions Ebenen zu definieren, die wiederum zum Definieren der verschiedenen renderingstufen in WPFWPFverwendet werden.The pixel shader, vertex shader, and multitexture features are used to define specific DirectX version levels, which, in turn, are used to define the different rendering tiers in WPFWPF.

Die Funktionen der Grafikhardware bestimmen die Renderingfunktion einer WPFWPF-Anwendung.The features of the graphics hardware determine the rendering capability of a WPFWPF application. Das WPFWPF-System definiert drei Renderingebenen:The WPFWPF system defines three rendering tiers:

  • Renderingebene 0: Keine Beschleunigung der Grafikhardware.Rendering Tier 0 No graphics hardware acceleration. Die DirectX-Versions Ebene ist kleiner als Version 7,0.The DirectX version level is less than version 7.0.

  • Renderingebene 1 Beschleunigung der Teil Grafikhardware.Rendering Tier 1 Partial graphics hardware acceleration. Die DirectX-Versions Ebene ist größer als oder gleich Version 7,0 und kleiner als Version 9,0.The DirectX version level is greater than or equal to version 7.0, and lesser than version 9.0.

  • Renderingebene 2: Die meisten Grafikfunktionen verwenden die Beschleunigung der Grafikhardware.Rendering Tier 2 Most graphics features use graphics hardware acceleration. Die DirectX-Versions Ebene ist größer als oder gleich Version 9,0.The DirectX version level is greater than or equal to version 9.0.

Weitere Informationen zu WPFWPF renderingstufen finden Sie unter Renderingebenen für Grafiken.For more information on WPFWPF rendering tiers, see Graphics Rendering Tiers.

Siehe auchSee also