console development

Post on 07-Nov-2014

689 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

Jonathan Talks about 3D development on consoles.

TRANSCRIPT

3D Console Development:What's the deal?

Jonathan Mooremoorej89@msu.eduTwitter: JonManatee

Console Development

What's the difference?

Console Development

What's the difference? Faster Processors, Less Memory

Console Development

What's the difference? Faster Processors, Less Memory PC Market will catch up and outpace it with

time Graphics APIs will introduce new technologies

while the consoles are stuck in the past

Console Development

What's the difference? Faster Processors, Less Memory PC Market will catch up and outpace it with

time Graphics APIs will introduce new technologies

while the consoles are stuck in the past Consoles are a fixed platform

Easier to catch bugs, consistent hardware allows developers to pull more “tricks”

The Wii

Notably the weakest of the 3 “next-gen” consoles

Does not support programmable shaders In Unity, Scripts are still JIT compiled Not really the focus of this talk

The Xbox 360: Overview

Is “almost” a PC CPU: 3.2 GHz PowePC Tri-Core Xenon

The Xbox 360: Overview

Is “almost” a PC CPU: 3.2 GHz PowePC Tri-Core Xenon GPU: 500 MHz ATI Xenos

The Xbox 360: Overview

Is “almost” a PC CPU: 3.2 GHz PowePC Tri-Core Xenon GPU: 500 MHz ATI Xenos Slightly more forgiving than PS3 for memory

The Xbox 360: Overview

Is “almost” a PC CPU: 3.2 GHz PowePC Tri-Core Xenon GPU: 500 MHz ATI Xenos Slightly more forgiving than PS3 for memory Uses the DirectX 9 Graphics API Superset of Shader Model 3.0 (not full 4.0)

Unified Shader Architecture

The Xbox 360: Memory

512 MB GDDR3 system memory at 700 MHz

The Xbox 360: Memory

512 MB GDDR3 system memory at 700 MHz GPU is in between CPU and system memory

The Xbox 360: Memory

512 MB GDDR3 system memory at 700 MHz GPU is in between CPU and system memory GPU also has 100 MB dedicated eDRAM

Used for frame buffers

PS3: Overview

CPU: 3.2 GHz Cell Broadband Engine

PS3: Overview

CPU: 3.2 GHz Cell Broadband Engine GPU: 550MHz NVIDIA RSX

Essentially a GeForce 7800

PS3: Overview

CPU: 3.2 GHz Cell Broadband Engine GPU: 550MHz NVIDIA RSX

Essentially a GeForce 7800 Data stored on Blu-Ray disks

PS3: Overview

CPU: 3.2 GHz Cell Broadband Engine GPU: 550MHz NVIDIA RSX

Essentially a GeForce 7800 Data stored on Blu-Ray disks Older versions can be loaded with Linux

PS3: The Cell

The PS3's Cell Processor is atypical for a console processor

PS3: The Cell

The PS3's Cell Processor is atypical for a console processor

Focus on parallel processing

PS3: The Cell

The PS3's Cell Processor is atypical for a console processor

Focus on parallel processing 1 PowerPC Process Element or “PPE”

Runs general purpose code

PS3: The Cell

The PS3's Cell Processor is atypical for a console processor

Focus on parallel processing 1 PowerPC Process Element or “PPE”

Runs general purpose code 8 Synergistic Processor Elements or “SPE”

1 locked to protect against defects

PS3: The Cell

The PS3's Cell Processor is atypical for a console processor

Focus on parallel processing 1 PowerPC Process Element or “PPE”

Runs general purpose code 8 Synergistic Processor Elements or “SPE”

1 locked to protect against defects 1 reserved for OS

PS3: The Cell

The PS3's Cell Processor is atypical for a console processor

Focus on parallel processing 1 PowerPC Process Element or “PPE”

Runs general purpose code 8 Synergistic Processor Elements or “SPE”

1 locked to protect against defects 1 reserved for OS 6 for game code to utilize

PS3: The Cell

SPE0

LS(256KB)

DMA

SPE1

LS(256KB)

DMA

MIC

MemoryInterfaceController

XIO

SPE2

LS(256KB)

DMA

SPE3

LS(256KB)

DMA

SPE4

LS(256KB)

DMA

SPE5

LS(256KB)

DMA

SPE6

LS(256KB)

DMA

PPE

L1 (32 KB I/D)

L2(512 KB)

Flex-IO1

Flex-IO0

I/O

I/O

I/O

PS3: Architecture

Cell3.2 GHz

RSX®XDRAM256 MB

I/O Bridge

HD/HDSD

AV out

20GB/s

15GB/s

25.6GB/s

2.5GB/s

2.5GB/s

BD/DVD/CD ROM Drive

54GB USB 2.0 x 6

Gbit Ether/WiFi Removable StorageMemoryStick,SD,CF

BT Controller

GDDR3256 MB

22.4GB/s

PS3: Challenges

Divided memory access

PS3: Challenges

Divided memory access Asynchronous Bandwidth to RSX!

PS3: Challenges

Divided memory access Asynchronous Bandwidth to RSX! PPE is very, very weaksauce

PS3: Challenges

Divided memory access Asynchronous Bandwidth to RSX! PPE is very, very weaksauce Programming for SPUs is a challenge of

parallel processing

Unity for Consoles

Windows is only editor platform Each console has > 200 tech requirements that

must be met by every game You have to have a dev kit (provided by

console manufacturers)

Unity: Whats Missing

No duck typing in Javascript

Unity: Whats Missing

No duck typing in Javascript No JIT, AOT compilation only

Unity: Whats Missing

No duck typing in Javascript No JIT, AOT compilation only No fixed function shader pipeline

Error shaders shade to bright pink

Unity: Whats Missing

No duck typing in Javascript No JIT, AOT compilation only No fixed function shader pipeline

Error shaders shade to bright pink PS3 has no Mono thread support

Unity: Whats Missing

No duck typing in Javascript No JIT, AOT compilation only No fixed function shader pipeline

Error shaders shade to bright pink PS3 has no Mono thread support Certain APIs (WWW...)

Unity: Platform Features

PSN/XBLA integration Move/Kinect support SystemEvent callbacks Expandable by native plugins

Unity: Best Practices

Work in 720p resolution

Unity: Best Practices

Work in 720p resolution Respect the display safe region

Unity: Best Practices

Work in 720p resolution Respect the display safe region Animate loading screens

Unity: Best Practices

Work in 720p resolution Respect the display safe region Animate loading screens Notify player of background tasks

Use animations Saving/Loading may take longer

Unity: Best Practices

Work in 720p resolution Respect the display safe region Animate loading screens Notify player of background tasks

Use animations Saving/Loading may take longer

Plan memory use ahead Pixel vs. Texel ratio

More Unity

Multiple build settings to support different console submission formats

Playstation Move returns position and rotation Used in Unite demo

Debugger is tricky to use Can program SPU's from plugins

Questions / Discussion

top related