Multithreaded rendering

OData support
Rajacsics Tamás
Department of Automation and Applied Informatics

While multi-core processors come as standard with modern personal computers,

graphics engines seemingly ignored this fact. Even the latest games use at most four

CPU cores, but this includes multi-threaded sound, physics and AI calculations. It

would seem that multi-threaded graphics is overly complicated or just plain impossible.

In 2008, Microsoft unveiled the eleventh version of Direct3D, which—as one of

its main features—now has a multi-threaded API. However, there are still no major

games with multi-threaded graphics to this day.

In the first part of my thesis, I’ll show the current commercially-available graphics

architecture and the evolution of graphics engines; highlighting the limits to multithreading.

Then I’ll demonstrate DirectX 11’s solution for multi-threaded rendering,

and my project.

The second section contains my engine’s detailed description, highlighting central

algorithms and detailing their implementation.

The third part contains measurements and their analyses concerning possible

performance gains by multi-threading, and situations where this technique is not

preferable. I’ll recommend a method for constructing efficient multi-threaded rendering

algorithms based on the measurement results.

The fourth part is a summary of the preceding parts, where I’ll show future

development opportunities for my engine.

The appendix contains a glossary.


Please sign in to download the files of this thesis.