Open Source Game Development Threading Quake 3
New PC Games 3D Multiplayer Online Game Programming Software: Where do we begin threading? Profiling, Profiling, Profiling. A good understanding of application behavior is needed before we can decide what type of parallelism is best suited for a particular subsystem.

Quake* 3

Profiling

So, where do we begin threading? Profiling, Profiling, Profiling. A good understanding of application behavior is needed before we can decide what type of parallelism is best suited for a particular subsystem.

Sampling the application with the Intel® VTune™ Performance Analyzer will give us a detailed analysis of the amount of CPU time being used by each module and function. This information provides useful insight into doing a functional decomposition, meaning it will help us decide what portions of the engine we would want to run on multiple threads in parallel to maximize performance.

Generating a call graph of the application running a specific workload using the Intel® VTune™ Performance Analyzer will give us a detailed analysis showing the self time (time being spent in a function) and total time (time spent in a function and all the functions called within it) at each node, along with the call hierarchy. This information, along with the sampling data, can provide useful insight into where it's best along the call tree to do a data decomposition.


If you're interested in this topic, these articles may be helpful:

Cache-blocking technique on Hyper-Threading Technology-enabled processors
by Phil Kerly, senior software engineer, Software and Solutions Group,...
Hyper-Threading Technology and Multi-Core Processor Detection, Part One (Flash* 8.0MB)
Intel engineer Phil Kerly explains how to detect both Hyper-Threading ...
Show Us Your Threads and Win an Intel® Core 2 Duo iMac*
It’s All About Personal Expression! You express yourself through so...
Discussion Forum: Threading on Intel® Parallel Architectures
With the introduction of the Pentium® 4 3.06 GHz processor, and Hy...
Artificial neural nets and Hyper-Threading technology
by Chuck Desylva, Intel Corp. There are many artificial-intelligenc...

Related Jobs:

FileNet Architect #1285 - IL - Oak Brook - Crowe Chizek
OPPORTUNITY: Crowe Chizek is a leading provider of innovative busines...
Animation Engineer #9435 - CA - Los Angeles - Electronic Arts Inc.
Post Description Animation Engineer Electronic Arts (EA) is the wor...
Software Development Engineer #151336 - WA - Redmond - Microsoft Corporation
Interested in super-aggressive optimization of graphics algorithm impl...
Maya Tools Programmer - CA - San Rafael - Factor 5
Responsibilities Work with artists, technical directors, and the ...
Software Development Engineer #148838 - WA - Redmond - Microsoft Corporation
In the 21st century everyone is photographer. We owe much to affordabl...
Senior Game Programmer - CA - San Rafael - Factor 5
You will be responsible for creating the player experience. As such yo...
Software Development Engineer #138389 - WA - Redmond - Microsoft Corporation
The Windows Graphics and Gaming Technology group is looking for a soft...
Change and Release Manager #33367 - MA - Billerica - Getronics
Position Summary Change and Release Project Manager -Tewksbury, MA ...
Tools Programmer - CA - San Rafael - Factor 5
We are looking for a tools programmer who will be responsible for the ...
Software Development Engineer #144324 - WA - Redmond - Microsoft Corporation
In the 21st century everyone is photographer. We owe much to affordabl...