GS-4151, Developing Thief with new AMD technology, by Jurjen Katsman

31
THE NIXXES PHILOSOPHY FULLY UTILIZING THE AVAILABLE HARDWARE JURJEN KATSMAN NIXXES SOFTWARE BV
  • date post

    13-Sep-2014
  • Category

    Technology

  • view

    5.202
  • download

    0

description

Presentation GS-4151, Developing Thief with new AMD technology, by Jurjen Katsman at the AMD Developer Summit (APU13) Nov. 11-13, 2013.

Transcript of GS-4151, Developing Thief with new AMD technology, by Jurjen Katsman

Page 1: GS-4151, Developing Thief with new AMD technology, by Jurjen Katsman

THE  NIXXES  PHILOSOPHY  FULLY  UTILIZING  THE  AVAILABLE  HARDWARE  

JURJEN  KATSMAN  NIXXES  SOFTWARE  BV  

Page 2: GS-4151, Developing Thief with new AMD technology, by Jurjen Katsman

2   |      THE  NIXXES  PHILOSOPHY      |      NOVEMBER  12,  2012      |      CONFIDENTIAL  

WHO  ARE  NIXXES?  

! Specialized  in  cross  plaKorm  conversion.  ! AcOve  on  PC  plaKorm  since  2000.  ! Recently:  

‒ Deus  Ex:  Human  RevoluOon  ‒ Hitman:  AbsoluOon  ‒ Tomb  Raider  ‒ Thief  

! In  all  cases  cooperated  with  AMD  to  improve  Otle.  

! Also  long  Ome  console  developer.  ‒ Tomb  Raider  PS3.  ‒ Currently  working  on  unannounced  PS4  Otle.  

Page 3: GS-4151, Developing Thief with new AMD technology, by Jurjen Katsman

3   |      THE  NIXXES  PHILOSOPHY      |      NOVEMBER  12,  2012      |      CONFIDENTIAL  

OVERVIEW  

! The  Nixxes  Philosophy  for  PC  gaming  ! How  PCs  are  different  from  consoles:  

‒ More  diverse  hardware.  ‒ AddiOonal  features.  

! Why  Mantle?  ‒ What  is  Mantle?  (And  what  it  isn‘t!)  ‒ Common  problems  encountered  when  porOng  to  PC.  ‒ …  and  how  Mantle  helps  to  solve  them!  

Page 4: GS-4151, Developing Thief with new AMD technology, by Jurjen Katsman

4   |      THE  NIXXES  PHILOSOPHY      |      NOVEMBER  12,  2012      |      CONFIDENTIAL  

THE  NIXXES  PHILOSOPHY  FOR  PC  GAMING  

! How  is  the  PC  gamer  different  from  a  console  gamer?  ! Not  at  all?  

‒ All  want  a  great  quality  game!  ‒ All  want  a  great  Story.  ‒ All  want  great  Gameplay.  ‒ All  want  great  Graphics.  

! Or  is  he  radically  different?  

Page 5: GS-4151, Developing Thief with new AMD technology, by Jurjen Katsman

5   |      THE  NIXXES  PHILOSOPHY      |      NOVEMBER  12,  2012      |      CONFIDENTIAL  

THE  NIXXES  PHILOSOPHY  FOR  PC  GAMING  QUITE  DIFFERENT!  

Page 6: GS-4151, Developing Thief with new AMD technology, by Jurjen Katsman

6   |      THE  NIXXES  PHILOSOPHY      |      NOVEMBER  12,  2012      |      CONFIDENTIAL  

THE  NIXXES  PHILOSOPHY  FOR  PC  GAMING  

! The  PC  Gamer…  ‒ Invests  heavily  in  new  hardware.  ‒ Is  Technical!  

‒ Likes  to  have  opOons  and  to  be  able  to  Onker  with  things!  ‒ Wants  to  see  his  hardware  put  to  good  use.  

‒ A  game  should  run  beier  on  his  $2000  machine  compared  to  a  $400  console.  

! But  every  gamer  has  different  hardware!  ‒ Try  to  support  the  strengths  of  each!  ‒ A  niche  within  a  niche.  

‒ But  it’s  not  always  a  lot  of  effort.  

! They  are  the  ones  talking  about  your  game!  

WHO  IS  THE  PC  GAMER?  

Page 7: GS-4151, Developing Thief with new AMD technology, by Jurjen Katsman

7   |      THE  NIXXES  PHILOSOPHY      |      NOVEMBER  12,  2012      |      CONFIDENTIAL  

THE  NIXXES  PHILOSOPHY  FOR  PC  GAMING  APPLIED  TO  THIEF  

Page 8: GS-4151, Developing Thief with new AMD technology, by Jurjen Katsman

8   |      THE  NIXXES  PHILOSOPHY      |      NOVEMBER  12,  2012      |      CONFIDENTIAL  

THIEF  

! A  reboot  of  a  classic  PC  game.  ‒ Thief:    The  Dark  Project  by  Looking  Glass  Studios  (1998).  

! Developed  by  Eidos  Montreal.  ! Nixxes  responsible    for  PC  version.  ! Some  great  AMD  technologies  being  used.  

Page 9: GS-4151, Developing Thief with new AMD technology, by Jurjen Katsman

9   |      THE  NIXXES  PHILOSOPHY      |      NOVEMBER  12,  2012      |      CONFIDENTIAL  

THE  NIXXES  PHILOSOPHY  FOR  PC  GAMING  

! AddiOonal  PC  features  ‒ AMD  TrueAudio  ‒ Eyefinity  ‒ 4K  displays  ‒ AMD  HD3D  ‒ Compute  ‒ Crossfire  

‒ Mantle  

Page 10: GS-4151, Developing Thief with new AMD technology, by Jurjen Katsman

10   |      THE  NIXXES  PHILOSOPHY      |      NOVEMBER  12,  2012      |      CONFIDENTIAL  

AMD  TRUEAUDIO  

! The  return  of  audio  acceleraOon  hardware.  ‒ Exclusive  to  latest  AMD  hardware.  

! Great  example  of  a  high-­‐end  feature  to  reward  PC  gamers.  ! High-­‐quality  audio  processing  effects.  

‒ LocaOon  specific  reverb  throughout  enOre  game.  ! No  CPU  cost!  

‒ Made  possible  by  Wwise  and  TrueAudio.  ! PC  gamer  gets  immersive  audio  at  negligible  CPU  cost.  

Page 11: GS-4151, Developing Thief with new AMD technology, by Jurjen Katsman

11   |      THE  NIXXES  PHILOSOPHY      |      NOVEMBER  12,  2012      |      CONFIDENTIAL  

EYEFINITY  

! AMD  pioneered  mulO-­‐monitor  gaming  setups.  ! Hardly  a  niche  anymore.  ! CriOcal  to  support  well.  

‒ UI  elements  ‒ Game-­‐visuals  (large  FOV)  

‒ Large  FOV  can  result  in  fish-­‐eye  effect…  ‒ …  which  requires  a  lot  of  addiOonal  draw  calls  to  fix.  

‒ In-­‐game  cinemaOcs.  ‒ Pre-­‐rendered  cinemaOcs.  

Page 12: GS-4151, Developing Thief with new AMD technology, by Jurjen Katsman

12   |      THE  NIXXES  PHILOSOPHY      |      NOVEMBER  12,  2012      |      CONFIDENTIAL  

EYEFINITY  MANY  CONFIGURATIONS  

Page 13: GS-4151, Developing Thief with new AMD technology, by Jurjen Katsman

13   |      THE  NIXXES  PHILOSOPHY      |      NOVEMBER  12,  2012      |      CONFIDENTIAL  

EYEFINITY  

! Great  example  of  hardware  variance  on  PC  ! Think  about  how  your  game  works  best  on  all  of  those  setups.  

‒ Detect  them  using  AMD  ADL  libraries.  ! Peripheral  vision!  

‒ Great  in  a  stealth  game  like  Thief.  

! But  in  some  cases  beier  to  handle  it  like  one  large  monitor.  ! Setup  your  code  to  allow  you  to  easily  test  all  modes  without  physical  hardware  changes!  ‒ Makes  development  much  easier.  

! PC  gamer  will  get  to  fully  uOlize  his  cool  monitor  setup  at  its  best!  

Page 14: GS-4151, Developing Thief with new AMD technology, by Jurjen Katsman

14   |      THE  NIXXES  PHILOSOPHY      |      NOVEMBER  12,  2012      |      CONFIDENTIAL  

4K  GAMING  

! 4K  displays  are  the  latest  enhancements  in  displays.  ! SOll  very  expensive!  

‒ But  expected  to  become  affordable  soon.  ! Over  8  million  pixels!  

‒ Requires  a  lot  of  GPU  power  to  render.  ‒ Major  investment  for  gamer,  make  sure  he  is  rewarded!  

! Can  be  represented  as  a  2  monitor  Eyefinity  setup  to  applicaOon.  ‒ Don’t  have  your  Eyefinity  logic  break  it!  

Page 15: GS-4151, Developing Thief with new AMD technology, by Jurjen Katsman

15   |      THE  NIXXES  PHILOSOPHY      |      NOVEMBER  12,  2012      |      CONFIDENTIAL  

AMD  HD3D  STEREOSCOPIC  3D  

!   Stereo  gaming.  ‒ AcOve  dedicated  audience.  

!   Support  HD3D!  ‒ Makes  it  easy  to  support  other  hardware  as  well.  ‒ Render  two  cameras  with  different  projecOon  matrices…  ‒ …  or  do  reprojecOon  in  a  post  process.  ‒ Provide  user  control  over  stereo  parameters.  

! Remember  to  posiOon  UI  correctly.  ! Watch  out  for  screen-­‐space  effects.  

Page 16: GS-4151, Developing Thief with new AMD technology, by Jurjen Katsman

16   |      THE  NIXXES  PHILOSOPHY      |      NOVEMBER  12,  2012      |      CONFIDENTIAL  

AMD  CROSSFIRE  

! For  the  true  hardcore  gamer.  ‒ Two  or  more  GPUs  

! 2  GPUs  can  double  frame  rate  when  used  properly.  ‒ Easy  to  support.  ‒ Needs  tesOng.  

! Coordinate  with  AMD  developer  representaOve  to  get  profiles  setup.  ! PC  gamer  will  not  be  happy  if  his  2nd  GPU  goes  unuOlized.  

‒ Some  techniques  won’t  work  with  AFR    ‒ More  opOons  how  to  uOlize  addiOonal  GPUs  would  be  nice    

Page 17: GS-4151, Developing Thief with new AMD technology, by Jurjen Katsman

17   |      THE  NIXXES  PHILOSOPHY      |      NOVEMBER  12,  2012      |      CONFIDENTIAL  

Page 18: GS-4151, Developing Thief with new AMD technology, by Jurjen Katsman

18   |      THE  NIXXES  PHILOSOPHY      |      NOVEMBER  12,  2012      |      CONFIDENTIAL  

WHY  WE  USE  MANTLE  

! PC  Gamers  expect  a  AAA  experience.  ‒ High  frame  rate.  ‒ High  level  of  detail.  ‒   All  their  hardware  uOlized  to  good  effect.  

‒ All  CPU  cores  uOlized.  ‒ All  GPUs  busy  all  the  Ome.  

‒ Solid  frame  rate  (no  stalls  or  stuiers).  ‒ Low  latency.  

Page 19: GS-4151, Developing Thief with new AMD technology, by Jurjen Katsman

19   |      THE  NIXXES  PHILOSOPHY      |      NOVEMBER  12,  2012      |      CONFIDENTIAL  

WHY  WE  USE  MANTLE  

! Takes  a  lot  of  effort  to  achieve  this  using  Direct3D  ! D3D  performance  extremely  unpredictable:  

‒ Hidden  shader  compilaOon  cost  ‒ Can  kick  in  at  undefined  Omes  depending  on  driver.  

‒ High  and  unpredictable  resource  creaOon  cost.  ‒ GPU  resource  memory  management  largely  out  of  applicaOon  control.  ‒ Very  high  draw  call  overhead.  ‒ Title  specific  driver  opOmizaOons  almost  required.  ‒ Drivers  aiempt  to  opOmize  using  addiOonal  threads.  

‒ Out  of  applicaOon  control.  ‒ Takes  CPU  Ome  away  from  other  tasks.  

! Recently  hardware  developed  faster  than  DX.  

Page 20: GS-4151, Developing Thief with new AMD technology, by Jurjen Katsman

20   |      THE  NIXXES  PHILOSOPHY      |      NOVEMBER  12,  2012      |      CONFIDENTIAL  

Page 21: GS-4151, Developing Thief with new AMD technology, by Jurjen Katsman

21   |      THE  NIXXES  PHILOSOPHY      |      NOVEMBER  12,  2012      |      CONFIDENTIAL  

WHY  WE  USE  MANTLE  

! Mantle  is  a  new  API  ‒ Not  Magic.  ‒ Performance  gains  come  from  having  a  beier  abstracOon  layer…  ‒ …  not  from  having  no  abstracOon  layer!  

! Mantle  is  designed  to  fully  leverage  GCN.  ‒ Not  hardwired  to  GCN!  ‒ Mantle  does  require  a  minimum  feature  level  from  hardware.  

! Mantle  improves  performance  on  both,  CPU  and  GPU.  ! Not  a  simple  drop  in  replacement  for  DirectX  or  OpenGL.  ! Mantle  does  not  have  to  be  AMD  specific.  

‒   Showcases  a  model  that  we  believe  could  work  as  a  vendor-­‐neutral  API.  

WHAT  IS  MANTLE?  

Page 22: GS-4151, Developing Thief with new AMD technology, by Jurjen Katsman

22   |      THE  NIXXES  PHILOSOPHY      |      NOVEMBER  12,  2012      |      CONFIDENTIAL  

WHY  WE  USE  MANTLE  

! Dispatching  draw  calls  is  very  fast  compared  to  DirectX.  ! Command  buffers  can  be  created  on  mulOple  threads.  ‒ ApplicaOon  can  fully  control  mulO-­‐threading.  ‒ No  hidden  addiOonal  threads  from  drivers.  ‒ ApplicaOon  decides  how  many  render  threads  it  needs.  

‒ Virtually  no  limits.  ! Command  buffers  can  be  re-­‐used.  

‒ D3D11  Deferred  Contexts  done  right?  ! PC  gamer  will  be  able  to  achieve  higher  frame-­‐rate  with  a  lower-­‐spec  CPU!  

‒ Or  games  can  get  more  complicated  without  losing  performance.  ‒   E.g.  Increased  draw  distance.  

 

LOW  DRAW  CALL  OVERHEAD  

Page 23: GS-4151, Developing Thief with new AMD technology, by Jurjen Katsman

23   |      THE  NIXXES  PHILOSOPHY      |      NOVEMBER  12,  2012      |      CONFIDENTIAL  

WHY  WE  USE  MANTLE  

! GPU  state  is  largely  represented  as  a  single  pipeline.  ‒ Can  be  a  bit  tricky  since  it  doesn’t  fit  with  current  engine  designs.  ‒ Allows  beier  opOmizaOon  which  saves  work  for  the  developer.  

! Large  gains!  ‒ All  cost  is  on  pipeline  creaOon.  ‒ Can  be  done  on  addiOonal  threads.  ‒ Can  start  with  less  opOmized  pipelines.  ‒ OpOmize  over  Ome  using  spare  CPU  cycles.  ‒ Serialize  to  disk  so  we  can  start  opOmized  next  Ome.  

! PC  gamer  will  get  smooth  gameplay!    No  unexpected  stalls  due  to  shader  creaOon  or  state  changes  that  trigger  driver  recompilaOon.  

 

SHADER  COMPILATION    

Page 24: GS-4151, Developing Thief with new AMD technology, by Jurjen Katsman

24   |      THE  NIXXES  PHILOSOPHY      |      NOVEMBER  12,  2012      |      CONFIDENTIAL  

WHY  WE  USE  MANTLE  

! Resource  creaOon  is  lightweight.  ‒ Minimal  validaOon.  ‒ Cost  comes  from  memory  allocaOon  and  streaming.  ‒ Can  be  done  on  addiOonal  threads.  ‒ Full  control  over  what  happens  when.  

! Memory  management  is  done  by  the  applicaOon.  ‒ Requires  more  work  than  on  DirectX.  ‒ Similar  to  developing  on  consoles…  ‒ …  but  more  scenarios  need  to  be  taken  into  account.  

 

RESOURCE  CREATION  COST  AND  MEMORY  MANAGEMENT    

Page 25: GS-4151, Developing Thief with new AMD technology, by Jurjen Katsman

25   |      THE  NIXXES  PHILOSOPHY      |      NOVEMBER  12,  2012      |      CONFIDENTIAL  

WHY  WE  USE  MANTLE  

! GPU  compute  power  currently  oren  underuOlized.  ‒ 5.6TFLOPS  in  R290X.  Whow!  ‒ ALU  power  rarely  fully  uOlized.  ~50%  idle  not  unusual.  

! Other  boilenecks  oren  present:  ‒ Memory.  ‒ Texture  fetching.  ‒ RasterisaOon.  

! Asynchronous  Compute  allows  us  to  more  efficiently  use  all  the  power  in  the  GPU.  

! PC  Gamer  will  get  higher  frame-­‐rate  in  GPU  limited  cases.  ‒ Or  more  expensive  compute  based  effects  possible  with  a  low  performance  impact!  

ASYNCHRONOUS  COMPUTE  

Page 26: GS-4151, Developing Thief with new AMD technology, by Jurjen Katsman

26   |      THE  NIXXES  PHILOSOPHY      |      NOVEMBER  12,  2012      |      CONFIDENTIAL  

WHY  WE  USE  MANTLE  

! Mantle  as  an  API  is  not  something  we  use  on  the  consoles.  ‒ Mantle  is  exclusive  to  PC  

‒ Right  now.  ‒ On  consoles  it  makes  sense  to  opOmize  „down  to  the  metal“.  ‒ We  spend  a  lot  of  Ome  on  consoles  to  develop  best  pracOces  for  GCN  and  CPU:  

‒ Heavily  mulOthreaded  rendering.  ‒ Asynchronous  compute.  ‒ That’s  where  the  complexity  is.  ‒ This  now  translates  easily  to  the  PC.  

THE  CONSOLE  CONNECTION  

Page 27: GS-4151, Developing Thief with new AMD technology, by Jurjen Katsman

27   |      THE  NIXXES  PHILOSOPHY      |      NOVEMBER  12,  2012      |      CONFIDENTIAL  

MANTLE  

! Naïve  Direct3D  ports  will  not  magically  get  much  beier  performance.  ‒ You  need  to  architect  a  render  pipeline  in  a  different  way.  Not  emulate  Direct3D.  

! UOlizing  all  CPU  cores  is  key.  ! Avoid  other  CPU  boilenecks  on  the  engine  side.  ! You  can  render  a  lot  more  

‒ But  you  may  also  need  to  simulate  a  lot  more.  

! New  boilenecks  will  show  up.  ‒ But  most  of  those  are  under  applicaOon  control!  ‒ Engine  programmer  is  in  control  again!  

CAVEATS  

Page 28: GS-4151, Developing Thief with new AMD technology, by Jurjen Katsman

28   |      THE  NIXXES  PHILOSOPHY      |      NOVEMBER  12,  2012      |      CONFIDENTIAL  

MANTLE  

! Beier  control  over  CPU  threads.  ! Much  higher  draw-­‐call  throughput  possible.    ! Lower  API  overhead.  ! Beier  GPU  uOlizaOon.    

SUMMARY  

Page 29: GS-4151, Developing Thief with new AMD technology, by Jurjen Katsman

29   |      THE  NIXXES  PHILOSOPHY      |      NOVEMBER  12,  2012      |      CONFIDENTIAL  

THE  NIXXES  PHILOSOPHY  FOR  PC  GAMING  

! The  PC  gaming  community  is  a  great  group  of  consumers.  ‒ They  care  deeply  about  their  experience  and  invest  in  it.  ‒ Reward  them!  

! Try  to  leverage  all  the  unique  PC  technologies  that  they  may  have  invested  in.  

! Mantle  is  a  huge  breakthrough  to  make  this  possible.  ‒ Allow  mid-­‐end  PCs  to  get  performance  equivalent  to  the  consoles.  ‒ Allow  high-­‐end  PCs  to  truly  shine.  

! In  Thief  we  intend  to  do  exactly  that!  

SUMMARY  

Page 30: GS-4151, Developing Thief with new AMD technology, by Jurjen Katsman

30   |      THE  NIXXES  PHILOSOPHY      |      NOVEMBER  12,  2012      |      CONFIDENTIAL  

 Thank  you!  

Page 31: GS-4151, Developing Thief with new AMD technology, by Jurjen Katsman

31   |      THE  NIXXES  PHILOSOPHY      |      NOVEMBER  12,  2012      |      CONFIDENTIAL  

DISCLAIMER  &  ATTRIBUTION  

The  informaOon  presented  in  this  document  is  for  informaOonal  purposes  only  and  may  contain  technical  inaccuracies,  omissions  and  typographical  errors.    

The  informaOon  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,  sorware  changes,  BIOS  flashes,  firmware  upgrades,  or  the  like.  AMD  assumes  no  obligaOon  to  update  or  otherwise  correct  or  revise  this  informaOon.  However,  AMD  reserves  the  right  to  revise  this  informaOon  and  to  make  changes  from  Ome  to  Ome  to  the  content  hereof  without  obligaOon  of  AMD  to  noOfy  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  combinaOons  thereof  are  trademarks  of  Advanced  Micro  Devices,  Inc.  in  the  United  States  and/or  other  jurisdicOons.    SPEC    is  a  registered  trademark  of  the  Standard  Performance  EvaluaOon  CorporaOon  (SPEC).  Other  names  are  for  informaOonal  purposes  only  and  may  be  trademarks  of  their  respecOve  owners.