# Rendering Performance

### Introduction

Rendering (the process of displaying graphics on screen) can be a source of performance problems. If you're not familiar with rendering you may ask "Why do we differentiate between rendering and other areas of code which may slow performance?" A few reasons for this are:

1. Computers often have dedicated hardware for rendering.
2. Rendering is often "async". In other words, a particular call may begin the process of rendering, and the code flow can continue while the rendering happens in the background. While this means that rendering can be fast, it also means that it can be difficult to measure exactly where the slowdown occurs.
3. Rendering is often handled internally by FlatRedBall, so unless you are building against source you may not know exactly what is happening in the rendering code.
4. Special software exists to help diagnose rendering problems.

### Areas of performance problems

Rendering slowdowns can occur due to a number of problems:

1. Render State changes - for more information see [FlatRedBallXna:Tutorials:Render\_State\_Changes](https://github.com/flatredball/FlatRedBallDocs/blob/main/frb/docs/index.php)
2. Fill rate/vertex count - for more information see the [PIX page](https://github.com/flatredball/FlatRedBallDocs/blob/main/frb/docs/index.php)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.flatredball.com/flatredball/tutorials/code-tutorials/tutorials-a-walkthrough-on-improving-performance/flatredballxna-tutorials-rendering-performance.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
