SlideShare una empresa de Scribd logo
1 de 43
Descargar para leer sin conexión
ALLEN BOURGOYNE
DIRECTOR ISV RELATIONS
AMD PROFESSIONAL GRAPHICS
RapidFire: The Easy Route To Low
Latency Cloud Gaming Solutions
2 | GDC 2014 | MARCH 19, 2014
AMD RapidFire Technology
Low
Latency
HD Image Quality Multiple Streams
Virtualization
Enablement
Most cloud gaming solutions are CPU based
AMD RapidFire is dedicated cloud hardware and software solution with an API to
simplify integration
–Deliver more HD games streams per GPU with low latency -> 6 x HD 720p30 fps
–Leverage AMD hardware on both server and client
3 | GDC 2014 | MARCH 19, 2014
AMD RapidFire Technology
High
resolution
Collaborative Virtual Desktop
Adaptive to
Network environment
 Design for many use cases and workflows
4 | GDC 2014 | MARCH 19, 2014
AMD RapidFire Technology
Server Network Client User Interface
 4 independent components using software and hardware acceleration
 HW H264 Encoding
 GPU Encoding
 CPU Encoding
 Plugins Encoding
 Multi-stream
 Multi-API
(DX9/11/OpenGL/
OpenCL)
 Encryption
 Desktop and window
direct encoding
 Adaptive protocol  HW H264 Decoding
 CPU Decoding
 Custom GPU Decoding
 Multi-platform
(Win/Linux/IOS/Android)
 Multi-API
(DX9/11/OpenGL/
OpenCL)
 Touch
 Keyboard
 Mouse
 Multi-platform
5 | GDC 2014 | MARCH 19, 2014
Notebook Handheld Desktop
GCN Render Graphics
Frame Low-latency frame capture
Grab
VCE HD multi-stream
Compression
6 | GDC 2014 | MARCH 19, 2014
AMD AMD RapidFire Technology
Server
Client
Keyboard
Mouse events
Keyboard
Mouse
decode
HW
H264
Encode
GPU
Frame Buffer
System Memory
DRIVER
RAPIDFIRE API
CPU
H264
Encode
Keyboard
Mouse
Network
7 | GDC 2014 | MARCH 19, 2014
AMD RAPIDFIRE TECHNOLOGY
DATA FLOW OVERVIEW
Server Client
Radeon Sky GPU
NETWORK
ENCODE3D ENGINE
FRAME BUFFER
NETWORKGAME SERVER
DECODE UI
FRAME BUFFER
 RF API module
 external module
8 | GDC 2014 | MARCH 19, 2014
AMD RAPIDFIRE TECHNOLOGY
SERVER SIDE DATA FLOW
Server
Radeon Sky GPU
NETWORK
ENCODE
3D ENGINE
GAME
INSTANCE
 Network component
transfers UI events from
the client to the server
EXECUTION
RESOURCES
FRAME BUFFER
9 | GDC 2014 | MARCH 19, 2014
AMD RAPIDFIRE TECHNOLOGY
SERVER SIDE DATA FLOW
Server
Radeon Sky GPU
NETWORK
ENCODE
3D ENGINE
GAME
INSTANCE
 Network component
transfers UI events from
the client to the server
 Game server sends
commands to GPU to draw
next frame
EXECUTION
RESOURCES
FRAME BUFFER
10 | GDC 2014 | MARCH 19, 2014
AMD RAPIDFIRE TECHNOLOGY
SERVER SIDE DATA FLOW
Server
Radeon Sky GPU
NETWORK
ENCODE
3D ENGINE
GAME
INSTANCE
 Network component
transfers UI events from
the client to the server
 Game server sends
commands to GPU to draw
next frame
 GPU distributes the work
among execution resources
and produces resulting
frame into the frame buffer
EXECUTION
RESOURCES
FRAME BUFFER
11 | GDC 2014 | MARCH 19, 2014
AMD RAPIDFIRE TECHNOLOGY
SERVER SIDE DATA FLOW
Server
Radeon Sky GPU
NETWORK
ENCODE
3D ENGINE
GAME
INSTANCE
 Network component
transfers UI events from
the client to the server
 Game server sends
commands to GPU to draw
next frame
 GPU distributes the work
among execution resources
and produces resulting
frame into the frame buffer
 VCE is performing
asynchronous frame
sequence encoding into
H264 video stream and the
data is fetched to system
memory by the app
EXECUTION
RESOURCES
FRAME BUFFER
12 | GDC 2014 | MARCH 19, 2014
AMD RAPIDFIRE TECHNOLOGY
SERVER SIDE DATA FLOW
Server
Radeon Sky GPU
NETWORK
ENCODE
3D ENGINE
GAME
INSTANCE
 Network component
transfers UI events from
the client to the server
 Game server sends
commands to GPU to draw
next frame
 GPU distributes the work
among execution resources
and produces resulting
frame into the frame buffer
 VCE is performing
asynchronous frame
sequence encoding into
H246 video stream and the
data is fetched to system
memory by the app
 SW-encoded audio stream
is merged with the video
stream and sent to the
network
EXECUTION
RESOURCES
FRAME BUFFER
13 | GDC 2014 | MARCH 19, 2014
AMD RAPIDFIRE TECHNOLOGY
CLIENT SIDE DATA FLOW
Client
Radeon GPU
NETWORK
DECODE
 Game client receives H264
stream from the server
using RTSP protocol
FRAME BUFFER
GAME CLIENT
DECODE AUDIO
Audio device
UI
Input
devices
14 | GDC 2014 | MARCH 19, 2014
AMD RAPIDFIRE TECHNOLOGY
CLIENT SIDE DATA FLOW
Client
AMD GPU
NETWORK
H264 DECODE
 Game client receives H264
stream from the server
using RTSP protocol
 The client sends the stream
to AMD GPU which
performs H264 hardware
decoding to the frame
buffer
FRAME BUFFER
GAME CLIENT
DECODE
Audio device
UI
Input
devices
15 | GDC 2014 | MARCH 19, 2014
AMD RAPIDFIRE TECHNOLOGY
CLIENT SIDE DATA FLOW
Client
Radeon GPU
NETWORK
DECODE
 Game client receives H264
stream from the server
using RTSP protocol
 The client sends the stream
to Radeon GPU which
performs H264 hardware
decoding to the frame
buffer
 Sound stream is decoded
using software audio codec
and sent to audio hardware
FRAME BUFFER
GAME CLIENT
DECODE AUDIO
Audio device
UI
Input
devices
16 | GDC 2014 | MARCH 19, 2014
AMD RAPIDFIRE TECHNOLOGY
CLIENT SIDE DATA FLOW
Client
Radeon GPU
NETWORK
DECODE
 Game client receives H264
stream from the server
using RTSP protocol
 The client sends the stream
to Radeon GPU which
performs H264 hardware
decoding to the frame
buffer
 Sound stream is decoded
using software audio codec
and sent to audio hardware
 UI events are collected by
the client and sent over the
network to the server
FRAME BUFFER
GAME CLIENT
DECODE AUDIO
Audio device
UI
Input
devices
17 | GDC 2014 | MARCH 19, 2014
AMD RAPIDFIRE API
 Server component
The server component provides functions for the:
‒ Encoding of video and audio data
‒ Color space conversion
‒ Capturing of the desktop
‒ Handling of multiple render targets
‒ Interoperability with OpenGL, D3D9 and D3D11
 Client component
The client component provides functions for:
‒ Decoding of video and audio streams
‒ Color space conversion
‒ Interoperability with OpenGL, D3D9 and D3D11
COMPONENTS
 Network component
The Network component is a sample implementation
of video and audio streaming based on the LIVE555
Media Server.
 User Interface component
The UI component provide functions to:
‒ Capture user events on the client
‒ Send the events to the server for processing
18 | GDC 2014 | MARCH 19, 2014
AMD RAPIDFIRE API
THE SERVER COMPONENT
Create RenderTarget
rfCreateEncodeSession
rfCreateEncoder
rfRegisterRenderTarget
Initialization Render Loop
rfGetEncodedFrame
rfEncodeFrame
Draw to free
RenderTarget
rfRtspServerSendFrame
Done?
19 | GDC 2014 | MARCH 19, 2014
AMD RAPIDFIRE API
 rfCreateEncodeSession
‒ Creates an encoding session on the server. The sessions encapsulates the following
components:
‒ Rendering context/device
‒ Compute context that is used for the color space conversion
‒ Render targets
‒ Desktop
‒ The encoder: SW, VCE or IDENTITY
‒ The following session types are supported
‒ OpenGL
‒ DX9 / DX9Ex
‒ DX11
‒ Desktop capturing
THE SERVER COMPONENT
Create RenderTarget
rfCreateEncodeSession
rfCreateEncoder
rfRegisterRenderTarget
Initialization
20 | GDC 2014 | MARCH 19, 2014
AMD RAPIDFIRE API
THE SERVER COMPONENT
Create RenderTarget
rfCreateEncodeSession
rfCreateEncoder
rfRegisterRenderTarget
Initialization  rfCreateEncodeSession
‒ Creating an OpenGL session that uses the VCE HW encoding
 rfRegisterRenderTargt
‒ Input: Name of the OpenGL Texture, dimension of the texture
‒ Output: The index used by RF to identify this render target
RFProperties props[] = { RF_GL_GRAPHICS_CTX, (RFProperties)hGLRC,
RF_GL_DEVICE_CTX, (RFProperties)hDC,
RF_ENCODER, (RFProperties)RF_VCE,
0 };
// Create RapidFire encoding session
RFEncodeSession session = rfCreateEncodeSession(props);
for (unsigned int i = 0; i < NUM_RENDER_TARGETS; i++)
{
rfRegisterRenderTarget(session, RF_RT_GL_TEXTURE, uiTexName[i], uiWidth, uiHeight, &renderTargetIdx[i]));
}
21 | GDC 2014 | MARCH 19, 2014
AMD RAPIDFIRE API
THE SERVER COMPONENT
Create RenderTarget
rfCreateEncodeSession
rfCreateEncoder
rfRegisterRenderTarget
Initialization  rfCreateEncoder
‒ Creating an Encoder using a preset configuration
‒ The following presets are supported:
‒ RF_ENCODE_FAST
‒ RF_ENCODE_BALANCED
‒ RF_ENCODE_QUALITY
 rfCreateEncoder2
‒ Creating an encoder using properties
rfCreateEncoder(session, uiWidth, uiHeight, RF_ENCODE_FAST)
// Create encoder using properties
RFProperties props[] = { RF_ENCODER_PROFILE, (RFProperties)RF_MAIN,
RF_ENCODER_LEVEL, (RFProperties)41,
RF_ENCODER_BITRATE, (RFProperties)6000000,
RF_ENCODER_FPS, (RFProperties)30,
0 };
rfCreateEncoder2(session, uiWidth, uiHeight, props));
22 | GDC 2014 | MARCH 19, 2014
AMD RAPIDFIRE API
THE SERVER COMPONENT
Render Loop  rfEncodeFrame
‒ Non-blocking call to submit a frame for encoding
 rfGetEncodedFrame
‒ Check first if a frame is ready
‒ If a frame is available get the data to system memory
‒ Send the frame over the network to the client
rfGetEncodedFrame
rfEncodeFrame
Draw to free
RenderTarget
rfRtspServerSendFrame
Done?
rfEncodeFrame(session, renderTargetIdx[uiCurrentRT]));
// Check if encoded frame is ready
if (rfIsEncodedFrameReady(session))
{
if (rfGetEncodedFrame(session, &uiBitStreamSize, (void**)&pBitStreamdata) == RF_STATUS_OK)
{
if (uiBitStreamSize > 0)
{
// Send encoded frame to Network
rtspStatus = rfRtspServerSendFrame(rtsp_sn, pBitStreamdata, uiBitStreamSize, tv.tv_sec, tv.tv_usec, 1);
}
}
}
23 | GDC 2014 | MARCH 19, 2014
AMD RAPIDFIRE API
THE CLIENT COMPONENT
Create Target Textures
rfCreateDecodeSession
rfCreateVideoDecoder
rfRegisterTargetTexture
Initialization Render Loop
Display frame using
Target Texture
rfDecodeFrame
Wait to receive frame
Done?
24 | GDC 2014 | MARCH 19, 2014
AMD RAPIDFIRE API
THE CLIENT COMPONENT
Create Target Textures
rfCreateDecodeSession
rfCreateVideoDecoder
rfRegisterTargetTexture
Initialization  rfCreateDecodeSession
‒ Creates a decoding session on the client. The sessions encapsulates the following
components:
‒ Rendering context/device
‒ Compute context that is used for the color space conversion
‒ Target Textures
‒ Decoder: SW or UVD
‒ The following session are supported
‒ OpenGL
‒ DX9 / DX11
25 | GDC 2014 | MARCH 19, 2014
AMD RAPIDFIRE API
THE CLIENT COMPONENT
Create Target Textures
rfCreateDecodeSession
rfCreateVideoDecoder
rfRegisterTargetTexture
Initialization  rfCreateDecodeSession
‒ Creates an OpenGL session that uses the UVD decoder
 rfRegisterTargetTexture
‒ Registers an OpenGL texture
‒ The texture will be used to store the decoded frame
RFProperties props[] = { RF_GL_GRAPHICS_CTX, (RFProperties)hGLRC,
RF_GL_DEVICE_CTX, (RFProperties)hDC,
RF_DECODER, (RFProperties)RF_UVD,
0 };
// Create RapidFire decoding session
RFDecSession session = rfCreateDecodeSession(props);
rfRegisterTargetTexture(session, uiTextureName);
26 | GDC 2014 | MARCH 19, 2014
AMD RAPIDFIRE API
THE CLIENT COMPONENT
Create Target Textures
rfCreateDecodeSession
rfCreateVideoDecoder
rfRegisterTargetTexture
Initialization  rfCreateVideoDecoder
‒ Create the actual decoder
rfCreateVideoDecoder(session, uiWidth, uiHeight);
27 | GDC 2014 | MARCH 19, 2014
AMD RAPIDFIRE API
THE CLIENT COMPONENT
 rfDecodeFrame
‒ Decodes a frame
‒ The decoded frame is stored in the registered texture
‒ Now the application can use the texture to display the frame
rfDecodeFrame(session);
Render Loop
Display frame using
Target Texture
rfDecodeFrame
Wait to receive frame
Done?
28 | GDC 2014 | MARCH 19, 2014
AMD RAPIDFIRE API
 We have taken a brief look at the API
‒ Detailed API specifications, sample code available in the SDK
‒ Illustrates how to implement alternative encode/decode/network/etc. for non-AMD platforms
 Are developers currently using the API?
‒ Yes, lets take a look at some implementations…
Swiich solution
by Eureva
Philippe Martineau – philippe.martineau@eureva.fr
30 | GDC 2014 | MARCH 19, 2014
WHY CLOUD GAMING ?
31 | GDC 2014 | MARCH 19, 2014
RAPIDFIRE & SWIICH : ULTRA-LOW LATENCY SOLUTION
Make videogames accessible from the cloud on all screens
Current implementation: virtualization of any DirectX 9, 11 or OpenGL application
32 | GDC 2014 | MARCH 19, 2014
SWIICH DEMO
 Crisis 3 – virtualized & streamed real-time
‒AMD FirePro Graphics
‒Crisis 3 integration without any modification : "zero touch"
‒Seamless game execution & AMF encoding on AMD FirePro
‒720p image
‒Bandwidth compatible with existing networks (<5Mbps)
‒Client: any video-capable terminal
‒Very low latency
33 | GDC 2014 | MARCH 19, 2014
PERFORMANCE ACHIEVEMENTS
 AMD FirePro Graphics
 3D application running & encoding
‒ 40-60 frames per second
 Image encoding and capture : 8 to 16ms
 Image decoding on low-end hardware < 16ms
 Image display on low-end hardware < 16ms
 Overall LAN roundtrip: ~ 40ms (Joystick input from Client to Server ; Image capture, compression
streaming and display)
 Full WAN roundtrip latency: ~100ms on real internet networks
34 | GDC 2014 | MARCH 19, 2014
CLOUD-GAMING USE-CASES
Cloud-based streaming
 Streaming 3D apps from the Cloud, and transitioning from a licensing model to SaaS
 Instant 3D software demos from the Cloud
‒ Explore software potential, with no client download ; graphic card requirements are provided by the cloud
 Embed in-game video-advertising
 Built-in multiple screen sharing for gaming events or simply to watch your friends on the cloud
 Game developments with graphics provisioned on-demand from servers
Point-to-point streaming
 Graphic card to device streaming for gaming scenarios
‒ basic game-screen sharing on remote device: tablet, phone…
‒ SDK to access in-game streamed content (i.e. specific gameplay on a cell-phone or tablet)
Ultra-high definition interactive screens for gaming events (4k and beyond images)
Streaming: Whenever pixels are on networks...
 Alexander Nataros, CEO
36 | GDC 2014 | MARCH 19, 2014
LEAP COMPUTING, INC. – CLOUD GRAPHICS ACCELERATION
The Importance of RapidFire, and What Counts for LEAP
 Low Latency Frame Grab
 Low Latency Encoding
 1080p & 720p Support at 30 or 60 FPS
 Support for all major mobile client platforms
 Low CPU demand due to OpenCL and Rapidfire
 AAA Gaming Titles Supported, All Genres
 Incredible User Density per GPU
LEAP DIRECT GAME PLATFORM – CLOUD GAMING WITH RAPIDFIRE
37 | GDC 2014 | MARCH 19, 2014
LEAP COMPUTING, INC. – CLOUD GRAPHICS ACCELERATION
The Direct-Game Engine
 No development cycle for Game Developers
 Efficient Operations for integrating new game content
 DX11, DX9, OpenGL, and Mantle Fully Supported
 Automated game deployment and density management
 Software redundancy to ensure smooth gameplay
 Fast, efficient encoders and decoders for streaming
 Intelligent, scaling encoders that only do what’s needed
 Radeon Sky complete line fully supported
 99.999% System Uptime
 Deployable TODAY
LEAP DIRECT GAME PLATFORM – CLOUD GAMING WITH RAPIDFIRE
38 | GDC 2014 | MARCH 19, 2014
LEAP COMPUTING, INC. – CLOUD GRAPHICS ACCELERATION
RapidFire and OpenCL – Density and Efficiency
 <1mbps for 720p
 <2mbps for 1080p
 <20ms “Preflight” encoding
 Encode frames without Leaving GPU via VCE and OpenCL
 Stream only what’s needed
LEAP DIRECT GAME PLATFORM – CLOUD GAMING WITH RAPIDFIRE
Render Virtualized
Frame (Direct-Game)
Rapidfire Frame
Grab
Leap Encode
Engine
Stream Encoded
frame via Rapidfire
39 | GDC 2014 | MARCH 19, 2014
LEAP COMPUTING, INC. – CLOUD GRAPHICS ACCELERATION
GPU Density, Radeon Sky, and what’s important.
LEAP DIRECT GAME PLATFORM – CLOUD GAMING WITH RAPIDFIRE
 Traditional Encoding
VCE
VCE
VCE
VCE
VCE
VCE
GAME GAME
GAME
GAME GAME
GAME
 Encode
IDLE
40 | GDC 2014 | MARCH 19, 2014
LEAP COMPUTING, INC. – CLOUD GRAPHICS ACCELERATION
GPU Density, Radeon Sky, and what’s important.
LEAP DIRECT GAME PLATFORM – CLOUD GAMING WITH RAPIDFIRE
 Elastic Encoding
VCE
VCE
VCE
VCE
VCE
VCE
GAME
OpenCL
OpenCL
OpenCL
OpenCL
OpenCL
GAME GAME
GAME GAME GAME
GAME
GAME
GAME
GAME
GAME
 Free Encode
 Purchased Encode
41 | GDC 2014 | MARCH 19, 2014
LEAP COMPUTING, INC. – CLOUD GRAPHICS ACCELERATION
GPU Density, Radeon Sky, and what’s important.
LEAP DIRECT GAME PLATFORM – CLOUD GAMING WITH RAPIDFIRE
 Rapidfire standardizes cloud gaming industry expectations
 AMD Radeon Sky allows for many concurrent instances of advanced gaming and efficient encoding
 Consistent hardware and software sources ensure quality and performance in deployments
 RapidFire provides quick, easy integration to powerful tools for cloud integration
LIVE DEMOS AT AMD BOOTH 1024!
LeapComputing.com
42 | GDC 2014 | MARCH 19, 2014
CONCLUSION
 RapidFire provides a cross platform framework for cloud gaming
‒ Already being used by 3rd parties to implement remoting solutions
 Stop by the AMD booth 1024 in the expo to see these solutions
 If you would like to get access or more information on RapidFire technology, email requests to
FirePro.Developers@amd.com
43 | GDC 2014 | MARCH 19, 2014
DISCLAIMER & ATTRIBUTION
The information presented in this document is for informational purposes only and may contain technical inaccuracies, omissions and typographical errors.
The information contained herein is subject to change and may be rendered inaccurate for many reasons, including but not limited to product and roadmap
changes, component and motherboard version changes, new model and/or product releases, product differences between differing manufacturers, software
changes, BIOS flashes, firmware upgrades, or the like. AMD assumes no obligation to update or otherwise correct or revise this information. However, AMD
reserves the right to revise this information and to make changes from time to time to the content hereof without obligation of AMD to notify any person of
such revisions or changes.
AMD MAKES NO REPRESENTATIONS OR WARRANTIES WITH RESPECT TO THE CONTENTS HEREOF AND ASSUMES NO RESPONSIBILITY FOR ANY
INACCURACIES, ERRORS OR OMISSIONS THAT MAY APPEAR IN THIS INFORMATION.
AMD SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE. IN NO EVENT WILL AMD BE
LIABLE TO ANY PERSON FOR ANY DIRECT, INDIRECT, SPECIAL OR OTHER CONSEQUENTIAL DAMAGES ARISING FROM THE USE OF ANY INFORMATION
CONTAINED HEREIN, EVEN IF AMD IS EXPRESSLY ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
ATTRIBUTION
© 2013 Advanced Micro Devices, Inc. All rights reserved. AMD, the AMD Arrow logo and combinations thereof are trademarks of Advanced Micro Devices,
Inc. in the United States and/or other jurisdictions. Other names are for informational purposes only and may be trademarks of their respective owners.

Más contenido relacionado

La actualidad más candente

Rendering Battlefield 4 with Mantle by Yuriy ODonnell
Rendering Battlefield 4 with Mantle by Yuriy ODonnellRendering Battlefield 4 with Mantle by Yuriy ODonnell
Rendering Battlefield 4 with Mantle by Yuriy ODonnellAMD Developer Central
 
GS-4136, Optimizing Game Development using AMD’s GPU PerfStudio 2, by Gordon ...
GS-4136, Optimizing Game Development using AMD’s GPU PerfStudio 2, by Gordon ...GS-4136, Optimizing Game Development using AMD’s GPU PerfStudio 2, by Gordon ...
GS-4136, Optimizing Game Development using AMD’s GPU PerfStudio 2, by Gordon ...AMD Developer Central
 
Keynote (Phil Rogers) - The Programmers Guide to Reaching for the Cloud - by ...
Keynote (Phil Rogers) - The Programmers Guide to Reaching for the Cloud - by ...Keynote (Phil Rogers) - The Programmers Guide to Reaching for the Cloud - by ...
Keynote (Phil Rogers) - The Programmers Guide to Reaching for the Cloud - by ...AMD Developer Central
 
Streamed Cloud Gaming Solutions for Android* and PC Games
Streamed Cloud Gaming Solutions for Android* and PC GamesStreamed Cloud Gaming Solutions for Android* and PC Games
Streamed Cloud Gaming Solutions for Android* and PC GamesIntel® Software
 
Crossing platforms: bringing call of duty to mobile – Unite Copenhagen 2019
Crossing platforms: bringing call of duty to mobile – Unite Copenhagen 2019Crossing platforms: bringing call of duty to mobile – Unite Copenhagen 2019
Crossing platforms: bringing call of duty to mobile – Unite Copenhagen 2019Unity Technologies
 
GS-4151, Developing Thief with new AMD technology, by Jurjen Katsman
GS-4151, Developing Thief with new AMD technology, by Jurjen KatsmanGS-4151, Developing Thief with new AMD technology, by Jurjen Katsman
GS-4151, Developing Thief with new AMD technology, by Jurjen KatsmanAMD Developer Central
 
CC-4006, Deliver Hardware Accelerated Applications Using RemoteFX vGPU with W...
CC-4006, Deliver Hardware Accelerated Applications Using RemoteFX vGPU with W...CC-4006, Deliver Hardware Accelerated Applications Using RemoteFX vGPU with W...
CC-4006, Deliver Hardware Accelerated Applications Using RemoteFX vGPU with W...AMD Developer Central
 
Computer Vision Powered by Heterogeneous System Architecture (HSA) by Dr. Ha...
Computer Vision Powered by Heterogeneous System Architecture (HSA) by  Dr. Ha...Computer Vision Powered by Heterogeneous System Architecture (HSA) by  Dr. Ha...
Computer Vision Powered by Heterogeneous System Architecture (HSA) by Dr. Ha...AMD Developer Central
 
An Introduction to OpenCL™ Programming with AMD GPUs - AMD & Acceleware Webinar
An Introduction to OpenCL™ Programming with AMD GPUs - AMD & Acceleware WebinarAn Introduction to OpenCL™ Programming with AMD GPUs - AMD & Acceleware Webinar
An Introduction to OpenCL™ Programming with AMD GPUs - AMD & Acceleware WebinarAMD Developer Central
 
Rendering Battlefield 4 with Mantle by Johan Andersson - AMD at GDC14
Rendering Battlefield 4 with Mantle by Johan Andersson - AMD at GDC14Rendering Battlefield 4 with Mantle by Johan Andersson - AMD at GDC14
Rendering Battlefield 4 with Mantle by Johan Andersson - AMD at GDC14AMD Developer Central
 
Direct3D12 and the Future of Graphics APIs by Dave Oldcorn
Direct3D12 and the Future of Graphics APIs by Dave OldcornDirect3D12 and the Future of Graphics APIs by Dave Oldcorn
Direct3D12 and the Future of Graphics APIs by Dave OldcornAMD Developer Central
 
HC-4020, Enhancing OpenCL performance in AfterShot Pro with HSA, by Michael W...
HC-4020, Enhancing OpenCL performance in AfterShot Pro with HSA, by Michael W...HC-4020, Enhancing OpenCL performance in AfterShot Pro with HSA, by Michael W...
HC-4020, Enhancing OpenCL performance in AfterShot Pro with HSA, by Michael W...AMD Developer Central
 
XPDDS18: CPUFreq in Xen on ARM - Oleksandr Tyshchenko, EPAM Systems
XPDDS18: CPUFreq in Xen on ARM - Oleksandr Tyshchenko, EPAM SystemsXPDDS18: CPUFreq in Xen on ARM - Oleksandr Tyshchenko, EPAM Systems
XPDDS18: CPUFreq in Xen on ARM - Oleksandr Tyshchenko, EPAM SystemsThe Linux Foundation
 
XPDS13: Zero-copy display of guest framebuffers using GEM - John Baboval, Citrix
XPDS13: Zero-copy display of guest framebuffers using GEM - John Baboval, CitrixXPDS13: Zero-copy display of guest framebuffers using GEM - John Baboval, Citrix
XPDS13: Zero-copy display of guest framebuffers using GEM - John Baboval, CitrixThe Linux Foundation
 
Add sale davinci
Add sale davinciAdd sale davinci
Add sale davinciAkash Sahoo
 
IS-4081, Rabbit: Reinventing Video Chat, by Philippe Clavel
IS-4081, Rabbit: Reinventing Video Chat, by Philippe ClavelIS-4081, Rabbit: Reinventing Video Chat, by Philippe Clavel
IS-4081, Rabbit: Reinventing Video Chat, by Philippe ClavelAMD Developer Central
 
Create a Scalable and Destructible World in HITMAN 2*
Create a Scalable and Destructible World in HITMAN 2*Create a Scalable and Destructible World in HITMAN 2*
Create a Scalable and Destructible World in HITMAN 2*Intel® Software
 
XPDS16: Display Handler, a Client Display Framework for Xen - Brendan Kerrig...
XPDS16:  Display Handler, a Client Display Framework for Xen - Brendan Kerrig...XPDS16:  Display Handler, a Client Display Framework for Xen - Brendan Kerrig...
XPDS16: Display Handler, a Client Display Framework for Xen - Brendan Kerrig...The Linux Foundation
 

La actualidad más candente (20)

Rendering Battlefield 4 with Mantle by Yuriy ODonnell
Rendering Battlefield 4 with Mantle by Yuriy ODonnellRendering Battlefield 4 with Mantle by Yuriy ODonnell
Rendering Battlefield 4 with Mantle by Yuriy ODonnell
 
GS-4136, Optimizing Game Development using AMD’s GPU PerfStudio 2, by Gordon ...
GS-4136, Optimizing Game Development using AMD’s GPU PerfStudio 2, by Gordon ...GS-4136, Optimizing Game Development using AMD’s GPU PerfStudio 2, by Gordon ...
GS-4136, Optimizing Game Development using AMD’s GPU PerfStudio 2, by Gordon ...
 
Keynote (Phil Rogers) - The Programmers Guide to Reaching for the Cloud - by ...
Keynote (Phil Rogers) - The Programmers Guide to Reaching for the Cloud - by ...Keynote (Phil Rogers) - The Programmers Guide to Reaching for the Cloud - by ...
Keynote (Phil Rogers) - The Programmers Guide to Reaching for the Cloud - by ...
 
Streamed Cloud Gaming Solutions for Android* and PC Games
Streamed Cloud Gaming Solutions for Android* and PC GamesStreamed Cloud Gaming Solutions for Android* and PC Games
Streamed Cloud Gaming Solutions for Android* and PC Games
 
Crossing platforms: bringing call of duty to mobile – Unite Copenhagen 2019
Crossing platforms: bringing call of duty to mobile – Unite Copenhagen 2019Crossing platforms: bringing call of duty to mobile – Unite Copenhagen 2019
Crossing platforms: bringing call of duty to mobile – Unite Copenhagen 2019
 
GS-4151, Developing Thief with new AMD technology, by Jurjen Katsman
GS-4151, Developing Thief with new AMD technology, by Jurjen KatsmanGS-4151, Developing Thief with new AMD technology, by Jurjen Katsman
GS-4151, Developing Thief with new AMD technology, by Jurjen Katsman
 
CC-4006, Deliver Hardware Accelerated Applications Using RemoteFX vGPU with W...
CC-4006, Deliver Hardware Accelerated Applications Using RemoteFX vGPU with W...CC-4006, Deliver Hardware Accelerated Applications Using RemoteFX vGPU with W...
CC-4006, Deliver Hardware Accelerated Applications Using RemoteFX vGPU with W...
 
Computer Vision Powered by Heterogeneous System Architecture (HSA) by Dr. Ha...
Computer Vision Powered by Heterogeneous System Architecture (HSA) by  Dr. Ha...Computer Vision Powered by Heterogeneous System Architecture (HSA) by  Dr. Ha...
Computer Vision Powered by Heterogeneous System Architecture (HSA) by Dr. Ha...
 
An Introduction to OpenCL™ Programming with AMD GPUs - AMD & Acceleware Webinar
An Introduction to OpenCL™ Programming with AMD GPUs - AMD & Acceleware WebinarAn Introduction to OpenCL™ Programming with AMD GPUs - AMD & Acceleware Webinar
An Introduction to OpenCL™ Programming with AMD GPUs - AMD & Acceleware Webinar
 
Rendering Battlefield 4 with Mantle by Johan Andersson - AMD at GDC14
Rendering Battlefield 4 with Mantle by Johan Andersson - AMD at GDC14Rendering Battlefield 4 with Mantle by Johan Andersson - AMD at GDC14
Rendering Battlefield 4 with Mantle by Johan Andersson - AMD at GDC14
 
Direct3D12 and the Future of Graphics APIs by Dave Oldcorn
Direct3D12 and the Future of Graphics APIs by Dave OldcornDirect3D12 and the Future of Graphics APIs by Dave Oldcorn
Direct3D12 and the Future of Graphics APIs by Dave Oldcorn
 
HC-4020, Enhancing OpenCL performance in AfterShot Pro with HSA, by Michael W...
HC-4020, Enhancing OpenCL performance in AfterShot Pro with HSA, by Michael W...HC-4020, Enhancing OpenCL performance in AfterShot Pro with HSA, by Michael W...
HC-4020, Enhancing OpenCL performance in AfterShot Pro with HSA, by Michael W...
 
Masked Occlusion Culling
Masked Occlusion CullingMasked Occlusion Culling
Masked Occlusion Culling
 
XPDDS18: CPUFreq in Xen on ARM - Oleksandr Tyshchenko, EPAM Systems
XPDDS18: CPUFreq in Xen on ARM - Oleksandr Tyshchenko, EPAM SystemsXPDDS18: CPUFreq in Xen on ARM - Oleksandr Tyshchenko, EPAM Systems
XPDDS18: CPUFreq in Xen on ARM - Oleksandr Tyshchenko, EPAM Systems
 
XPDS13: Zero-copy display of guest framebuffers using GEM - John Baboval, Citrix
XPDS13: Zero-copy display of guest framebuffers using GEM - John Baboval, CitrixXPDS13: Zero-copy display of guest framebuffers using GEM - John Baboval, Citrix
XPDS13: Zero-copy display of guest framebuffers using GEM - John Baboval, Citrix
 
Add sale davinci
Add sale davinciAdd sale davinci
Add sale davinci
 
IS-4081, Rabbit: Reinventing Video Chat, by Philippe Clavel
IS-4081, Rabbit: Reinventing Video Chat, by Philippe ClavelIS-4081, Rabbit: Reinventing Video Chat, by Philippe Clavel
IS-4081, Rabbit: Reinventing Video Chat, by Philippe Clavel
 
Create a Scalable and Destructible World in HITMAN 2*
Create a Scalable and Destructible World in HITMAN 2*Create a Scalable and Destructible World in HITMAN 2*
Create a Scalable and Destructible World in HITMAN 2*
 
XPDS16: Display Handler, a Client Display Framework for Xen - Brendan Kerrig...
XPDS16:  Display Handler, a Client Display Framework for Xen - Brendan Kerrig...XPDS16:  Display Handler, a Client Display Framework for Xen - Brendan Kerrig...
XPDS16: Display Handler, a Client Display Framework for Xen - Brendan Kerrig...
 
Media SDK Webinar 2014
Media SDK Webinar 2014Media SDK Webinar 2014
Media SDK Webinar 2014
 

Destacado

AMD 2014 Mobility APU Lineup Announcement
AMD 2014 Mobility APU Lineup AnnouncementAMD 2014 Mobility APU Lineup Announcement
AMD 2014 Mobility APU Lineup AnnouncementAMD
 
Apu14 beijing final for show english press
Apu14 beijing final for show english pressApu14 beijing final for show english press
Apu14 beijing final for show english pressLow Hong Chuan
 
Wps104 direct x 12 a new meaning for efficiency and performance (presented ...
Wps104   direct x 12 a new meaning for efficiency and performance (presented ...Wps104   direct x 12 a new meaning for efficiency and performance (presented ...
Wps104 direct x 12 a new meaning for efficiency and performance (presented ...Jose Fajardo
 
Progress Toward Topical Therapy of AMD
Progress Toward Topical Therapy of AMDProgress Toward Topical Therapy of AMD
Progress Toward Topical Therapy of AMDRick Trevino
 
Radeon Software Crimson ReLive
Radeon Software Crimson ReLive Radeon Software Crimson ReLive
Radeon Software Crimson ReLive Low Hong Chuan
 
AMD Hot Chips Bulldozer & Bobcat Presentation
AMD Hot Chips Bulldozer & Bobcat PresentationAMD Hot Chips Bulldozer & Bobcat Presentation
AMD Hot Chips Bulldozer & Bobcat PresentationAMD
 
Age Related Macular Degeneration
Age Related Macular DegenerationAge Related Macular Degeneration
Age Related Macular DegenerationJody Abrams
 
Heterogeneous Systems Architecture: The Next Area of Computing Innovation
Heterogeneous Systems Architecture: The Next Area of Computing Innovation Heterogeneous Systems Architecture: The Next Area of Computing Innovation
Heterogeneous Systems Architecture: The Next Area of Computing Innovation AMD
 
NUMA Performance Considerations in VMware vSphere
NUMA Performance Considerations in VMware vSphereNUMA Performance Considerations in VMware vSphere
NUMA Performance Considerations in VMware vSphereAMD
 
Intel processor trace - What are Recorded?
Intel processor trace - What are Recorded?Intel processor trace - What are Recorded?
Intel processor trace - What are Recorded?Pipat Methavanitpong
 
Whats New in AMD - 2015
Whats New in AMD - 2015Whats New in AMD - 2015
Whats New in AMD - 2015Rick Trevino
 
Amd Ryzen December 2016 Update
Amd Ryzen December 2016 Update Amd Ryzen December 2016 Update
Amd Ryzen December 2016 Update Low Hong Chuan
 
Open compute technology
Open compute technologyOpen compute technology
Open compute technologyAMD
 
AMD Analyst Day 2009: Rick Bergman
AMD Analyst Day 2009: Rick BergmanAMD Analyst Day 2009: Rick Bergman
AMD Analyst Day 2009: Rick BergmanAMD
 
AMD CFO Commentary slides 14Q4
AMD CFO Commentary slides 14Q4AMD CFO Commentary slides 14Q4
AMD CFO Commentary slides 14Q4Low Hong Chuan
 
AMD Mainstream Desktop Platform Media Presentations
AMD Mainstream Desktop Platform Media PresentationsAMD Mainstream Desktop Platform Media Presentations
AMD Mainstream Desktop Platform Media PresentationsBite Communications
 
"AMD - Phenom - O Verdadeiro Processamento Com 4 Núcleos"
"AMD - Phenom - O Verdadeiro Processamento Com 4 Núcleos""AMD - Phenom - O Verdadeiro Processamento Com 4 Núcleos"
"AMD - Phenom - O Verdadeiro Processamento Com 4 Núcleos"Fabrício Pinheiro
 
ATi Radeon - O poder da computação visual para tirar o máximo do seu computador.
ATi Radeon - O poder da computação visual para tirar o máximo do seu computador.ATi Radeon - O poder da computação visual para tirar o máximo do seu computador.
ATi Radeon - O poder da computação visual para tirar o máximo do seu computador.Fabrício Pinheiro
 
AtualizaçãO Desktops Mobile Para Consumer
AtualizaçãO Desktops Mobile Para ConsumerAtualizaçãO Desktops Mobile Para Consumer
AtualizaçãO Desktops Mobile Para ConsumerRoberto Brandao
 

Destacado (20)

AMD 2014 Mobility APU Lineup Announcement
AMD 2014 Mobility APU Lineup AnnouncementAMD 2014 Mobility APU Lineup Announcement
AMD 2014 Mobility APU Lineup Announcement
 
Apu14 beijing final for show english press
Apu14 beijing final for show english pressApu14 beijing final for show english press
Apu14 beijing final for show english press
 
Wps104 direct x 12 a new meaning for efficiency and performance (presented ...
Wps104   direct x 12 a new meaning for efficiency and performance (presented ...Wps104   direct x 12 a new meaning for efficiency and performance (presented ...
Wps104 direct x 12 a new meaning for efficiency and performance (presented ...
 
Progress Toward Topical Therapy of AMD
Progress Toward Topical Therapy of AMDProgress Toward Topical Therapy of AMD
Progress Toward Topical Therapy of AMD
 
Radeon Software Crimson ReLive
Radeon Software Crimson ReLive Radeon Software Crimson ReLive
Radeon Software Crimson ReLive
 
AMD Hot Chips Bulldozer & Bobcat Presentation
AMD Hot Chips Bulldozer & Bobcat PresentationAMD Hot Chips Bulldozer & Bobcat Presentation
AMD Hot Chips Bulldozer & Bobcat Presentation
 
Age Related Macular Degeneration
Age Related Macular DegenerationAge Related Macular Degeneration
Age Related Macular Degeneration
 
Heterogeneous Systems Architecture: The Next Area of Computing Innovation
Heterogeneous Systems Architecture: The Next Area of Computing Innovation Heterogeneous Systems Architecture: The Next Area of Computing Innovation
Heterogeneous Systems Architecture: The Next Area of Computing Innovation
 
NUMA Performance Considerations in VMware vSphere
NUMA Performance Considerations in VMware vSphereNUMA Performance Considerations in VMware vSphere
NUMA Performance Considerations in VMware vSphere
 
Intel processor trace - What are Recorded?
Intel processor trace - What are Recorded?Intel processor trace - What are Recorded?
Intel processor trace - What are Recorded?
 
Whats New in AMD - 2015
Whats New in AMD - 2015Whats New in AMD - 2015
Whats New in AMD - 2015
 
Amd Ryzen December 2016 Update
Amd Ryzen December 2016 Update Amd Ryzen December 2016 Update
Amd Ryzen December 2016 Update
 
Open compute technology
Open compute technologyOpen compute technology
Open compute technology
 
AMD Analyst Day 2009: Rick Bergman
AMD Analyst Day 2009: Rick BergmanAMD Analyst Day 2009: Rick Bergman
AMD Analyst Day 2009: Rick Bergman
 
AMD CFO Commentary slides 14Q4
AMD CFO Commentary slides 14Q4AMD CFO Commentary slides 14Q4
AMD CFO Commentary slides 14Q4
 
AMD Mainstream Desktop Platform Media Presentations
AMD Mainstream Desktop Platform Media PresentationsAMD Mainstream Desktop Platform Media Presentations
AMD Mainstream Desktop Platform Media Presentations
 
"AMD - Phenom - O Verdadeiro Processamento Com 4 Núcleos"
"AMD - Phenom - O Verdadeiro Processamento Com 4 Núcleos""AMD - Phenom - O Verdadeiro Processamento Com 4 Núcleos"
"AMD - Phenom - O Verdadeiro Processamento Com 4 Núcleos"
 
ATi Radeon - O poder da computação visual para tirar o máximo do seu computador.
ATi Radeon - O poder da computação visual para tirar o máximo do seu computador.ATi Radeon - O poder da computação visual para tirar o máximo do seu computador.
ATi Radeon - O poder da computação visual para tirar o máximo do seu computador.
 
AtualizaçãO Desktops Mobile Para Consumer
AtualizaçãO Desktops Mobile Para ConsumerAtualizaçãO Desktops Mobile Para Consumer
AtualizaçãO Desktops Mobile Para Consumer
 
Chipset 780
Chipset 780Chipset 780
Chipset 780
 

Similar a Low Latency Cloud Gaming

GS-4139, RapidFire for Cloud Gaming, by Dmitry Kozlov
GS-4139, RapidFire for Cloud Gaming, by Dmitry KozlovGS-4139, RapidFire for Cloud Gaming, by Dmitry Kozlov
GS-4139, RapidFire for Cloud Gaming, by Dmitry KozlovAMD Developer Central
 
PG-4039, RapidFire API, by Dmitry Kozlov
PG-4039, RapidFire API, by Dmitry KozlovPG-4039, RapidFire API, by Dmitry Kozlov
PG-4039, RapidFire API, by Dmitry KozlovAMD Developer Central
 
RemoteFX - Rich End User Experience for VDI and Remote Desktops
RemoteFX - Rich End User Experience for VDI and Remote DesktopsRemoteFX - Rich End User Experience for VDI and Remote Desktops
RemoteFX - Rich End User Experience for VDI and Remote DesktopsAmit Gatenyo
 
Direct3D and the Future of Graphics APIs - AMD at GDC14
Direct3D and the Future of Graphics APIs - AMD at GDC14Direct3D and the Future of Graphics APIs - AMD at GDC14
Direct3D and the Future of Graphics APIs - AMD at GDC14AMD Developer Central
 
Mantle - Introducing a new API for Graphics - AMD at GDC14
Mantle - Introducing a new API for Graphics - AMD at GDC14Mantle - Introducing a new API for Graphics - AMD at GDC14
Mantle - Introducing a new API for Graphics - AMD at GDC14AMD Developer Central
 
全面保護企業的關鍵智慧資產
全面保護企業的關鍵智慧資產全面保護企業的關鍵智慧資產
全面保護企業的關鍵智慧資產NVIDIA Taiwan
 
Upgrade Your Broadcast System to PCIe Gen2
Upgrade Your Broadcast System to PCIe Gen2Upgrade Your Broadcast System to PCIe Gen2
Upgrade Your Broadcast System to PCIe Gen2Altera Corporation
 
6WINDGate™ - Powering the New Generation of Network Appliances
6WINDGate™ - Powering the New Generation of Network Appliances6WINDGate™ - Powering the New Generation of Network Appliances
6WINDGate™ - Powering the New Generation of Network Appliances6WIND
 
HMS Core Game Solution- create the immersive game world / Fei Tong (Huawei)
HMS Core Game Solution- create the immersive game world / Fei Tong (Huawei)HMS Core Game Solution- create the immersive game world / Fei Tong (Huawei)
HMS Core Game Solution- create the immersive game world / Fei Tong (Huawei)DevGAMM Conference
 
Windows 7 and Windows Server 2008 R2 SP1 Overview
Windows 7 and Windows Server 2008 R2 SP1 OverviewWindows 7 and Windows Server 2008 R2 SP1 Overview
Windows 7 and Windows Server 2008 R2 SP1 OverviewAmit Gatenyo
 
VMworld 2015: Deliver High Performance Desktops with VMware Horizon and NVIDI...
VMworld 2015: Deliver High Performance Desktops with VMware Horizon and NVIDI...VMworld 2015: Deliver High Performance Desktops with VMware Horizon and NVIDI...
VMworld 2015: Deliver High Performance Desktops with VMware Horizon and NVIDI...VMworld
 
XLcloud 3-d remote rendering
XLcloud 3-d remote renderingXLcloud 3-d remote rendering
XLcloud 3-d remote renderingMarius Preda PhD
 
High-Definition Rugged DVR - Case Study
High-Definition Rugged DVR - Case StudyHigh-Definition Rugged DVR - Case Study
High-Definition Rugged DVR - Case StudyMistral Solutions
 
Nginx monitoring with graphite
Nginx monitoring with graphiteNginx monitoring with graphite
Nginx monitoring with graphitedamaex17
 
Microsoft RDS, VDI, RemoteFX and what Service Pack 1 will bring us
Microsoft RDS, VDI, RemoteFX and what Service Pack 1 will bring usMicrosoft RDS, VDI, RemoteFX and what Service Pack 1 will bring us
Microsoft RDS, VDI, RemoteFX and what Service Pack 1 will bring usRonnie Isherwood
 
PT-4052, Introduction to AMD Developer Tools, by Yaki Tebeka and Gordon Selley
PT-4052, Introduction to AMD Developer Tools, by Yaki Tebeka and Gordon SelleyPT-4052, Introduction to AMD Developer Tools, by Yaki Tebeka and Gordon Selley
PT-4052, Introduction to AMD Developer Tools, by Yaki Tebeka and Gordon SelleyAMD Developer Central
 
VMworld 2013: On the Way to GPU Virtualization – 3D Acceleration in Virtual M...
VMworld 2013: On the Way to GPU Virtualization – 3D Acceleration in Virtual M...VMworld 2013: On the Way to GPU Virtualization – 3D Acceleration in Virtual M...
VMworld 2013: On the Way to GPU Virtualization – 3D Acceleration in Virtual M...VMworld
 
Porting Tizen-IVI 3.0 to an ARM based SoC Platform
Porting Tizen-IVI 3.0 to an ARM based SoC PlatformPorting Tizen-IVI 3.0 to an ARM based SoC Platform
Porting Tizen-IVI 3.0 to an ARM based SoC PlatformRyo Jin
 

Similar a Low Latency Cloud Gaming (20)

GS-4139, RapidFire for Cloud Gaming, by Dmitry Kozlov
GS-4139, RapidFire for Cloud Gaming, by Dmitry KozlovGS-4139, RapidFire for Cloud Gaming, by Dmitry Kozlov
GS-4139, RapidFire for Cloud Gaming, by Dmitry Kozlov
 
PG-4039, RapidFire API, by Dmitry Kozlov
PG-4039, RapidFire API, by Dmitry KozlovPG-4039, RapidFire API, by Dmitry Kozlov
PG-4039, RapidFire API, by Dmitry Kozlov
 
RemoteFX - Rich End User Experience for VDI and Remote Desktops
RemoteFX - Rich End User Experience for VDI and Remote DesktopsRemoteFX - Rich End User Experience for VDI and Remote Desktops
RemoteFX - Rich End User Experience for VDI and Remote Desktops
 
Direct3D and the Future of Graphics APIs - AMD at GDC14
Direct3D and the Future of Graphics APIs - AMD at GDC14Direct3D and the Future of Graphics APIs - AMD at GDC14
Direct3D and the Future of Graphics APIs - AMD at GDC14
 
Mantle - Introducing a new API for Graphics - AMD at GDC14
Mantle - Introducing a new API for Graphics - AMD at GDC14Mantle - Introducing a new API for Graphics - AMD at GDC14
Mantle - Introducing a new API for Graphics - AMD at GDC14
 
全面保護企業的關鍵智慧資產
全面保護企業的關鍵智慧資產全面保護企業的關鍵智慧資產
全面保護企業的關鍵智慧資產
 
Upgrade Your Broadcast System to PCIe Gen2
Upgrade Your Broadcast System to PCIe Gen2Upgrade Your Broadcast System to PCIe Gen2
Upgrade Your Broadcast System to PCIe Gen2
 
6WINDGate™ - Powering the New Generation of Network Appliances
6WINDGate™ - Powering the New Generation of Network Appliances6WINDGate™ - Powering the New Generation of Network Appliances
6WINDGate™ - Powering the New Generation of Network Appliances
 
HMS Core Game Solution- create the immersive game world / Fei Tong (Huawei)
HMS Core Game Solution- create the immersive game world / Fei Tong (Huawei)HMS Core Game Solution- create the immersive game world / Fei Tong (Huawei)
HMS Core Game Solution- create the immersive game world / Fei Tong (Huawei)
 
Windows 7 and Windows Server 2008 R2 SP1 Overview
Windows 7 and Windows Server 2008 R2 SP1 OverviewWindows 7 and Windows Server 2008 R2 SP1 Overview
Windows 7 and Windows Server 2008 R2 SP1 Overview
 
VMworld 2015: Deliver High Performance Desktops with VMware Horizon and NVIDI...
VMworld 2015: Deliver High Performance Desktops with VMware Horizon and NVIDI...VMworld 2015: Deliver High Performance Desktops with VMware Horizon and NVIDI...
VMworld 2015: Deliver High Performance Desktops with VMware Horizon and NVIDI...
 
XLcloud 3-d remote rendering
XLcloud 3-d remote renderingXLcloud 3-d remote rendering
XLcloud 3-d remote rendering
 
High-Definition Rugged DVR - Case Study
High-Definition Rugged DVR - Case StudyHigh-Definition Rugged DVR - Case Study
High-Definition Rugged DVR - Case Study
 
Nginx monitoring with graphite
Nginx monitoring with graphiteNginx monitoring with graphite
Nginx monitoring with graphite
 
Make gRPC great again
Make gRPC great againMake gRPC great again
Make gRPC great again
 
ARM
ARMARM
ARM
 
Microsoft RDS, VDI, RemoteFX and what Service Pack 1 will bring us
Microsoft RDS, VDI, RemoteFX and what Service Pack 1 will bring usMicrosoft RDS, VDI, RemoteFX and what Service Pack 1 will bring us
Microsoft RDS, VDI, RemoteFX and what Service Pack 1 will bring us
 
PT-4052, Introduction to AMD Developer Tools, by Yaki Tebeka and Gordon Selley
PT-4052, Introduction to AMD Developer Tools, by Yaki Tebeka and Gordon SelleyPT-4052, Introduction to AMD Developer Tools, by Yaki Tebeka and Gordon Selley
PT-4052, Introduction to AMD Developer Tools, by Yaki Tebeka and Gordon Selley
 
VMworld 2013: On the Way to GPU Virtualization – 3D Acceleration in Virtual M...
VMworld 2013: On the Way to GPU Virtualization – 3D Acceleration in Virtual M...VMworld 2013: On the Way to GPU Virtualization – 3D Acceleration in Virtual M...
VMworld 2013: On the Way to GPU Virtualization – 3D Acceleration in Virtual M...
 
Porting Tizen-IVI 3.0 to an ARM based SoC Platform
Porting Tizen-IVI 3.0 to an ARM based SoC PlatformPorting Tizen-IVI 3.0 to an ARM based SoC Platform
Porting Tizen-IVI 3.0 to an ARM based SoC Platform
 

Más de AMD Developer Central

DX12 & Vulkan: Dawn of a New Generation of Graphics APIs
DX12 & Vulkan: Dawn of a New Generation of Graphics APIsDX12 & Vulkan: Dawn of a New Generation of Graphics APIs
DX12 & Vulkan: Dawn of a New Generation of Graphics APIsAMD Developer Central
 
Leverage the Speed of OpenCL™ with AMD Math Libraries
Leverage the Speed of OpenCL™ with AMD Math LibrariesLeverage the Speed of OpenCL™ with AMD Math Libraries
Leverage the Speed of OpenCL™ with AMD Math LibrariesAMD Developer Central
 
Webinar: Whats New in Java 8 with Develop Intelligence
Webinar: Whats New in Java 8 with Develop IntelligenceWebinar: Whats New in Java 8 with Develop Intelligence
Webinar: Whats New in Java 8 with Develop IntelligenceAMD Developer Central
 
The Small Batch (and other) solutions in Mantle API, by Guennadi Riguer, Mant...
The Small Batch (and other) solutions in Mantle API, by Guennadi Riguer, Mant...The Small Batch (and other) solutions in Mantle API, by Guennadi Riguer, Mant...
The Small Batch (and other) solutions in Mantle API, by Guennadi Riguer, Mant...AMD Developer Central
 
TressFX The Fast and The Furry by Nicolas Thibieroz
TressFX The Fast and The Furry by Nicolas ThibierozTressFX The Fast and The Furry by Nicolas Thibieroz
TressFX The Fast and The Furry by Nicolas ThibierozAMD Developer Central
 
Low-level Shader Optimization for Next-Gen and DX11 by Emil Persson
Low-level Shader Optimization for Next-Gen and DX11 by Emil PerssonLow-level Shader Optimization for Next-Gen and DX11 by Emil Persson
Low-level Shader Optimization for Next-Gen and DX11 by Emil PerssonAMD Developer Central
 
Introduction to Direct 3D 12 by Ivan Nevraev
Introduction to Direct 3D 12 by Ivan NevraevIntroduction to Direct 3D 12 by Ivan Nevraev
Introduction to Direct 3D 12 by Ivan NevraevAMD Developer Central
 
Holy smoke! Faster Particle Rendering using Direct Compute by Gareth Thomas
Holy smoke! Faster Particle Rendering using Direct Compute by Gareth ThomasHoly smoke! Faster Particle Rendering using Direct Compute by Gareth Thomas
Holy smoke! Faster Particle Rendering using Direct Compute by Gareth ThomasAMD Developer Central
 
Productive OpenCL Programming An Introduction to OpenCL Libraries with Array...
Productive OpenCL Programming An Introduction to OpenCL Libraries  with Array...Productive OpenCL Programming An Introduction to OpenCL Libraries  with Array...
Productive OpenCL Programming An Introduction to OpenCL Libraries with Array...AMD Developer Central
 
Mantle and Nitrous - Combining Efficient Engine Design with a modern API - AM...
Mantle and Nitrous - Combining Efficient Engine Design with a modern API - AM...Mantle and Nitrous - Combining Efficient Engine Design with a modern API - AM...
Mantle and Nitrous - Combining Efficient Engine Design with a modern API - AM...AMD Developer Central
 
Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14
Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14
Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14AMD Developer Central
 
GS-4106 The AMD GCN Architecture - A Crash Course, by Layla Mah
GS-4106 The AMD GCN Architecture - A Crash Course, by Layla MahGS-4106 The AMD GCN Architecture - A Crash Course, by Layla Mah
GS-4106 The AMD GCN Architecture - A Crash Course, by Layla MahAMD Developer Central
 
Keynote (Tony King-Smith) - Silicon? Check. HSA? Check. All done? Wrong! - by...
Keynote (Tony King-Smith) - Silicon? Check. HSA? Check. All done? Wrong! - by...Keynote (Tony King-Smith) - Silicon? Check. HSA? Check. All done? Wrong! - by...
Keynote (Tony King-Smith) - Silicon? Check. HSA? Check. All done? Wrong! - by...AMD Developer Central
 
Keynote (Nandini Ramani) - The Role of Java in Heterogeneous Computing & How ...
Keynote (Nandini Ramani) - The Role of Java in Heterogeneous Computing & How ...Keynote (Nandini Ramani) - The Role of Java in Heterogeneous Computing & How ...
Keynote (Nandini Ramani) - The Role of Java in Heterogeneous Computing & How ...AMD Developer Central
 
Keynote (Mike Muller) - Is There Anything New in Heterogeneous Computing - by...
Keynote (Mike Muller) - Is There Anything New in Heterogeneous Computing - by...Keynote (Mike Muller) - Is There Anything New in Heterogeneous Computing - by...
Keynote (Mike Muller) - Is There Anything New in Heterogeneous Computing - by...AMD Developer Central
 

Más de AMD Developer Central (20)

DX12 & Vulkan: Dawn of a New Generation of Graphics APIs
DX12 & Vulkan: Dawn of a New Generation of Graphics APIsDX12 & Vulkan: Dawn of a New Generation of Graphics APIs
DX12 & Vulkan: Dawn of a New Generation of Graphics APIs
 
Leverage the Speed of OpenCL™ with AMD Math Libraries
Leverage the Speed of OpenCL™ with AMD Math LibrariesLeverage the Speed of OpenCL™ with AMD Math Libraries
Leverage the Speed of OpenCL™ with AMD Math Libraries
 
Introduction to Node.js
Introduction to Node.jsIntroduction to Node.js
Introduction to Node.js
 
DirectGMA on AMD’S FirePro™ GPUS
DirectGMA on AMD’S  FirePro™ GPUSDirectGMA on AMD’S  FirePro™ GPUS
DirectGMA on AMD’S FirePro™ GPUS
 
Webinar: Whats New in Java 8 with Develop Intelligence
Webinar: Whats New in Java 8 with Develop IntelligenceWebinar: Whats New in Java 8 with Develop Intelligence
Webinar: Whats New in Java 8 with Develop Intelligence
 
The Small Batch (and other) solutions in Mantle API, by Guennadi Riguer, Mant...
The Small Batch (and other) solutions in Mantle API, by Guennadi Riguer, Mant...The Small Batch (and other) solutions in Mantle API, by Guennadi Riguer, Mant...
The Small Batch (and other) solutions in Mantle API, by Guennadi Riguer, Mant...
 
Inside XBox- One, by Martin Fuller
Inside XBox- One, by Martin FullerInside XBox- One, by Martin Fuller
Inside XBox- One, by Martin Fuller
 
TressFX The Fast and The Furry by Nicolas Thibieroz
TressFX The Fast and The Furry by Nicolas ThibierozTressFX The Fast and The Furry by Nicolas Thibieroz
TressFX The Fast and The Furry by Nicolas Thibieroz
 
Low-level Shader Optimization for Next-Gen and DX11 by Emil Persson
Low-level Shader Optimization for Next-Gen and DX11 by Emil PerssonLow-level Shader Optimization for Next-Gen and DX11 by Emil Persson
Low-level Shader Optimization for Next-Gen and DX11 by Emil Persson
 
Gcn performance ftw by stephan hodes
Gcn performance ftw by stephan hodesGcn performance ftw by stephan hodes
Gcn performance ftw by stephan hodes
 
Inside XBOX ONE by Martin Fuller
Inside XBOX ONE by Martin FullerInside XBOX ONE by Martin Fuller
Inside XBOX ONE by Martin Fuller
 
Introduction to Direct 3D 12 by Ivan Nevraev
Introduction to Direct 3D 12 by Ivan NevraevIntroduction to Direct 3D 12 by Ivan Nevraev
Introduction to Direct 3D 12 by Ivan Nevraev
 
Holy smoke! Faster Particle Rendering using Direct Compute by Gareth Thomas
Holy smoke! Faster Particle Rendering using Direct Compute by Gareth ThomasHoly smoke! Faster Particle Rendering using Direct Compute by Gareth Thomas
Holy smoke! Faster Particle Rendering using Direct Compute by Gareth Thomas
 
Productive OpenCL Programming An Introduction to OpenCL Libraries with Array...
Productive OpenCL Programming An Introduction to OpenCL Libraries  with Array...Productive OpenCL Programming An Introduction to OpenCL Libraries  with Array...
Productive OpenCL Programming An Introduction to OpenCL Libraries with Array...
 
Mantle and Nitrous - Combining Efficient Engine Design with a modern API - AM...
Mantle and Nitrous - Combining Efficient Engine Design with a modern API - AM...Mantle and Nitrous - Combining Efficient Engine Design with a modern API - AM...
Mantle and Nitrous - Combining Efficient Engine Design with a modern API - AM...
 
Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14
Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14
Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14
 
GS-4106 The AMD GCN Architecture - A Crash Course, by Layla Mah
GS-4106 The AMD GCN Architecture - A Crash Course, by Layla MahGS-4106 The AMD GCN Architecture - A Crash Course, by Layla Mah
GS-4106 The AMD GCN Architecture - A Crash Course, by Layla Mah
 
Keynote (Tony King-Smith) - Silicon? Check. HSA? Check. All done? Wrong! - by...
Keynote (Tony King-Smith) - Silicon? Check. HSA? Check. All done? Wrong! - by...Keynote (Tony King-Smith) - Silicon? Check. HSA? Check. All done? Wrong! - by...
Keynote (Tony King-Smith) - Silicon? Check. HSA? Check. All done? Wrong! - by...
 
Keynote (Nandini Ramani) - The Role of Java in Heterogeneous Computing & How ...
Keynote (Nandini Ramani) - The Role of Java in Heterogeneous Computing & How ...Keynote (Nandini Ramani) - The Role of Java in Heterogeneous Computing & How ...
Keynote (Nandini Ramani) - The Role of Java in Heterogeneous Computing & How ...
 
Keynote (Mike Muller) - Is There Anything New in Heterogeneous Computing - by...
Keynote (Mike Muller) - Is There Anything New in Heterogeneous Computing - by...Keynote (Mike Muller) - Is There Anything New in Heterogeneous Computing - by...
Keynote (Mike Muller) - Is There Anything New in Heterogeneous Computing - by...
 

Low Latency Cloud Gaming

  • 1. ALLEN BOURGOYNE DIRECTOR ISV RELATIONS AMD PROFESSIONAL GRAPHICS RapidFire: The Easy Route To Low Latency Cloud Gaming Solutions
  • 2. 2 | GDC 2014 | MARCH 19, 2014 AMD RapidFire Technology Low Latency HD Image Quality Multiple Streams Virtualization Enablement Most cloud gaming solutions are CPU based AMD RapidFire is dedicated cloud hardware and software solution with an API to simplify integration –Deliver more HD games streams per GPU with low latency -> 6 x HD 720p30 fps –Leverage AMD hardware on both server and client
  • 3. 3 | GDC 2014 | MARCH 19, 2014 AMD RapidFire Technology High resolution Collaborative Virtual Desktop Adaptive to Network environment  Design for many use cases and workflows
  • 4. 4 | GDC 2014 | MARCH 19, 2014 AMD RapidFire Technology Server Network Client User Interface  4 independent components using software and hardware acceleration  HW H264 Encoding  GPU Encoding  CPU Encoding  Plugins Encoding  Multi-stream  Multi-API (DX9/11/OpenGL/ OpenCL)  Encryption  Desktop and window direct encoding  Adaptive protocol  HW H264 Decoding  CPU Decoding  Custom GPU Decoding  Multi-platform (Win/Linux/IOS/Android)  Multi-API (DX9/11/OpenGL/ OpenCL)  Touch  Keyboard  Mouse  Multi-platform
  • 5. 5 | GDC 2014 | MARCH 19, 2014 Notebook Handheld Desktop GCN Render Graphics Frame Low-latency frame capture Grab VCE HD multi-stream Compression
  • 6. 6 | GDC 2014 | MARCH 19, 2014 AMD AMD RapidFire Technology Server Client Keyboard Mouse events Keyboard Mouse decode HW H264 Encode GPU Frame Buffer System Memory DRIVER RAPIDFIRE API CPU H264 Encode Keyboard Mouse Network
  • 7. 7 | GDC 2014 | MARCH 19, 2014 AMD RAPIDFIRE TECHNOLOGY DATA FLOW OVERVIEW Server Client Radeon Sky GPU NETWORK ENCODE3D ENGINE FRAME BUFFER NETWORKGAME SERVER DECODE UI FRAME BUFFER  RF API module  external module
  • 8. 8 | GDC 2014 | MARCH 19, 2014 AMD RAPIDFIRE TECHNOLOGY SERVER SIDE DATA FLOW Server Radeon Sky GPU NETWORK ENCODE 3D ENGINE GAME INSTANCE  Network component transfers UI events from the client to the server EXECUTION RESOURCES FRAME BUFFER
  • 9. 9 | GDC 2014 | MARCH 19, 2014 AMD RAPIDFIRE TECHNOLOGY SERVER SIDE DATA FLOW Server Radeon Sky GPU NETWORK ENCODE 3D ENGINE GAME INSTANCE  Network component transfers UI events from the client to the server  Game server sends commands to GPU to draw next frame EXECUTION RESOURCES FRAME BUFFER
  • 10. 10 | GDC 2014 | MARCH 19, 2014 AMD RAPIDFIRE TECHNOLOGY SERVER SIDE DATA FLOW Server Radeon Sky GPU NETWORK ENCODE 3D ENGINE GAME INSTANCE  Network component transfers UI events from the client to the server  Game server sends commands to GPU to draw next frame  GPU distributes the work among execution resources and produces resulting frame into the frame buffer EXECUTION RESOURCES FRAME BUFFER
  • 11. 11 | GDC 2014 | MARCH 19, 2014 AMD RAPIDFIRE TECHNOLOGY SERVER SIDE DATA FLOW Server Radeon Sky GPU NETWORK ENCODE 3D ENGINE GAME INSTANCE  Network component transfers UI events from the client to the server  Game server sends commands to GPU to draw next frame  GPU distributes the work among execution resources and produces resulting frame into the frame buffer  VCE is performing asynchronous frame sequence encoding into H264 video stream and the data is fetched to system memory by the app EXECUTION RESOURCES FRAME BUFFER
  • 12. 12 | GDC 2014 | MARCH 19, 2014 AMD RAPIDFIRE TECHNOLOGY SERVER SIDE DATA FLOW Server Radeon Sky GPU NETWORK ENCODE 3D ENGINE GAME INSTANCE  Network component transfers UI events from the client to the server  Game server sends commands to GPU to draw next frame  GPU distributes the work among execution resources and produces resulting frame into the frame buffer  VCE is performing asynchronous frame sequence encoding into H246 video stream and the data is fetched to system memory by the app  SW-encoded audio stream is merged with the video stream and sent to the network EXECUTION RESOURCES FRAME BUFFER
  • 13. 13 | GDC 2014 | MARCH 19, 2014 AMD RAPIDFIRE TECHNOLOGY CLIENT SIDE DATA FLOW Client Radeon GPU NETWORK DECODE  Game client receives H264 stream from the server using RTSP protocol FRAME BUFFER GAME CLIENT DECODE AUDIO Audio device UI Input devices
  • 14. 14 | GDC 2014 | MARCH 19, 2014 AMD RAPIDFIRE TECHNOLOGY CLIENT SIDE DATA FLOW Client AMD GPU NETWORK H264 DECODE  Game client receives H264 stream from the server using RTSP protocol  The client sends the stream to AMD GPU which performs H264 hardware decoding to the frame buffer FRAME BUFFER GAME CLIENT DECODE Audio device UI Input devices
  • 15. 15 | GDC 2014 | MARCH 19, 2014 AMD RAPIDFIRE TECHNOLOGY CLIENT SIDE DATA FLOW Client Radeon GPU NETWORK DECODE  Game client receives H264 stream from the server using RTSP protocol  The client sends the stream to Radeon GPU which performs H264 hardware decoding to the frame buffer  Sound stream is decoded using software audio codec and sent to audio hardware FRAME BUFFER GAME CLIENT DECODE AUDIO Audio device UI Input devices
  • 16. 16 | GDC 2014 | MARCH 19, 2014 AMD RAPIDFIRE TECHNOLOGY CLIENT SIDE DATA FLOW Client Radeon GPU NETWORK DECODE  Game client receives H264 stream from the server using RTSP protocol  The client sends the stream to Radeon GPU which performs H264 hardware decoding to the frame buffer  Sound stream is decoded using software audio codec and sent to audio hardware  UI events are collected by the client and sent over the network to the server FRAME BUFFER GAME CLIENT DECODE AUDIO Audio device UI Input devices
  • 17. 17 | GDC 2014 | MARCH 19, 2014 AMD RAPIDFIRE API  Server component The server component provides functions for the: ‒ Encoding of video and audio data ‒ Color space conversion ‒ Capturing of the desktop ‒ Handling of multiple render targets ‒ Interoperability with OpenGL, D3D9 and D3D11  Client component The client component provides functions for: ‒ Decoding of video and audio streams ‒ Color space conversion ‒ Interoperability with OpenGL, D3D9 and D3D11 COMPONENTS  Network component The Network component is a sample implementation of video and audio streaming based on the LIVE555 Media Server.  User Interface component The UI component provide functions to: ‒ Capture user events on the client ‒ Send the events to the server for processing
  • 18. 18 | GDC 2014 | MARCH 19, 2014 AMD RAPIDFIRE API THE SERVER COMPONENT Create RenderTarget rfCreateEncodeSession rfCreateEncoder rfRegisterRenderTarget Initialization Render Loop rfGetEncodedFrame rfEncodeFrame Draw to free RenderTarget rfRtspServerSendFrame Done?
  • 19. 19 | GDC 2014 | MARCH 19, 2014 AMD RAPIDFIRE API  rfCreateEncodeSession ‒ Creates an encoding session on the server. The sessions encapsulates the following components: ‒ Rendering context/device ‒ Compute context that is used for the color space conversion ‒ Render targets ‒ Desktop ‒ The encoder: SW, VCE or IDENTITY ‒ The following session types are supported ‒ OpenGL ‒ DX9 / DX9Ex ‒ DX11 ‒ Desktop capturing THE SERVER COMPONENT Create RenderTarget rfCreateEncodeSession rfCreateEncoder rfRegisterRenderTarget Initialization
  • 20. 20 | GDC 2014 | MARCH 19, 2014 AMD RAPIDFIRE API THE SERVER COMPONENT Create RenderTarget rfCreateEncodeSession rfCreateEncoder rfRegisterRenderTarget Initialization  rfCreateEncodeSession ‒ Creating an OpenGL session that uses the VCE HW encoding  rfRegisterRenderTargt ‒ Input: Name of the OpenGL Texture, dimension of the texture ‒ Output: The index used by RF to identify this render target RFProperties props[] = { RF_GL_GRAPHICS_CTX, (RFProperties)hGLRC, RF_GL_DEVICE_CTX, (RFProperties)hDC, RF_ENCODER, (RFProperties)RF_VCE, 0 }; // Create RapidFire encoding session RFEncodeSession session = rfCreateEncodeSession(props); for (unsigned int i = 0; i < NUM_RENDER_TARGETS; i++) { rfRegisterRenderTarget(session, RF_RT_GL_TEXTURE, uiTexName[i], uiWidth, uiHeight, &renderTargetIdx[i])); }
  • 21. 21 | GDC 2014 | MARCH 19, 2014 AMD RAPIDFIRE API THE SERVER COMPONENT Create RenderTarget rfCreateEncodeSession rfCreateEncoder rfRegisterRenderTarget Initialization  rfCreateEncoder ‒ Creating an Encoder using a preset configuration ‒ The following presets are supported: ‒ RF_ENCODE_FAST ‒ RF_ENCODE_BALANCED ‒ RF_ENCODE_QUALITY  rfCreateEncoder2 ‒ Creating an encoder using properties rfCreateEncoder(session, uiWidth, uiHeight, RF_ENCODE_FAST) // Create encoder using properties RFProperties props[] = { RF_ENCODER_PROFILE, (RFProperties)RF_MAIN, RF_ENCODER_LEVEL, (RFProperties)41, RF_ENCODER_BITRATE, (RFProperties)6000000, RF_ENCODER_FPS, (RFProperties)30, 0 }; rfCreateEncoder2(session, uiWidth, uiHeight, props));
  • 22. 22 | GDC 2014 | MARCH 19, 2014 AMD RAPIDFIRE API THE SERVER COMPONENT Render Loop  rfEncodeFrame ‒ Non-blocking call to submit a frame for encoding  rfGetEncodedFrame ‒ Check first if a frame is ready ‒ If a frame is available get the data to system memory ‒ Send the frame over the network to the client rfGetEncodedFrame rfEncodeFrame Draw to free RenderTarget rfRtspServerSendFrame Done? rfEncodeFrame(session, renderTargetIdx[uiCurrentRT])); // Check if encoded frame is ready if (rfIsEncodedFrameReady(session)) { if (rfGetEncodedFrame(session, &uiBitStreamSize, (void**)&pBitStreamdata) == RF_STATUS_OK) { if (uiBitStreamSize > 0) { // Send encoded frame to Network rtspStatus = rfRtspServerSendFrame(rtsp_sn, pBitStreamdata, uiBitStreamSize, tv.tv_sec, tv.tv_usec, 1); } } }
  • 23. 23 | GDC 2014 | MARCH 19, 2014 AMD RAPIDFIRE API THE CLIENT COMPONENT Create Target Textures rfCreateDecodeSession rfCreateVideoDecoder rfRegisterTargetTexture Initialization Render Loop Display frame using Target Texture rfDecodeFrame Wait to receive frame Done?
  • 24. 24 | GDC 2014 | MARCH 19, 2014 AMD RAPIDFIRE API THE CLIENT COMPONENT Create Target Textures rfCreateDecodeSession rfCreateVideoDecoder rfRegisterTargetTexture Initialization  rfCreateDecodeSession ‒ Creates a decoding session on the client. The sessions encapsulates the following components: ‒ Rendering context/device ‒ Compute context that is used for the color space conversion ‒ Target Textures ‒ Decoder: SW or UVD ‒ The following session are supported ‒ OpenGL ‒ DX9 / DX11
  • 25. 25 | GDC 2014 | MARCH 19, 2014 AMD RAPIDFIRE API THE CLIENT COMPONENT Create Target Textures rfCreateDecodeSession rfCreateVideoDecoder rfRegisterTargetTexture Initialization  rfCreateDecodeSession ‒ Creates an OpenGL session that uses the UVD decoder  rfRegisterTargetTexture ‒ Registers an OpenGL texture ‒ The texture will be used to store the decoded frame RFProperties props[] = { RF_GL_GRAPHICS_CTX, (RFProperties)hGLRC, RF_GL_DEVICE_CTX, (RFProperties)hDC, RF_DECODER, (RFProperties)RF_UVD, 0 }; // Create RapidFire decoding session RFDecSession session = rfCreateDecodeSession(props); rfRegisterTargetTexture(session, uiTextureName);
  • 26. 26 | GDC 2014 | MARCH 19, 2014 AMD RAPIDFIRE API THE CLIENT COMPONENT Create Target Textures rfCreateDecodeSession rfCreateVideoDecoder rfRegisterTargetTexture Initialization  rfCreateVideoDecoder ‒ Create the actual decoder rfCreateVideoDecoder(session, uiWidth, uiHeight);
  • 27. 27 | GDC 2014 | MARCH 19, 2014 AMD RAPIDFIRE API THE CLIENT COMPONENT  rfDecodeFrame ‒ Decodes a frame ‒ The decoded frame is stored in the registered texture ‒ Now the application can use the texture to display the frame rfDecodeFrame(session); Render Loop Display frame using Target Texture rfDecodeFrame Wait to receive frame Done?
  • 28. 28 | GDC 2014 | MARCH 19, 2014 AMD RAPIDFIRE API  We have taken a brief look at the API ‒ Detailed API specifications, sample code available in the SDK ‒ Illustrates how to implement alternative encode/decode/network/etc. for non-AMD platforms  Are developers currently using the API? ‒ Yes, lets take a look at some implementations…
  • 29. Swiich solution by Eureva Philippe Martineau – philippe.martineau@eureva.fr
  • 30. 30 | GDC 2014 | MARCH 19, 2014 WHY CLOUD GAMING ?
  • 31. 31 | GDC 2014 | MARCH 19, 2014 RAPIDFIRE & SWIICH : ULTRA-LOW LATENCY SOLUTION Make videogames accessible from the cloud on all screens Current implementation: virtualization of any DirectX 9, 11 or OpenGL application
  • 32. 32 | GDC 2014 | MARCH 19, 2014 SWIICH DEMO  Crisis 3 – virtualized & streamed real-time ‒AMD FirePro Graphics ‒Crisis 3 integration without any modification : "zero touch" ‒Seamless game execution & AMF encoding on AMD FirePro ‒720p image ‒Bandwidth compatible with existing networks (<5Mbps) ‒Client: any video-capable terminal ‒Very low latency
  • 33. 33 | GDC 2014 | MARCH 19, 2014 PERFORMANCE ACHIEVEMENTS  AMD FirePro Graphics  3D application running & encoding ‒ 40-60 frames per second  Image encoding and capture : 8 to 16ms  Image decoding on low-end hardware < 16ms  Image display on low-end hardware < 16ms  Overall LAN roundtrip: ~ 40ms (Joystick input from Client to Server ; Image capture, compression streaming and display)  Full WAN roundtrip latency: ~100ms on real internet networks
  • 34. 34 | GDC 2014 | MARCH 19, 2014 CLOUD-GAMING USE-CASES Cloud-based streaming  Streaming 3D apps from the Cloud, and transitioning from a licensing model to SaaS  Instant 3D software demos from the Cloud ‒ Explore software potential, with no client download ; graphic card requirements are provided by the cloud  Embed in-game video-advertising  Built-in multiple screen sharing for gaming events or simply to watch your friends on the cloud  Game developments with graphics provisioned on-demand from servers Point-to-point streaming  Graphic card to device streaming for gaming scenarios ‒ basic game-screen sharing on remote device: tablet, phone… ‒ SDK to access in-game streamed content (i.e. specific gameplay on a cell-phone or tablet) Ultra-high definition interactive screens for gaming events (4k and beyond images) Streaming: Whenever pixels are on networks...
  • 36. 36 | GDC 2014 | MARCH 19, 2014 LEAP COMPUTING, INC. – CLOUD GRAPHICS ACCELERATION The Importance of RapidFire, and What Counts for LEAP  Low Latency Frame Grab  Low Latency Encoding  1080p & 720p Support at 30 or 60 FPS  Support for all major mobile client platforms  Low CPU demand due to OpenCL and Rapidfire  AAA Gaming Titles Supported, All Genres  Incredible User Density per GPU LEAP DIRECT GAME PLATFORM – CLOUD GAMING WITH RAPIDFIRE
  • 37. 37 | GDC 2014 | MARCH 19, 2014 LEAP COMPUTING, INC. – CLOUD GRAPHICS ACCELERATION The Direct-Game Engine  No development cycle for Game Developers  Efficient Operations for integrating new game content  DX11, DX9, OpenGL, and Mantle Fully Supported  Automated game deployment and density management  Software redundancy to ensure smooth gameplay  Fast, efficient encoders and decoders for streaming  Intelligent, scaling encoders that only do what’s needed  Radeon Sky complete line fully supported  99.999% System Uptime  Deployable TODAY LEAP DIRECT GAME PLATFORM – CLOUD GAMING WITH RAPIDFIRE
  • 38. 38 | GDC 2014 | MARCH 19, 2014 LEAP COMPUTING, INC. – CLOUD GRAPHICS ACCELERATION RapidFire and OpenCL – Density and Efficiency  <1mbps for 720p  <2mbps for 1080p  <20ms “Preflight” encoding  Encode frames without Leaving GPU via VCE and OpenCL  Stream only what’s needed LEAP DIRECT GAME PLATFORM – CLOUD GAMING WITH RAPIDFIRE Render Virtualized Frame (Direct-Game) Rapidfire Frame Grab Leap Encode Engine Stream Encoded frame via Rapidfire
  • 39. 39 | GDC 2014 | MARCH 19, 2014 LEAP COMPUTING, INC. – CLOUD GRAPHICS ACCELERATION GPU Density, Radeon Sky, and what’s important. LEAP DIRECT GAME PLATFORM – CLOUD GAMING WITH RAPIDFIRE  Traditional Encoding VCE VCE VCE VCE VCE VCE GAME GAME GAME GAME GAME GAME  Encode IDLE
  • 40. 40 | GDC 2014 | MARCH 19, 2014 LEAP COMPUTING, INC. – CLOUD GRAPHICS ACCELERATION GPU Density, Radeon Sky, and what’s important. LEAP DIRECT GAME PLATFORM – CLOUD GAMING WITH RAPIDFIRE  Elastic Encoding VCE VCE VCE VCE VCE VCE GAME OpenCL OpenCL OpenCL OpenCL OpenCL GAME GAME GAME GAME GAME GAME GAME GAME GAME GAME  Free Encode  Purchased Encode
  • 41. 41 | GDC 2014 | MARCH 19, 2014 LEAP COMPUTING, INC. – CLOUD GRAPHICS ACCELERATION GPU Density, Radeon Sky, and what’s important. LEAP DIRECT GAME PLATFORM – CLOUD GAMING WITH RAPIDFIRE  Rapidfire standardizes cloud gaming industry expectations  AMD Radeon Sky allows for many concurrent instances of advanced gaming and efficient encoding  Consistent hardware and software sources ensure quality and performance in deployments  RapidFire provides quick, easy integration to powerful tools for cloud integration LIVE DEMOS AT AMD BOOTH 1024! LeapComputing.com
  • 42. 42 | GDC 2014 | MARCH 19, 2014 CONCLUSION  RapidFire provides a cross platform framework for cloud gaming ‒ Already being used by 3rd parties to implement remoting solutions  Stop by the AMD booth 1024 in the expo to see these solutions  If you would like to get access or more information on RapidFire technology, email requests to FirePro.Developers@amd.com
  • 43. 43 | GDC 2014 | MARCH 19, 2014 DISCLAIMER & ATTRIBUTION The information presented in this document is for informational purposes only and may contain technical inaccuracies, omissions and typographical errors. The information contained herein is subject to change and may be rendered inaccurate for many reasons, including but not limited to product and roadmap changes, component and motherboard version changes, new model and/or product releases, product differences between differing manufacturers, software changes, BIOS flashes, firmware upgrades, or the like. AMD assumes no obligation to update or otherwise correct or revise this information. However, AMD reserves the right to revise this information and to make changes from time to time to the content hereof without obligation of AMD to notify any person of such revisions or changes. AMD MAKES NO REPRESENTATIONS OR WARRANTIES WITH RESPECT TO THE CONTENTS HEREOF AND ASSUMES NO RESPONSIBILITY FOR ANY INACCURACIES, ERRORS OR OMISSIONS THAT MAY APPEAR IN THIS INFORMATION. AMD SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE. IN NO EVENT WILL AMD BE LIABLE TO ANY PERSON FOR ANY DIRECT, INDIRECT, SPECIAL OR OTHER CONSEQUENTIAL DAMAGES ARISING FROM THE USE OF ANY INFORMATION CONTAINED HEREIN, EVEN IF AMD IS EXPRESSLY ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. ATTRIBUTION © 2013 Advanced Micro Devices, Inc. All rights reserved. AMD, the AMD Arrow logo and combinations thereof are trademarks of Advanced Micro Devices, Inc. in the United States and/or other jurisdictions. Other names are for informational purposes only and may be trademarks of their respective owners.