SlideShare una empresa de Scribd logo
1 de 40
Descargar para leer sin conexión
Parallel Graphics in Frostbite – Current & Future,[object Object],Johan Andersson,[object Object],DICE,[object Object]
Menu,[object Object],Game engine CPU & GPU parallelism,[object Object],Rendering techniques & systems – old & new,[object Object],Mixed in with some future predictions & wishes,[object Object]
Quick background,[object Object],Frostbite 1.x   [1][2][3],[object Object],Xbox 360, PS3, DX10,[object Object],Battlefield: Bad Company (shipped),[object Object],Battlefield 1943 (shipped),[object Object],Battlefield: Bad Company 2,[object Object],Frostbite 2  [4][5],[object Object],In development,[object Object],Xbox 360, PS3,[object Object],DX11 (10.0, 10.1, 11),[object Object],Disclaimer: Unless specified, pictures are from engine tests, not actual games,[object Object]
Parallel Graphics in Frostbite - Current & Future (Siggraph 2009)
Parallel Graphics in Frostbite - Current & Future (Siggraph 2009)
Job-based parallelism,[object Object],Must utilize all cores in the engine,[object Object],Xbox 360: 6 HW threads,[object Object],PS3: 2 HW threads + 6 great SPUs,[object Object],PC: 2-8 HW threads ,[object Object],And many more coming,[object Object],Divide up systems into Jobs,[object Object],Async function calls with explicit inputs & outputs,[object Object],Typically fully independent stateless functions,[object Object],Makes it easier on PS3 SPU & in general,[object Object],Job dependencies create job graph,[object Object],All cores consume jobs,[object Object],CELL processor – We like,[object Object]
Frostbite CPU job graph,[object Object],Frame job graph ,[object Object],from Frostbite 1 (PS3),[object Object],Build big job graphs,[object Object],Batch, batch, batch,[object Object],Mix CPU- & SPU-jobs ,[object Object],Future: Mix in low-latency GPU-jobs,[object Object],Job dependencies determine:,[object Object],Execution order ,[object Object],Sync points,[object Object],Load balancing,[object Object],I.e. the effective parallelism,[object Object],Braided Parallelism* [6],[object Object],Intermixed task- & data-parallelism,[object Object],* Still only 10 hits on google (yet!), but I like Aaron’s term,[object Object]
Rendering jobs,[object Object],Rendering systems are heavily divided up into jobs,[object Object],Jobs:,[object Object],Terrain geometry processing,[object Object],Undergrowth generation [2],[object Object],Decal projection [3],[object Object],Particle simulation,[object Object],Frustum culling,[object Object],Occlusion culling,[object Object],Occlusion rasterization,[object Object],Command buffer generation,[object Object],PS3: Triangle culling,[object Object],Most will move to GPU,[object Object],Eventually..  A few have already!,[object Object],Mostly one-way data flow,[object Object],I will talk about a couple of these..,[object Object]
Parallel command buffer recording ,[object Object],Dispatch draw calls and state to multiple command buffers in parallel,[object Object],Scales linearly with # cores,[object Object],1500-4000 draw calls per frame,[object Object],Reduces latency & improves performance,[object Object],Important for all platforms, used on:,[object Object],Xbox 360,[object Object],PS3 (SPU-based),[object Object],PC DX11,[object Object],Previously not possible on PC, but now in DX11...,[object Object]
DX11 parallel dispatch,[object Object],First class citizen in DX11,[object Object],Killer feature for reducing CPU overhead & latency,[object Object],~90% of our rendering dispatch job time is in D3D/driver,[object Object],DX11 deferred device context per core ,[object Object],Together with dynamic resources (cbuffer/vbuffer) for usage on that deferred context,[object Object],Renderer has list of all draw calls we want to do for each rendering “layer” of the frame,[object Object],Split draw calls for each layer into chunks of ~256 and dispatch in parallel to the deferred contexts,[object Object],Each chunk generates a command list,[object Object],Render to immediate context & execute command lists,[object Object],Profit! ,[object Object],Goal: close to linear scaling up to octa-core when we get full DX11 driver support (up to the IHVs now),[object Object],Future note: This is ”just” a stopgap measure until we evolve the GPU to be able to fully feed itself (hi LRB),[object Object]
Occlusion culling,[object Object],Problem: Buildings & env occlude large amounts of objects,[object Object],Invisible objects still have to:,[object Object],Update logic & animations,[object Object],Generate command buffer,[object Object],Processed on CPU & GPU,[object Object],Difficult to implement full culling,[object Object],Destructible buildings,[object Object],Dynamic occludees,[object Object],Difficult to precompute ,[object Object],GPU occlusion queries can be heavy to render,[object Object],From Battlefield: Bad Company PS3,[object Object]
Our solution:,[object Object],Software occlusion rasterization,[object Object]
Software occlusion culling,[object Object],Rasterize coarse zbuffer on SPU/CPU,[object Object],256x114 float,[object Object],Good fit in SPU LS, but could be 16-bit,[object Object],Low-poly occluder meshes,[object Object],Manually conservative,[object Object],100 m view distance,[object Object],Max 10000 vertices/frame,[object Object],Parallel SPU vertex & raster jobs,[object Object],Cost: a few milliseconds,[object Object],Then cull all objects against zbuffer,[object Object],[object Object]
Screen-space bounding-box testPictures & numbers from ,[object Object],Battlefield: Bad Company PS3,[object Object]
GPU occlusion culling,[object Object],Ideally want GPU rasterization & testing, but:,[object Object],Occlusion queries introduces overhead & latency,[object Object],Can be manageable, but far from ideal,[object Object],Conditional rendering only helps GPU,[object Object],Not CPU, frame memory or draw calls,[object Object],Future 1: Low-latency extra GPU exec. context,[object Object],Rasterization and testing done on GPU where it belongs,[object Object],Lockstep with CPU, need to read back data within a few ms,[object Object],Should be possible on LRB (latency?), want on all HW,[object Object],Future 2: Move entire cull & rendering to ”GPU”,[object Object],World rep., cull, systems, dispatch. End goal.,[object Object]
PS3 geometry processing,[object Object],Problem: Slow GPU triangle & vertex setup on PS3,[object Object],Combined with unique situation with powerful & initially not fully utilized ”free” SPUs!,[object Object],Solution: SPU triangle culling,[object Object],Trade SPU time for GPU time,[object Object],Cull all back faces, micro-triangles, out of frustum,[object Object],Based on Sony’s PS3 EDGE library [7],[object Object],Also see Jon Olick’s talk from the course last year,[object Object],5 SPU jobs processes frame geometry in parallel,[object Object],Output is new index buffer for each draw call,[object Object]
Custom geometry processing,[object Object],Software control opens up great flexibility and programmability! ,[object Object],Simple custom culling/processing that we’ve added:,[object Object],Partition bounding box culling,[object Object],Mesh part culling,[object Object],Clip plane triangle trivial accept & reject,[object Object],Triangle cull volumes (inverse clip planes),[object Object],Others are doing: Full skinning, morph targets, CLOD, cloth,[object Object],Future wish: No forced/fixed vertex & geometry shaders,[object Object],DIY compute shaders with fixed-func stages (tesselation and rasterization),[object Object],Software-controlled queuing of data between stages,[object Object],To avoid always spilling out to memory,[object Object]
Decal projection,[object Object],Traditionally a CPU process,[object Object],Relying on identical visual & physics representation ,[object Object],Or duplicated mesh data in CPU memory (on PC) ,[object Object],[object Object]
UMA! 
Project in SPU-jobs
Output VB/IB to GPU,[object Object]
No CPU memory or upload
Huge decals + huge meshes,[object Object]
Screen-space tile classification,[object Object],Divide screen up into tiles and determine how many & which light sources intersect each tile,[object Object],Only apply the visible light sources on pixels in each tile,[object Object],Reduced BW & setup cost with multiple lights in single shader,[object Object],Used in Naughty Dog’s Uncharted [9] and SCEE PhyreEngine [10],[object Object],Hmm, isn’t light classification per screen-space tile sort of similar of how a compute shader can work with 2D thread groups?,[object Object],Answer: YES, except a CS can do everything in a single pass!,[object Object],From ”The Technology of Uncharted". GDC’08 [9],[object Object]
CS-based deferred shading ,[object Object],Deferred shading using DX11 CS,[object Object],[object Object]
Not production tested or optimized
Compute Shader 5.0
Assumption: No shadows (for now)New hybrid Graphics/Compute shading pipeline:,[object Object],Graphics pipeline rasterizes gbuffers for opaque surfaces,[object Object],Compute pipeline uses gbuffers, culls light sources, computes lighting & combines with shading,[object Object],(multiple other variants also possible),[object Object]
CS requirements & setup,[object Object],Input data is gbuffers, depth buffer & light constants,[object Object],Output is fully composited & lit HDR texture,[object Object],1 thread per pixel, 16x16 thread groups (aka tile),[object Object],Normal,[object Object],Roughness,[object Object],Texture2D<float4> gbufferTexture1 : register(t0);,[object Object],Texture2D<float4> gbufferTexture2 : register(t1);,[object Object],Texture2D<float4> gbufferTexture3 : register(t2);,[object Object],Texture2D<float4> depthTexture : register(t3);,[object Object],RWTexture2D<float4> outputTexture : register(u0);,[object Object],#define BLOCK_SIZE 16,[object Object],[numthreads(BLOCK_SIZE,BLOCK_SIZE,1)],[object Object],void csMain(,[object Object],    uint3 groupId : SV_GroupID,,[object Object],    uint3 groupThreadId : SV_GroupThreadID,,[object Object],    uint groupIndex: SV_GroupIndex,,[object Object],    uint3 dispatchThreadId : SV_DispatchThreadID),[object Object],{,[object Object],    ...,[object Object],},[object Object],Diffuse Albedo,[object Object],Specular Albedo,[object Object]
CS steps 1-2,[object Object],groupshared uint minDepthInt;,[object Object],groupshared uint maxDepthInt;,[object Object],// --- globals above, function below -------,[object Object],float depth =   ,[object Object],    depthTexture.Load(uint3(texCoord, 0)).r;,[object Object],uint depthInt = asuint(depth);,[object Object],minDepthInt = 0xFFFFFFFF;,[object Object],maxDepthInt = 0;,[object Object],GroupMemoryBarrierWithGroupSync();,[object Object],InterlockedMin(minDepthInt, depthInt);,[object Object],InterlockedMax(maxDepthInt, depthInt);,[object Object],GroupMemoryBarrierWithGroupSync();,[object Object],float minGroupDepth = asfloat(minDepthInt);,[object Object],float maxGroupDepth = asfloat(maxDepthInt);,[object Object],Load gbuffers & depth,[object Object],Calculate min & max z in threadgroup / tile,[object Object],Using InterlockedMin/Max on groupshared variable,[object Object],Atomics only work on ints ,[object Object],But casting works (z is always +),[object Object],Optimization note: ,[object Object],Separate pass using parallel reduction with Gather to a small texture could be faster,[object Object],Note to the future:,[object Object],GPU already has similar values in HiZ/ZCull!  ,[object Object],Can skip step 2 if we could resolve out min & max z to a texture directly,[object Object],Min z looks just like the occlusion software rendering output,[object Object]
CS step 3 – Cull idea,[object Object],Determine visible light sources for each tile,[object Object],Cull all light sources against tile ”frustum”,[object Object],Light sources can either naively be all light sources in the scene, or CPU frustum culled potentially visible light sources,[object Object],Output for each tile is:,[object Object],# of visible light sources,[object Object],Index list of visible light sources,[object Object],Example numbers from test scene,[object Object],This is the key part of the algorithm and compute shader, so must try to be rather clever with the implementation!,[object Object],Per-tile visible light count,[object Object],(black = 0 lights, white = 40),[object Object]
CS step 3 – Cull implementation,[object Object],struct Light,[object Object],{,[object Object],    float3 pos;,[object Object],    float sqrRadius;,[object Object],    float3 color;,[object Object],    float invSqrRadius;,[object Object],};,[object Object],int lightCount;,[object Object],StructuredBuffer<Light> lights;,[object Object],groupshared uint visibleLightCount = 0;,[object Object],groupshared uint visibleLightIndices[1024];,[object Object],// ----- globals above, cont. function below -----------,[object Object],uint threadCount = BLOCK_SIZE*BLOCK_SIZE; ,[object Object],uint passCount = (lightCount+threadCount-1) / threadCount;,[object Object],for (uint passIt = 0; passIt < passCount; ++passIt),[object Object],{,[object Object],    uint lightIndex = passIt*threadCount + groupIndex;,[object Object],    // prevent overrun by clamping to a last ”null” light,[object Object],    lightIndex = min(lightIndex, lightCount); ,[object Object],    if (intersects(lights[lightIndex], tile)),[object Object],    {,[object Object],        uint offset;,[object Object],        InterlockedAdd(visibleLightCount, 1, offset);,[object Object],        visibleLightIndices[offset] = lightIndex;,[object Object],    }	,[object Object],},[object Object],GroupMemoryBarrierWithGroupSync();,[object Object],Each thread switches to process light sources instead of a pixel* ,[object Object],Wow, parallelism switcheroo!,[object Object],256 light sources in parallel per tile,[object Object],Multiple iterations for >256 lights	,[object Object],Intersect light source & tile,[object Object],Many variants dep. on accuracy requirements & performance,[object Object],Tile min & max z is used as a shader ”depth bounds” test,[object Object],For visible lights, append light index to index list,[object Object],Atomic add to threadgroup shared memory. ”inlined stream compaction”,[object Object],Prefix sum + stream compaction should be faster than atomics, but more limiting,[object Object],Synchronize group & switch back to processing pixels,[object Object],We now know which light sources affect the tile,[object Object],*Your grandfather’s pixel shader can’t do that!,[object Object]
CS deferred shading final steps,[object Object],Computed lighting,[object Object],For each pixel, accumulate lighting from visible lights,[object Object],Read from tile visible light index list in threadgroup shared memory,[object Object],Combine lighting & shading albedos / parameters,[object Object],Output is non-MSAA HDR texture,[object Object],Render transparent surfaces on top,[object Object],float3 diffuseLight = 0;,[object Object],float3 specularLight = 0;,[object Object],for (uint lightIt = 0; lightIt < visibleLightCount; ++lightIt),[object Object],{,[object Object],    uint lightIndex = visibleLightIndices[lightIt];,[object Object],    Light light = lights[lightIndex];		,[object Object],    evaluateAndAccumulateLight(,[object Object],        light, ,[object Object],        gbufferParameters,,[object Object],        diffuseLight,,[object Object],        specularLight); ,[object Object],},[object Object],Combined final output ,[object Object],(not the best example),[object Object]
Example results,[object Object]
Example: 25+ analytical specular highlights per pixel,[object Object]
Parallel Graphics in Frostbite - Current & Future (Siggraph 2009)
Compute Shader-based ,[object Object],Deferred Shading demo,[object Object]
CS-based deferred shading ,[object Object],The Good:,[object Object],Constant & absolute minimal bandwidth,[object Object],Read gbuffers & depth once!,[object Object],Doesn’t need intermediate light buffers,[object Object],Can take a lot of memory with HDR, MSAA & color specular,[object Object],Scales up to huge amount of big overlapping light sources!,[object Object],Fine-grained culling (16x16),[object Object],Only ALU cost, good future scaling,[object Object],Could be useful for accumulating VPLs,[object Object],The Bad:,[object Object],Requires DX11 HW (duh),[object Object],CS 4.0/4.1 difficult due to atomics & scattered groupshared writes,[object Object],Culling overhead for small light sources,[object Object],Can accumulate them using standard light volume rendering,[object Object],Or separate CS for tile-classific.,[object Object],Potentially performance,[object Object],MSAA texture loads / UAV writing might be slower then standard PS,[object Object],The Ugly:,[object Object],[object Object]
DX11 CS UAV limitation.  ,[object Object]
What else do we want to do?,[object Object],WARNING: Overly enthusiastic and non all-knowing game developer ranting,[object Object],Mixed resolution MSAA particle rendering ,[object Object],Depth test per sample, shade per quarter pixel, and depth-aware upsample directly in shader,[object Object],Demand-paged procedural texturing / compositing,[object Object],Zero latency “texture shaders”,[object Object],Pre-tessellation coarse rasterization for z-culling of patches,[object Object],Potential optimization in scenes of massive geometric overdraw,[object Object],Can be coupled with recursive schemes,[object Object],Deferred shading w/ many & arbitrary BRDFs/materials,[object Object],Queue up pixels of multiple materials for coherent processing in own shader,[object Object],Instead of incoherenct screen-space dynamic flow control,[object Object],Latency-free lens flares ,[object Object],Finally! No false/late occlusion,[object Object],Occlusion query results written to CB and used in shader to cull & scale,[object Object],And much much more...,[object Object]

Más contenido relacionado

La actualidad más candente

A Certain Slant of Light - Past, Present and Future Challenges of Global Illu...
A Certain Slant of Light - Past, Present and Future Challenges of Global Illu...A Certain Slant of Light - Past, Present and Future Challenges of Global Illu...
A Certain Slant of Light - Past, Present and Future Challenges of Global Illu...Electronic Arts / DICE
 
Parallel Futures of a Game Engine
Parallel Futures of a Game EngineParallel Futures of a Game Engine
Parallel Futures of a Game EngineJohan Andersson
 
Crysis Next-Gen Effects (GDC 2008)
Crysis Next-Gen Effects (GDC 2008)Crysis Next-Gen Effects (GDC 2008)
Crysis Next-Gen Effects (GDC 2008)Tiago Sousa
 
Rendering AAA-Quality Characters of Project A1
Rendering AAA-Quality Characters of Project A1Rendering AAA-Quality Characters of Project A1
Rendering AAA-Quality Characters of Project A1Ki Hyunwoo
 
Siggraph2016 - The Devil is in the Details: idTech 666
Siggraph2016 - The Devil is in the Details: idTech 666Siggraph2016 - The Devil is in the Details: idTech 666
Siggraph2016 - The Devil is in the Details: idTech 666Tiago Sousa
 
Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...
Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...
Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...Johan Andersson
 
Dissecting the Rendering of The Surge
Dissecting the Rendering of The SurgeDissecting the Rendering of The Surge
Dissecting the Rendering of The SurgePhilip Hammer
 
Screen Space Reflections in The Surge
Screen Space Reflections in The SurgeScreen Space Reflections in The Surge
Screen Space Reflections in The SurgeMichele Giacalone
 
Rendering Technologies from Crysis 3 (GDC 2013)
Rendering Technologies from Crysis 3 (GDC 2013)Rendering Technologies from Crysis 3 (GDC 2013)
Rendering Technologies from Crysis 3 (GDC 2013)Tiago Sousa
 
Lighting Shading by John Hable
Lighting Shading by John HableLighting Shading by John Hable
Lighting Shading by John HableNaughty Dog
 
Lighting of Killzone: Shadow Fall
Lighting of Killzone: Shadow FallLighting of Killzone: Shadow Fall
Lighting of Killzone: Shadow FallGuerrilla
 
FrameGraph: Extensible Rendering Architecture in Frostbite
FrameGraph: Extensible Rendering Architecture in FrostbiteFrameGraph: Extensible Rendering Architecture in Frostbite
FrameGraph: Extensible Rendering Architecture in FrostbiteElectronic Arts / DICE
 
The Rendering Pipeline - Challenges & Next Steps
The Rendering Pipeline - Challenges & Next StepsThe Rendering Pipeline - Challenges & Next Steps
The Rendering Pipeline - Challenges & Next StepsJohan Andersson
 
The Rendering Technology of 'Lords of the Fallen' (Game Connection Europe 2014)
The Rendering Technology of 'Lords of the Fallen' (Game Connection Europe 2014)The Rendering Technology of 'Lords of the Fallen' (Game Connection Europe 2014)
The Rendering Technology of 'Lords of the Fallen' (Game Connection Europe 2014)Philip Hammer
 
OpenGL NVIDIA Command-List: Approaching Zero Driver Overhead
OpenGL NVIDIA Command-List: Approaching Zero Driver OverheadOpenGL NVIDIA Command-List: Approaching Zero Driver Overhead
OpenGL NVIDIA Command-List: Approaching Zero Driver OverheadTristan Lorach
 
HPG 2018 - Game Ray Tracing: State-of-the-Art and Open Problems
HPG 2018 - Game Ray Tracing: State-of-the-Art and Open ProblemsHPG 2018 - Game Ray Tracing: State-of-the-Art and Open Problems
HPG 2018 - Game Ray Tracing: State-of-the-Art and Open ProblemsElectronic Arts / DICE
 
Stable SSAO in Battlefield 3 with Selective Temporal Filtering
Stable SSAO in Battlefield 3 with Selective Temporal FilteringStable SSAO in Battlefield 3 with Selective Temporal Filtering
Stable SSAO in Battlefield 3 with Selective Temporal FilteringElectronic Arts / DICE
 
Graphics Gems from CryENGINE 3 (Siggraph 2013)
Graphics Gems from CryENGINE 3 (Siggraph 2013)Graphics Gems from CryENGINE 3 (Siggraph 2013)
Graphics Gems from CryENGINE 3 (Siggraph 2013)Tiago Sousa
 
Next generation graphics programming on xbox 360
Next generation graphics programming on xbox 360Next generation graphics programming on xbox 360
Next generation graphics programming on xbox 360VIKAS SINGH BHADOURIA
 
Hable John Uncharted2 Hdr Lighting
Hable John Uncharted2 Hdr LightingHable John Uncharted2 Hdr Lighting
Hable John Uncharted2 Hdr Lightingozlael ozlael
 

La actualidad más candente (20)

A Certain Slant of Light - Past, Present and Future Challenges of Global Illu...
A Certain Slant of Light - Past, Present and Future Challenges of Global Illu...A Certain Slant of Light - Past, Present and Future Challenges of Global Illu...
A Certain Slant of Light - Past, Present and Future Challenges of Global Illu...
 
Parallel Futures of a Game Engine
Parallel Futures of a Game EngineParallel Futures of a Game Engine
Parallel Futures of a Game Engine
 
Crysis Next-Gen Effects (GDC 2008)
Crysis Next-Gen Effects (GDC 2008)Crysis Next-Gen Effects (GDC 2008)
Crysis Next-Gen Effects (GDC 2008)
 
Rendering AAA-Quality Characters of Project A1
Rendering AAA-Quality Characters of Project A1Rendering AAA-Quality Characters of Project A1
Rendering AAA-Quality Characters of Project A1
 
Siggraph2016 - The Devil is in the Details: idTech 666
Siggraph2016 - The Devil is in the Details: idTech 666Siggraph2016 - The Devil is in the Details: idTech 666
Siggraph2016 - The Devil is in the Details: idTech 666
 
Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...
Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...
Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...
 
Dissecting the Rendering of The Surge
Dissecting the Rendering of The SurgeDissecting the Rendering of The Surge
Dissecting the Rendering of The Surge
 
Screen Space Reflections in The Surge
Screen Space Reflections in The SurgeScreen Space Reflections in The Surge
Screen Space Reflections in The Surge
 
Rendering Technologies from Crysis 3 (GDC 2013)
Rendering Technologies from Crysis 3 (GDC 2013)Rendering Technologies from Crysis 3 (GDC 2013)
Rendering Technologies from Crysis 3 (GDC 2013)
 
Lighting Shading by John Hable
Lighting Shading by John HableLighting Shading by John Hable
Lighting Shading by John Hable
 
Lighting of Killzone: Shadow Fall
Lighting of Killzone: Shadow FallLighting of Killzone: Shadow Fall
Lighting of Killzone: Shadow Fall
 
FrameGraph: Extensible Rendering Architecture in Frostbite
FrameGraph: Extensible Rendering Architecture in FrostbiteFrameGraph: Extensible Rendering Architecture in Frostbite
FrameGraph: Extensible Rendering Architecture in Frostbite
 
The Rendering Pipeline - Challenges & Next Steps
The Rendering Pipeline - Challenges & Next StepsThe Rendering Pipeline - Challenges & Next Steps
The Rendering Pipeline - Challenges & Next Steps
 
The Rendering Technology of 'Lords of the Fallen' (Game Connection Europe 2014)
The Rendering Technology of 'Lords of the Fallen' (Game Connection Europe 2014)The Rendering Technology of 'Lords of the Fallen' (Game Connection Europe 2014)
The Rendering Technology of 'Lords of the Fallen' (Game Connection Europe 2014)
 
OpenGL NVIDIA Command-List: Approaching Zero Driver Overhead
OpenGL NVIDIA Command-List: Approaching Zero Driver OverheadOpenGL NVIDIA Command-List: Approaching Zero Driver Overhead
OpenGL NVIDIA Command-List: Approaching Zero Driver Overhead
 
HPG 2018 - Game Ray Tracing: State-of-the-Art and Open Problems
HPG 2018 - Game Ray Tracing: State-of-the-Art and Open ProblemsHPG 2018 - Game Ray Tracing: State-of-the-Art and Open Problems
HPG 2018 - Game Ray Tracing: State-of-the-Art and Open Problems
 
Stable SSAO in Battlefield 3 with Selective Temporal Filtering
Stable SSAO in Battlefield 3 with Selective Temporal FilteringStable SSAO in Battlefield 3 with Selective Temporal Filtering
Stable SSAO in Battlefield 3 with Selective Temporal Filtering
 
Graphics Gems from CryENGINE 3 (Siggraph 2013)
Graphics Gems from CryENGINE 3 (Siggraph 2013)Graphics Gems from CryENGINE 3 (Siggraph 2013)
Graphics Gems from CryENGINE 3 (Siggraph 2013)
 
Next generation graphics programming on xbox 360
Next generation graphics programming on xbox 360Next generation graphics programming on xbox 360
Next generation graphics programming on xbox 360
 
Hable John Uncharted2 Hdr Lighting
Hable John Uncharted2 Hdr LightingHable John Uncharted2 Hdr Lighting
Hable John Uncharted2 Hdr Lighting
 

Destacado

Parallel Futures of a Game Engine (v2.0)
Parallel Futures of a Game Engine (v2.0)Parallel Futures of a Game Engine (v2.0)
Parallel Futures of a Game Engine (v2.0)Johan Andersson
 
4K Checkerboard in Battlefield 1 and Mass Effect Andromeda
4K Checkerboard in Battlefield 1 and Mass Effect Andromeda4K Checkerboard in Battlefield 1 and Mass Effect Andromeda
4K Checkerboard in Battlefield 1 and Mass Effect AndromedaElectronic Arts / DICE
 
Photogrammetry and Star Wars Battlefront
Photogrammetry and Star Wars BattlefrontPhotogrammetry and Star Wars Battlefront
Photogrammetry and Star Wars BattlefrontElectronic Arts / DICE
 
High Dynamic Range color grading and display in Frostbite
High Dynamic Range color grading and display in FrostbiteHigh Dynamic Range color grading and display in Frostbite
High Dynamic Range color grading and display in FrostbiteElectronic Arts / DICE
 
Shadows & Decals: D3D10 Techniques in Frostbite (GDC'09)
 	 Shadows & Decals: D3D10 Techniques in Frostbite (GDC'09) 	 Shadows & Decals: D3D10 Techniques in Frostbite (GDC'09)
Shadows & Decals: D3D10 Techniques in Frostbite (GDC'09)Johan Andersson
 
5 Major Challenges in Real-time Rendering (2012)
5 Major Challenges in Real-time Rendering (2012)5 Major Challenges in Real-time Rendering (2012)
5 Major Challenges in Real-time Rendering (2012)Electronic Arts / DICE
 
Physically Based and Unified Volumetric Rendering in Frostbite
Physically Based and Unified Volumetric Rendering in FrostbitePhysically Based and Unified Volumetric Rendering in Frostbite
Physically Based and Unified Volumetric Rendering in FrostbiteElectronic Arts / DICE
 
Destruction Masking in Frostbite 2 using Volume Distance Fields
Destruction Masking in Frostbite 2 using Volume Distance FieldsDestruction Masking in Frostbite 2 using Volume Distance Fields
Destruction Masking in Frostbite 2 using Volume Distance FieldsElectronic Arts / DICE
 
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)Johan Andersson
 
Colin Barre-Brisebois - GDC 2011 - Approximating Translucency for a Fast, Che...
Colin Barre-Brisebois - GDC 2011 - Approximating Translucency for a Fast, Che...Colin Barre-Brisebois - GDC 2011 - Approximating Translucency for a Fast, Che...
Colin Barre-Brisebois - GDC 2011 - Approximating Translucency for a Fast, Che...Colin Barré-Brisebois
 
Audio for Multiplayer & Beyond - Mixing Case Studies From Battlefield: Bad Co...
Audio for Multiplayer & Beyond - Mixing Case Studies From Battlefield: Bad Co...Audio for Multiplayer & Beyond - Mixing Case Studies From Battlefield: Bad Co...
Audio for Multiplayer & Beyond - Mixing Case Studies From Battlefield: Bad Co...Electronic Arts / DICE
 
Executable Bloat - How it happens and how we can fight it
Executable Bloat - How it happens and how we can fight itExecutable Bloat - How it happens and how we can fight it
Executable Bloat - How it happens and how we can fight itElectronic Arts / DICE
 
5 Major Challenges in Interactive Rendering
5 Major Challenges in Interactive Rendering5 Major Challenges in Interactive Rendering
5 Major Challenges in Interactive RenderingElectronic Arts / DICE
 
How High Dynamic Range Audio Makes Battlefield: Bad Company Go BOOM
How High Dynamic Range Audio Makes Battlefield: Bad Company Go BOOMHow High Dynamic Range Audio Makes Battlefield: Bad Company Go BOOM
How High Dynamic Range Audio Makes Battlefield: Bad Company Go BOOMAnders Clerwall
 

Destacado (20)

Parallel Futures of a Game Engine (v2.0)
Parallel Futures of a Game Engine (v2.0)Parallel Futures of a Game Engine (v2.0)
Parallel Futures of a Game Engine (v2.0)
 
Lighting the City of Glass
Lighting the City of GlassLighting the City of Glass
Lighting the City of Glass
 
4K Checkerboard in Battlefield 1 and Mass Effect Andromeda
4K Checkerboard in Battlefield 1 and Mass Effect Andromeda4K Checkerboard in Battlefield 1 and Mass Effect Andromeda
4K Checkerboard in Battlefield 1 and Mass Effect Andromeda
 
Photogrammetry and Star Wars Battlefront
Photogrammetry and Star Wars BattlefrontPhotogrammetry and Star Wars Battlefront
Photogrammetry and Star Wars Battlefront
 
High Dynamic Range color grading and display in Frostbite
High Dynamic Range color grading and display in FrostbiteHigh Dynamic Range color grading and display in Frostbite
High Dynamic Range color grading and display in Frostbite
 
Shadows & Decals: D3D10 Techniques in Frostbite (GDC'09)
 	 Shadows & Decals: D3D10 Techniques in Frostbite (GDC'09) 	 Shadows & Decals: D3D10 Techniques in Frostbite (GDC'09)
Shadows & Decals: D3D10 Techniques in Frostbite (GDC'09)
 
5 Major Challenges in Real-time Rendering (2012)
5 Major Challenges in Real-time Rendering (2012)5 Major Challenges in Real-time Rendering (2012)
5 Major Challenges in Real-time Rendering (2012)
 
Physically Based and Unified Volumetric Rendering in Frostbite
Physically Based and Unified Volumetric Rendering in FrostbitePhysically Based and Unified Volumetric Rendering in Frostbite
Physically Based and Unified Volumetric Rendering in Frostbite
 
A Real-time Radiosity Architecture
A Real-time Radiosity ArchitectureA Real-time Radiosity Architecture
A Real-time Radiosity Architecture
 
Bending the Graphics Pipeline
Bending the Graphics PipelineBending the Graphics Pipeline
Bending the Graphics Pipeline
 
Destruction Masking in Frostbite 2 using Volume Distance Fields
Destruction Masking in Frostbite 2 using Volume Distance FieldsDestruction Masking in Frostbite 2 using Volume Distance Fields
Destruction Masking in Frostbite 2 using Volume Distance Fields
 
Rendering Battlefield 4 with Mantle
Rendering Battlefield 4 with MantleRendering Battlefield 4 with Mantle
Rendering Battlefield 4 with Mantle
 
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)
 
Shiny PC Graphics in Battlefield 3
Shiny PC Graphics in Battlefield 3Shiny PC Graphics in Battlefield 3
Shiny PC Graphics in Battlefield 3
 
Colin Barre-Brisebois - GDC 2011 - Approximating Translucency for a Fast, Che...
Colin Barre-Brisebois - GDC 2011 - Approximating Translucency for a Fast, Che...Colin Barre-Brisebois - GDC 2011 - Approximating Translucency for a Fast, Che...
Colin Barre-Brisebois - GDC 2011 - Approximating Translucency for a Fast, Che...
 
Audio for Multiplayer & Beyond - Mixing Case Studies From Battlefield: Bad Co...
Audio for Multiplayer & Beyond - Mixing Case Studies From Battlefield: Bad Co...Audio for Multiplayer & Beyond - Mixing Case Studies From Battlefield: Bad Co...
Audio for Multiplayer & Beyond - Mixing Case Studies From Battlefield: Bad Co...
 
Executable Bloat - How it happens and how we can fight it
Executable Bloat - How it happens and how we can fight itExecutable Bloat - How it happens and how we can fight it
Executable Bloat - How it happens and how we can fight it
 
Scope Stack Allocation
Scope Stack AllocationScope Stack Allocation
Scope Stack Allocation
 
5 Major Challenges in Interactive Rendering
5 Major Challenges in Interactive Rendering5 Major Challenges in Interactive Rendering
5 Major Challenges in Interactive Rendering
 
How High Dynamic Range Audio Makes Battlefield: Bad Company Go BOOM
How High Dynamic Range Audio Makes Battlefield: Bad Company Go BOOMHow High Dynamic Range Audio Makes Battlefield: Bad Company Go BOOM
How High Dynamic Range Audio Makes Battlefield: Bad Company Go BOOM
 

Similar a Parallel Graphics in Frostbite - Current & Future (Siggraph 2009)

Your Game Needs Direct3D 11, So Get Started Now!
Your Game Needs Direct3D 11, So Get Started Now!Your Game Needs Direct3D 11, So Get Started Now!
Your Game Needs Direct3D 11, So Get Started Now!Johan Andersson
 
BitSquid Tech: Benefits of a data-driven renderer
BitSquid Tech: Benefits of a data-driven rendererBitSquid Tech: Benefits of a data-driven renderer
BitSquid Tech: Benefits of a data-driven renderertobias_persson
 
Exploring Compiler Optimization Opportunities for the OpenMP 4.x Accelerator...
Exploring Compiler Optimization Opportunities for the OpenMP 4.x Accelerator...Exploring Compiler Optimization Opportunities for the OpenMP 4.x Accelerator...
Exploring Compiler Optimization Opportunities for the OpenMP 4.x Accelerator...Akihiro Hayashi
 
graphics processing unit ppt
graphics processing unit pptgraphics processing unit ppt
graphics processing unit pptNitesh Dubey
 
Coding for multiple cores
Coding for multiple coresCoding for multiple cores
Coding for multiple coresLee Hanxue
 
Advanced Graphics Workshop - GFX2011
Advanced Graphics Workshop - GFX2011Advanced Graphics Workshop - GFX2011
Advanced Graphics Workshop - GFX2011Prabindh Sundareson
 
Unite 2013 optimizing unity games for mobile platforms
Unite 2013 optimizing unity games for mobile platformsUnite 2013 optimizing unity games for mobile platforms
Unite 2013 optimizing unity games for mobile platformsナム-Nam Nguyễn
 
Threading Successes 06 Allegorithmic
Threading Successes 06   AllegorithmicThreading Successes 06   Allegorithmic
Threading Successes 06 Allegorithmicguest40fc7cd
 
Commandlistsiggraphasia2014 141204005310-conversion-gate02
Commandlistsiggraphasia2014 141204005310-conversion-gate02Commandlistsiggraphasia2014 141204005310-conversion-gate02
Commandlistsiggraphasia2014 141204005310-conversion-gate02RubnCuesta2
 
Vpu technology &gpgpu computing
Vpu technology &gpgpu computingVpu technology &gpgpu computing
Vpu technology &gpgpu computingArka Ghosh
 
Vpu technology &gpgpu computing
Vpu technology &gpgpu computingVpu technology &gpgpu computing
Vpu technology &gpgpu computingArka Ghosh
 
Vpu technology &gpgpu computing
Vpu technology &gpgpu computingVpu technology &gpgpu computing
Vpu technology &gpgpu computingArka Ghosh
 
Pcsx2 readme 0.9.6
Pcsx2 readme 0.9.6Pcsx2 readme 0.9.6
Pcsx2 readme 0.9.6Angel David
 
[Unite Seoul 2019] Mali GPU Architecture and Mobile Studio
[Unite Seoul 2019] Mali GPU Architecture and Mobile Studio [Unite Seoul 2019] Mali GPU Architecture and Mobile Studio
[Unite Seoul 2019] Mali GPU Architecture and Mobile Studio Owen Wu
 
Vpu technology &gpgpu computing
Vpu technology &gpgpu computingVpu technology &gpgpu computing
Vpu technology &gpgpu computingArka Ghosh
 
[Defcon] Hardware backdooring is practical
[Defcon] Hardware backdooring is practical[Defcon] Hardware backdooring is practical
[Defcon] Hardware backdooring is practicalMoabi.com
 

Similar a Parallel Graphics in Frostbite - Current & Future (Siggraph 2009) (20)

Your Game Needs Direct3D 11, So Get Started Now!
Your Game Needs Direct3D 11, So Get Started Now!Your Game Needs Direct3D 11, So Get Started Now!
Your Game Needs Direct3D 11, So Get Started Now!
 
BitSquid Tech: Benefits of a data-driven renderer
BitSquid Tech: Benefits of a data-driven rendererBitSquid Tech: Benefits of a data-driven renderer
BitSquid Tech: Benefits of a data-driven renderer
 
DirectX 11 Rendering in Battlefield 3
DirectX 11 Rendering in Battlefield 3DirectX 11 Rendering in Battlefield 3
DirectX 11 Rendering in Battlefield 3
 
Exploring Compiler Optimization Opportunities for the OpenMP 4.x Accelerator...
Exploring Compiler Optimization Opportunities for the OpenMP 4.x Accelerator...Exploring Compiler Optimization Opportunities for the OpenMP 4.x Accelerator...
Exploring Compiler Optimization Opportunities for the OpenMP 4.x Accelerator...
 
graphics processing unit ppt
graphics processing unit pptgraphics processing unit ppt
graphics processing unit ppt
 
Programar para GPUs
Programar para GPUsProgramar para GPUs
Programar para GPUs
 
Xen in Linux (aka PVOPS update)
Xen in Linux (aka PVOPS update)Xen in Linux (aka PVOPS update)
Xen in Linux (aka PVOPS update)
 
Coding for multiple cores
Coding for multiple coresCoding for multiple cores
Coding for multiple cores
 
Advanced Graphics Workshop - GFX2011
Advanced Graphics Workshop - GFX2011Advanced Graphics Workshop - GFX2011
Advanced Graphics Workshop - GFX2011
 
Unite 2013 optimizing unity games for mobile platforms
Unite 2013 optimizing unity games for mobile platformsUnite 2013 optimizing unity games for mobile platforms
Unite 2013 optimizing unity games for mobile platforms
 
Gpu
GpuGpu
Gpu
 
Threading Successes 06 Allegorithmic
Threading Successes 06   AllegorithmicThreading Successes 06   Allegorithmic
Threading Successes 06 Allegorithmic
 
Commandlistsiggraphasia2014 141204005310-conversion-gate02
Commandlistsiggraphasia2014 141204005310-conversion-gate02Commandlistsiggraphasia2014 141204005310-conversion-gate02
Commandlistsiggraphasia2014 141204005310-conversion-gate02
 
Vpu technology &gpgpu computing
Vpu technology &gpgpu computingVpu technology &gpgpu computing
Vpu technology &gpgpu computing
 
Vpu technology &gpgpu computing
Vpu technology &gpgpu computingVpu technology &gpgpu computing
Vpu technology &gpgpu computing
 
Vpu technology &gpgpu computing
Vpu technology &gpgpu computingVpu technology &gpgpu computing
Vpu technology &gpgpu computing
 
Pcsx2 readme 0.9.6
Pcsx2 readme 0.9.6Pcsx2 readme 0.9.6
Pcsx2 readme 0.9.6
 
[Unite Seoul 2019] Mali GPU Architecture and Mobile Studio
[Unite Seoul 2019] Mali GPU Architecture and Mobile Studio [Unite Seoul 2019] Mali GPU Architecture and Mobile Studio
[Unite Seoul 2019] Mali GPU Architecture and Mobile Studio
 
Vpu technology &gpgpu computing
Vpu technology &gpgpu computingVpu technology &gpgpu computing
Vpu technology &gpgpu computing
 
[Defcon] Hardware backdooring is practical
[Defcon] Hardware backdooring is practical[Defcon] Hardware backdooring is practical
[Defcon] Hardware backdooring is practical
 

Último

Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationIES VE
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Brian Pichman
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding TeamAdam Moalla
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Adtran
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Websitedgelyza
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsSeth Reyes
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfDaniel Santiago Silva Capera
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfAijun Zhang
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfinfogdgmi
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfDianaGray10
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureEric D. Schabell
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URLRuncy Oommen
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintMahmoud Rabie
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7DianaGray10
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesDavid Newbury
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024SkyPlanner
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Will Schroeder
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsSafe Software
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaborationbruanjhuli
 
AI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarAI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarPrecisely
 

Último (20)

Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Website
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdf
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdf
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability Adventure
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URL
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership Blueprint
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond Ontologies
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
 
AI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarAI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity Webinar
 

Parallel Graphics in Frostbite - Current & Future (Siggraph 2009)

Notas del editor

  1. Concrete effects on the graphics pipelineInclude a few wishes & predictions of how we would like the GPU programming model to evolve
  2. FB1 Started out 5 years ago. Target the ”next-generation” consoles.And while we developed the engine we also worked on BFBC1, which was the pilot project. After that shipped, we have been spending quite a bit of effort on a new version of the engine of which one of the major new things is full PC & DX11 support.So I think we have some interesting experiences on both the consoles and modern PCs.And no, I won’t talk about BF3.
  3. These large scale environments require heavy processing.Lets go a head and talk about jobs..
  4. Better code structure!Gustafson’s LawFixed 33 ms/f
  5. 90% of this is a single job graph for the rendering of a frameRely on dynamic load-balancingTask-parallel examples: Terrain culling, particles, building entitiesData-parallel examples: ParticlesHave example of low-latency GPU job later onBraided: Aaron introduced the term at this course last year
  6. We have a lot of jobs across the engine, too many to go through so I chose to focus more on some of the rendering.Our intention is to move all of these to the GPU
  7. One of the first optimizations for multi-core that we did was to move all rendering dispatch to a seperate thread. This includes all the draw calls and states that we set to D3D.This helps a lot but it doesn’t scale that well as we only utilize a single extra core.Gather
  8. Software rasterization of occluders
  9. Conservative
  10. Want to rasterize on GPU, not CPU CPU Û GPU job dependencies
  11. Only visible trianglesJon Olick also talked about Edge at the course last yearSo I wont go into that much detail about thisThis is a huge optimization both for us and many other developers
  12. Initially very skepticalIntrinsics problematic
  13. 280 instruction GSStreamOut buffer/query management is difficult & buggyWant to use CS
  14. Esp. heavy with MSAAParallel reduction probably faster than atomics
  15. MSAA texture read cost, UAV costGood: depth bounds on all HW
  16. Paper presented at Siggraph yesterday.Dynamic irregular workloadsElegant model, holds a lot of promise
  17. OpenCLRapidMind, GRAMPs