Threading Successes of Popular PC Games and Engines Paul Lindberg and Brad Werth Intel Corporation GDC 2008.

Slides:



Advertisements
Similar presentations
Project M.AI.S. Multi-threaded AI system Per Erskjäns game engineer.
Advertisements

Introduction to Direct3D 10 Course Porting Game Engines to Direct3D 10: Crysis / CryEngine2 Carsten Wenzel.
Topic 4 Instructional animation OWT 410. Instructional animation What is instructional animation? Types of animation Functions of instructional animation.
CCNA3: Switching Basics and Intermediate Routing v3.0 CISCO NETWORKING ACADEMY PROGRAM Switching Concepts Introduction to Ethernet/802.3 LANs Introduction.
CSC Multiprocessor Programming, Spring, 2011 Outline for Chapter 6 – Task Execution Dr. Dale E. Parson, week 7.
A Pipeline for Lockless Processing of Sound Data David Thall Insomniac Games.
Dynamic Global Illumination from many Lights GDC 2012 by Wolfgang Engel, Igor Lobanchikov and Timothy Martin.
The Path to Multi-core Tools Paul Petersen. Multi-coreToolsThePathTo 2 Outline Motivation Where are we now What is easy to do next What is missing.
THQ/Gas Powered Games Supreme Commander and Supreme Commander: Forged Alliance Thread for Performance.
Business and Computing Deanery 3D Modelling Tools Week 1.2 Planning your model, Software & hardware and 3ds max interface.
Lessons learned from a multiplayer RTS development Based on: ures/ /terrano_01.htm - accessed on 17th December.
IMGD 1001: 2D Art by Mark Claypool Robert W. Lindeman
12 May 2007 J. Perl Future Plans for Geant4 Visualization 1 HepRep/HepRApp DAWN OpenGL Future Plans for Geant4 Visualization What’s Planned for the Next.
Level 2 Mobile and Games Programming Modules Cathy French K233.
1 Multicores viewed from a correctness perspective Ganesh Gopalakrishnan.
ONLINE CONFERENCE DESIGN.BUILD.DELIVE R with WINDOWS PHONE THURSDAY 24 MARCH 2011.
Chapter 2 Web Site Design Principles Principles of Web Design, 4 th Edition.
Basic concept Technologies we have used The Design Problems, challenges & solutions Educational Gain.
Threading Games for Performance – Architecture – Case Studies.
Gearbox Software PRODUCTION PIPELINE – JOBS TITLES – JOB DESCRIPTIONS.
CLOUD COMPUTING. A general term for anything that involves delivering hosted services over the Internet. And Cloud is referred to the hardware and software.
Allegorithmic Substance Threaded Middleware. 2 Procedural textures on multi-core Other than framerate and features, what else can you do with extra CPU.
CHAPTER TEN Dr. Rami Gharaibeh BUSINESS MODEL ANALYSIS.
Multi-core Programming Thread Profiler. 2 Tuning Threaded Code: Intel® Thread Profiler for Explicit Threads Topics Look at Intel® Thread Profiler features.
Orion Granatir Omar Rodriguez GDC 3/12/10 Don’t Dread Threads.
The newest trend in yearbook layout design
Rethinking Game Architecture with Immutability Jacob Dufault Faculty Advisor: Dr. Phil Bernhard, Dept of Computer Science, Florida Institute of Technology.
Object Oriented Analysis & Design SDL Threads. Contents 2  Processes  Thread Concepts  Creating threads  Critical sections  Synchronizing threads.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Slides Courtesy Michael J. Quinn Parallel Programming in C.
Parallel and Distributed Systems Instructor: Xin Yuan Department of Computer Science Florida State University.
Mobile Navigation With SVG Christian Schmitt SVG Open 2005.
Multi-Core Architectures
Computer Graphics 2 In the name of God. Outline Introduction Animation The most important senior groups Animation techniques Summary Walking, running,…examples.
9-1 Chapter 9 The Internet.
Slide and bullet transitions have not been set.. How to Train Your Technical Artist  Jeff Hanna Senior Technical Artist THQ/Volition, Inc.
Chapter 2 Web Site Design Principles Principles of Web Design, 4 th Edition.
Project “Smoke” N-core engine experiment Threading for Performance AND Features.
2.1. T HE G AME L OOP Central game update and render processes.
IMGD 1001: 2D Art.
Emergent Game Technologies Gamebryo Element Engine Thread for Performance.
2-PAD Digital Beamformer Chris Shenton11 th October PAD Digital Beamformer Chris Shenton 11 th October 2007.
Shashwat Shriparv InfinitySoft.
Chapter 1 Introducing Ant. What is ant? Ant is a build tool  Automate the tasks of compiling code, running test, and packaging the results for redistribution.
MULTICORE PROCESSOR TECHNOLOGY.  Introduction  history  Why multi-core ?  What do you mean by multicore?  Multi core architecture  Comparison of.
Havok FX Physics on NVIDIA GPUs. Copyright © NVIDIA Corporation 2004 What is Effects Physics? Physics-based effects on a massive scale 10,000s of objects.
BC Ringette CSI Practice Planning CI – Strat and Tactics- liversidge.
Guess the Covered Word Anansi Goes Fishing By Joanne Whitley December 1, 2008.
1 Topics: Introduction to Game Engine Course Overview What is a game engine? Advantages and Disadvantages Torque Game Engine.
Ori Hanegby Pixtazy Blog:
Tuning Threaded Code with Intel® Parallel Amplifier.
Game Developers Conference 2009 Multithreaded AI For The Win! Orion Granatir Senior Software Engineer.
Redmond Protocols Plugfest 2016 Sky Liu Build Powerful Add-ins with Excel APIs Program Manager.
10 Mobile Application Framework Must Know to Launch New App.
Why Parallel/Distributed Computing Sushil K. Prasad
Parallelism in AI Multithreading Strategies and Opportunities for Multi-core Architectures.
Chapter 2 Operating Systems
Threading Successes of Popular PC Games and Engines
Source Multicore 1 November 2006.
Changing properties & printing worksheets
What is Parallel and Distributed computing?
Certifying graphics experiences on Windows 8
What’s new for Silverlight & XNA developers in Windows Phone Mango
How AngularJS Development Services different from other Framework - Kunsh Technologies.
How do cell parts work together?
Reviewing Two Multimedia product
Teach Parallelism Using Video Games
Online Pogo Game Customer Service
Pogo Game Customer Care Helpline Number

Call Pogo Contact Phone Number and Enjoy Pogo Game
Presentation transcript:

Threading Successes of Popular PC Games and Engines Paul Lindberg and Brad Werth Intel Corporation GDC 2008

2 2 What’s this all about? Last year we had a great turnout for our hands-on tutorial on game threading. This year we want to focus on current commercial products and future pathfinding efforts. We’ll cover performance and feature enhancements from threading. This is a half day tutorial!

3 3 What we’ll hit today Introduction Supreme Commander Gamebryo Element Engine Hellgate: London –Break! Intel’s n-core engine experiment Allegorithmic’s Substance Wrap-up –Food!

4 4 Why threading? GHz era – so over. Multi-core is ubiquitous in gaming platforms. Consumers demand validation of their purchase. Threading is still an unsolved problem for games.

5 5 Let’s look at common threading themes for games Task (on a thread) Control Transition –Lock protecting shared data –Data copied to local data –Operation on local data Task

6 6 Render Split works well, but gains are limited Copy data necessary for calls to rendering APIs Make all rendering calls from the same thread Render one frame behind the simulation Render The Rest

7 7 Work Crew or Pipeline moves a lot of data around Apply the Render Split concept everywhere Render Physics Particles Animation Render Physics Particles Physics Animation AI Animation AI

8 8 Operation Queue keeps data localized, and bandwidth down Keep the data in one place, but queue up operations on it In a perfect world, reads are immediate, free, and consistent Queue AI Service Animation Physics Render

9 9 How are games today targeting multi-core? Thread for performance –Framerate –Load times –Easier path to smooth framerates, compared to time-slicing –Now very common Thread for features –Many possible CPU-intensive effects –Just starting to appear Use threaded middleware –Does whatever it does, and scales it out –Common, but how well do they work together?