Advertisement
Guest User

Untitled

a guest
Mar 24th, 2020
3,445
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 100.09 KB | None | 0 0
  1. 1
  2. 00:00:00,000 --> 00:00:08,460
  3. hi unfortunately we had to cancel the
  4.  
  5. 2
  6. 00:00:03,600 --> 00:00:10,919
  7. the talk that we had planned for GDC but
  8.  
  9. 3
  10. 00:00:08,460 --> 00:00:15,120
  11. we do have some super exciting news
  12.  
  13. 4
  14. 00:00:10,919 --> 00:00:17,160
  15. about ps5 and who better to bring that
  16.  
  17. 5
  18. 00:00:15,119 --> 00:00:18,929
  19. to you than the one and only mark Cerny
  20.  
  21. 6
  22. 00:00:17,160 --> 00:00:24,390
  23. without further ado over to you mark
  24.  
  25. 7
  26. 00:00:18,929 --> 00:00:25,980
  27. thank you Jim there will be lots of
  28.  
  29. 8
  30. 00:00:24,390 --> 00:00:28,710
  31. chances later on this year to look at
  32.  
  33. 9
  34. 00:00:25,980 --> 00:00:30,329
  35. the PlayStation 5 games today I want to
  36.  
  37. 10
  38. 00:00:28,710 --> 00:00:32,279
  39. talk a bit about our goals for the
  40.  
  41. 11
  42. 00:00:30,329 --> 00:00:34,379
  43. PlayStation 5 hardware and how they
  44.  
  45. 12
  46. 00:00:32,279 --> 00:00:36,719
  47. influenced the development of the
  48.  
  49. 13
  50. 00:00:34,380 --> 00:00:38,730
  51. console I think you all know I'm a big
  52.  
  53. 14
  54. 00:00:36,719 --> 00:00:41,489
  55. believer in console generations once
  56.  
  57. 15
  58. 00:00:38,729 --> 00:00:43,019
  59. every 5 or 6 or 7 years a console
  60.  
  61. 16
  62. 00:00:41,488 --> 00:00:45,509
  63. arrives with substantially new
  64.  
  65. 17
  66. 00:00:43,020 --> 00:00:47,520
  67. capabilities there's a lot of learning
  68.  
  69. 18
  70. 00:00:45,509 --> 00:00:49,799
  71. by the game developers hopefully not too
  72.  
  73. 19
  74. 00:00:47,520 --> 00:00:52,559
  75. overwhelming and soon there's games that
  76.  
  77. 20
  78. 00:00:49,799 --> 00:00:54,659
  79. could never have been created before now
  80.  
  81. 21
  82. 00:00:52,558 --> 00:00:56,849
  83. it used to be that as a console designer
  84.  
  85. 22
  86. 00:00:54,659 --> 00:00:58,799
  87. you'd somehow Intuit what would be the
  88.  
  89. 23
  90. 00:00:56,850 --> 00:01:00,989
  91. best set of capabilities for the new
  92.  
  93. 24
  94. 00:00:58,799 --> 00:01:03,479
  95. console and then build it in complete
  96.  
  97. 25
  98. 00:01:00,988 --> 00:01:05,849
  99. secrecy for the PlayStation consoles
  100.  
  101. 26
  102. 00:01:03,479 --> 00:01:08,429
  103. that period lasted through PlayStation 3
  104.  
  105. 27
  106. 00:01:05,849 --> 00:01:10,769
  107. a powerful and groundbreaking console
  108.  
  109. 28
  110. 00:01:08,430 --> 00:01:12,540
  111. but also one that caused quite a lot of
  112.  
  113. 29
  114. 00:01:10,769 --> 00:01:15,929
  115. heartache as it was initially difficult
  116.  
  117. 30
  118. 00:01:12,540 --> 00:01:17,640
  119. to develop games for so starting with
  120.  
  121. 31
  122. 00:01:15,930 --> 00:01:19,650
  123. PlayStation 4 we've taken a different
  124.  
  125. 32
  126. 00:01:17,640 --> 00:01:22,259
  127. approach roughly centered around three
  128.  
  129. 33
  130. 00:01:19,650 --> 00:01:24,118
  131. principles the first of these is
  132.  
  133. 34
  134. 00:01:22,259 --> 00:01:26,519
  135. listening to the developers which is to
  136.  
  137. 35
  138. 00:01:24,118 --> 00:01:28,469
  139. say that a lot of what we put into a
  140.  
  141. 36
  142. 00:01:26,519 --> 00:01:31,078
  143. console derives directly from the needs
  144.  
  145. 37
  146. 00:01:28,469 --> 00:01:33,060
  147. and aspirations of the game creators we
  148.  
  149. 38
  150. 00:01:31,078 --> 00:01:35,250
  151. definitely do have some ideas of our own
  152.  
  153. 39
  154. 00:01:33,060 --> 00:01:37,320
  155. but at the core of our philosophy for
  156.  
  157. 40
  158. 00:01:35,250 --> 00:01:40,109
  159. designing consoles is that game players
  160.  
  161. 41
  162. 00:01:37,319 --> 00:01:42,029
  163. are here for the fantastic games which
  164.  
  165. 42
  166. 00:01:40,109 --> 00:01:45,060
  167. is to say that game creators matter
  168.  
  169. 43
  170. 00:01:42,030 --> 00:01:46,890
  171. anything we can do to make life easier
  172.  
  173. 44
  174. 00:01:45,060 --> 00:01:50,430
  175. for the game creators or help them
  176.  
  177. 45
  178. 00:01:46,890 --> 00:01:52,829
  179. realize their dreams we will do so about
  180.  
  181. 46
  182. 00:01:50,430 --> 00:01:54,479
  183. once every two years I take a tour of
  184.  
  185. 47
  186. 00:01:52,828 --> 00:01:56,849
  187. the industry I go to the various
  188.  
  189. 48
  190. 00:01:54,478 --> 00:01:58,349
  191. developers and publishers sit down and
  192.  
  193. 49
  194. 00:01:56,849 --> 00:01:59,849
  195. discuss how they're doing with the
  196.  
  197. 50
  198. 00:01:58,349 --> 00:02:02,578
  199. current consoles and what they'd like to
  200.  
  201. 51
  202. 00:01:59,849 --> 00:02:04,769
  203. see in future consoles this requires
  204.  
  205. 52
  206. 00:02:02,578 --> 00:02:06,658
  207. weeks on the road as reaching the bulk
  208.  
  209. 53
  210. 00:02:04,769 --> 00:02:08,008
  211. of the game creators involves talking to
  212.  
  213. 54
  214. 00:02:06,659 --> 00:02:10,110
  215. well over a hundred people it's
  216.  
  217. 55
  218. 00:02:08,008 --> 00:02:13,669
  219. something like two dozen publishers and
  220.  
  221. 56
  222. 00:02:10,110 --> 00:02:17,220
  223. developers and it is incredibly valuable
  224.  
  225. 57
  226. 00:02:13,669 --> 00:02:20,369
  227. by the way the feature most requested by
  228.  
  229. 58
  230. 00:02:17,219 --> 00:02:22,319
  231. the developers that was an SST which we
  232.  
  233. 59
  234. 00:02:20,370 --> 00:02:24,990
  235. were very happy to put in hardware but a
  236.  
  237. 60
  238. 00:02:22,319 --> 00:02:27,239
  239. lot of problem solving was required I'll
  240.  
  241. 61
  242. 00:02:24,990 --> 00:02:29,430
  243. be doing a deep dive on the SSD and
  244.  
  245. 62
  246. 00:02:27,240 --> 00:02:32,450
  247. surrounding systems later on in this
  248.  
  249. 63
  250. 00:02:29,430 --> 00:02:34,500
  251. talk it's also key to make a
  252.  
  253. 64
  254. 00:02:32,449 --> 00:02:36,479
  255. generational leaf while keeping the
  256.  
  257. 65
  258. 00:02:34,500 --> 00:02:38,400
  259. console sufficiently familiar to game
  260.  
  261. 66
  262. 00:02:36,479 --> 00:02:40,819
  263. developers I think about this in terms
  264.  
  265. 67
  266. 00:02:38,400 --> 00:02:43,860
  267. of balancing evolution and revolution
  268.  
  269. 68
  270. 00:02:40,819 --> 00:02:45,840
  271. now with Playstation one two and three
  272.  
  273. 69
  274. 00:02:43,860 --> 00:02:48,150
  275. the target was a revolution each time
  276.  
  277. 70
  278. 00:02:45,840 --> 00:02:50,099
  279. with a brand new feature set that was
  280.  
  281. 71
  282. 00:02:48,150 --> 00:02:51,599
  283. great in many ways but time for the
  284.  
  285. 72
  286. 00:02:50,099 --> 00:02:53,789
  287. developers to get up and running got
  288.  
  289. 73
  290. 00:02:51,599 --> 00:02:56,939
  291. longer with each console in the past
  292.  
  293. 74
  294. 00:02:53,789 --> 00:02:59,489
  295. I've called this time to triangle here's
  296.  
  297. 75
  298. 00:02:56,939 --> 00:03:01,349
  299. what I had for those three consoles to
  300.  
  301. 76
  302. 00:02:59,490 --> 00:03:03,780
  303. be clear I'm not talking about time to
  304.  
  305. 77
  306. 00:03:01,349 --> 00:03:06,000
  307. make a game developers will be ambitious
  308.  
  309. 78
  310. 00:03:03,780 --> 00:03:08,460
  311. and it may take them six years or so to
  312.  
  313. 79
  314. 00:03:06,000 --> 00:03:10,919
  315. realize their vision what I'm talking
  316.  
  317. 80
  318. 00:03:08,460 --> 00:03:12,689
  319. about is that dead time before graphics
  320.  
  321. 81
  322. 00:03:10,919 --> 00:03:14,789
  323. and other aspects of game development
  324.  
  325. 82
  326. 00:03:12,689 --> 00:03:17,699
  327. are up and running and trying to
  328.  
  329. 83
  330. 00:03:14,789 --> 00:03:19,530
  331. minimize that on the other hand if we're
  332.  
  333. 84
  334. 00:03:17,699 --> 00:03:21,269
  335. trying to reduce that dead time to 0
  336.  
  337. 85
  338. 00:03:19,530 --> 00:03:22,800
  339. that means the hardware architecture
  340.  
  341. 86
  342. 00:03:21,270 --> 00:03:25,469
  343. can't change at all
  344.  
  345. 87
  346. 00:03:22,800 --> 00:03:27,660
  347. we're handcuffed we need to judge for
  348.  
  349. 88
  350. 00:03:25,469 --> 00:03:29,310
  351. each feature what value it adds and
  352.  
  353. 89
  354. 00:03:27,659 --> 00:03:31,549
  355. whether it's worth the increase in
  356.  
  357. 90
  358. 00:03:29,310 --> 00:03:34,110
  359. developer time needed to support it so
  360.  
  361. 91
  362. 00:03:31,550 --> 00:03:35,580
  363. with Playstation 4 we were able to
  364.  
  365. 92
  366. 00:03:34,110 --> 00:03:37,680
  367. strike a pretty good balance between
  368.  
  369. 93
  370. 00:03:35,580 --> 00:03:39,900
  371. performance and familiarity we got
  372.  
  373. 94
  374. 00:03:37,680 --> 00:03:43,770
  375. required learning back to PlayStation 1
  376.  
  377. 95
  378. 00:03:39,900 --> 00:03:45,450
  379. levels with PS 5 the GPU was definitely
  380.  
  381. 96
  382. 00:03:43,770 --> 00:03:48,090
  383. the area that we felt the most tension
  384.  
  385. 97
  386. 00:03:45,449 --> 00:03:50,849
  387. between adding new features and keeping
  388.  
  389. 98
  390. 00:03:48,090 --> 00:03:52,379
  391. a familiar programming model ultimately
  392.  
  393. 99
  394. 00:03:50,849 --> 00:03:54,269
  395. I think we've ended up with something
  396.  
  397. 100
  398. 00:03:52,379 --> 00:03:56,459
  399. under a month of getting up to speed
  400.  
  401. 101
  402. 00:03:54,270 --> 00:03:58,290
  403. that feels like we're striking about the
  404.  
  405. 102
  406. 00:03:56,459 --> 00:04:00,090
  407. right balance I'll go into a bit more
  408.  
  409. 103
  410. 00:03:58,289 --> 00:04:02,789
  411. detail later today about our philosophy
  412.  
  413. 104
  414. 00:04:00,090 --> 00:04:06,689
  415. with the GPU and the specific feature
  416.  
  417. 105
  418. 00:04:02,789 --> 00:04:09,060
  419. set that resulted from it it's also very
  420.  
  421. 106
  422. 00:04:06,689 --> 00:04:10,919
  423. important for us as the hardware team to
  424.  
  425. 107
  426. 00:04:09,060 --> 00:04:13,890
  427. find new dreams by which I mean
  428.  
  429. 108
  430. 00:04:10,919 --> 00:04:16,469
  431. something other than CPU performance GPU
  432.  
  433. 109
  434. 00:04:13,889 --> 00:04:18,298
  435. performance and the amount of RAM the
  436.  
  437. 110
  438. 00:04:16,470 --> 00:04:19,440
  439. increase in graphics performance over
  440.  
  441. 111
  442. 00:04:18,298 --> 00:04:21,719
  443. the past two decades has been
  444.  
  445. 112
  446. 00:04:19,439 --> 00:04:23,219
  447. astonishing but there are other areas in
  448.  
  449. 113
  450. 00:04:21,720 --> 00:04:25,169
  451. which we can innovate and provide a
  452.  
  453. 114
  454. 00:04:23,220 --> 00:04:26,330
  455. significant value to the game creators
  456.  
  457. 115
  458. 00:04:25,168 --> 00:04:29,089
  459. and through them
  460.  
  461. 116
  462. 00:04:26,329 --> 00:04:30,589
  463. the players that's why the SSD was very
  464.  
  465. 117
  466. 00:04:29,089 --> 00:04:32,628
  467. much on our list of directions to
  468.  
  469. 118
  470. 00:04:30,589 --> 00:04:34,638
  471. explore regardless of what came out of
  472.  
  473. 119
  474. 00:04:32,629 --> 00:04:37,610
  475. the conversations with game developers
  476.  
  477. 120
  478. 00:04:34,639 --> 00:04:39,829
  479. and publishers the biggest feature in
  480.  
  481. 121
  482. 00:04:37,610 --> 00:04:42,288
  483. this category is the custom engine for
  484.  
  485. 122
  486. 00:04:39,829 --> 00:04:45,050
  487. audio that's today's final topic the
  488.  
  489. 123
  490. 00:04:42,288 --> 00:04:47,658
  491. push for vastly improved audio and in
  492.  
  493. 124
  494. 00:04:45,050 --> 00:04:49,129
  495. particular 3d audio isn't something that
  496.  
  497. 125
  498. 00:04:47,658 --> 00:04:51,168
  499. came out of the developer meetings it's
  500.  
  501. 126
  502. 00:04:49,129 --> 00:04:53,810
  503. much more the case that we had a dream
  504.  
  505. 127
  506. 00:04:51,168 --> 00:04:55,818
  507. of what might be possible five years
  508.  
  509. 128
  510. 00:04:53,810 --> 00:04:57,769
  511. from now and then worked out a number of
  512.  
  513. 129
  514. 00:04:55,819 --> 00:05:00,468
  515. steps we could take to set us on that
  516.  
  517. 130
  518. 00:04:57,769 --> 00:05:02,870
  519. path so here again are the three
  520.  
  521. 131
  522. 00:05:00,468 --> 00:05:05,120
  523. principles the first being enabling the
  524.  
  525. 132
  526. 00:05:02,870 --> 00:05:08,689
  527. desires of developers to drive the
  528.  
  529. 133
  530. 00:05:05,120 --> 00:05:10,728
  531. hardware design to me the SSD really is
  532.  
  533. 134
  534. 00:05:08,689 --> 00:05:13,430
  535. the key to the next generation it's a
  536.  
  537. 135
  538. 00:05:10,728 --> 00:05:15,709
  539. game changer and it was the number one
  540.  
  541. 136
  542. 00:05:13,430 --> 00:05:18,590
  543. ask from developers for PlayStation 5 as
  544.  
  545. 137
  546. 00:05:15,709 --> 00:05:22,008
  547. in we know it's probably impossible but
  548.  
  549. 138
  550. 00:05:18,589 --> 00:05:23,299
  551. can you put an SSD in it that was a
  552.  
  553. 139
  554. 00:05:22,009 --> 00:05:25,098
  555. discussion we were also having
  556.  
  557. 140
  558. 00:05:23,300 --> 00:05:26,569
  559. internally it was clear that the
  560.  
  561. 141
  562. 00:05:25,098 --> 00:05:28,550
  563. presence of a hard drive in every
  564.  
  565. 142
  566. 00:05:26,569 --> 00:05:30,949
  567. PlayStation 4 was having a positive
  568.  
  569. 143
  570. 00:05:28,550 --> 00:05:33,199
  571. impact a lot of things that would simply
  572.  
  573. 144
  574. 00:05:30,949 --> 00:05:35,449
  575. have been impossible at blu-ray disc
  576.  
  577. 145
  578. 00:05:33,199 --> 00:05:38,389
  579. speeds were now possible at the same
  580.  
  581. 146
  582. 00:05:35,449 --> 00:05:39,430
  583. time though in 2015 and 2016 when we
  584.  
  585. 147
  586. 00:05:38,389 --> 00:05:41,810
  587. were having these conversations
  588.  
  589. 148
  590. 00:05:39,430 --> 00:05:43,370
  591. developers were already banging up
  592.  
  593. 149
  594. 00:05:41,810 --> 00:05:45,649
  595. against the limits of the hard drive and
  596.  
  597. 150
  598. 00:05:43,370 --> 00:05:50,209
  599. a lot of developer time was being spent
  600.  
  601. 151
  602. 00:05:45,649 --> 00:05:52,609
  603. designing around slow load speeds I want
  604.  
  605. 152
  606. 00:05:50,209 --> 00:05:54,948
  607. to focus in on just one number here
  608.  
  609. 153
  610. 00:05:52,610 --> 00:05:57,740
  611. which is how long it takes to load a
  612.  
  613. 154
  614. 00:05:54,949 --> 00:05:59,810
  615. gigabyte of data from a hard drive the
  616.  
  617. 155
  618. 00:05:57,740 --> 00:06:02,150
  619. difficulty being that hard drives are
  620.  
  621. 156
  622. 00:05:59,810 --> 00:06:04,848
  623. neither particularly fast nor flexible
  624.  
  625. 157
  626. 00:06:02,149 --> 00:06:07,370
  627. if all your data is in one block which
  628.  
  629. 158
  630. 00:06:04,848 --> 00:06:09,860
  631. is frankly not very likely you can load
  632.  
  633. 159
  634. 00:06:07,370 --> 00:06:11,899
  635. 50 to 100 megabytes a second depending
  636.  
  637. 160
  638. 00:06:09,860 --> 00:06:13,310
  639. on where the data is located on the hard
  640.  
  641. 161
  642. 00:06:11,899 --> 00:06:15,049
  643. drive let's assume it's on the outer
  644.  
  645. 162
  646. 00:06:13,310 --> 00:06:17,389
  647. edge which means loading a gigabyte
  648.  
  649. 163
  650. 00:06:15,050 --> 00:06:19,728
  651. takes 10 seconds if you compress your
  652.  
  653. 164
  654. 00:06:17,389 --> 00:06:21,829
  655. game packages you can fit more data on
  656.  
  657. 165
  658. 00:06:19,728 --> 00:06:24,228
  659. the blu-ray disc and also effectively
  660.  
  661. 166
  662. 00:06:21,829 --> 00:06:26,990
  663. boost your hard drive read speed by the
  664.  
  665. 167
  666. 00:06:24,228 --> 00:06:28,939
  667. compression ratio we support Z Lib
  668.  
  669. 168
  670. 00:06:26,990 --> 00:06:31,129
  671. decompression on PlayStation 4 that gets
  672.  
  673. 169
  674. 00:06:28,939 --> 00:06:34,838
  675. you something like 50% more data on the
  676.  
  677. 170
  678. 00:06:31,129 --> 00:06:37,099
  679. disk and 50% higher effective read speed
  680.  
  681. 171
  682. 00:06:34,838 --> 00:06:39,408
  683. unfortunately though it's highly likely
  684.  
  685. 172
  686. 00:06:37,098 --> 00:06:41,569
  687. that your data is scattered around in
  688.  
  689. 173
  690. 00:06:39,408 --> 00:06:43,550
  691. files on the hard drive as well as
  692.  
  693. 174
  694. 00:06:41,569 --> 00:06:46,309
  695. sourced from multiple locations within
  696.  
  697. 175
  698. 00:06:43,550 --> 00:06:49,699
  699. those files so lots of Sikhs are needed
  700.  
  701. 176
  702. 00:06:46,309 --> 00:06:51,588
  703. at two to fifty ish milliseconds each my
  704.  
  705. 177
  706. 00:06:49,699 --> 00:06:53,478
  707. rule of thumb is that the hard drive is
  708.  
  709. 178
  710. 00:06:51,588 --> 00:06:56,478
  711. spending two-thirds of its time seeking
  712.  
  713. 179
  714. 00:06:53,478 --> 00:06:58,639
  715. and only a third of its time actually
  716.  
  717. 180
  718. 00:06:56,478 --> 00:07:01,428
  719. loading data putting all of that
  720.  
  721. 181
  722. 00:06:58,639 --> 00:07:05,059
  723. together a gigabyte is very roughly 20
  724.  
  725. 182
  726. 00:07:01,428 --> 00:07:07,638
  727. seconds to load from a hard drive now a
  728.  
  729. 183
  730. 00:07:05,059 --> 00:07:09,800
  731. gigabyte is not much data games are
  732.  
  733. 184
  734. 00:07:07,639 --> 00:07:12,019
  735. using five or six gigabytes of RAM on
  736.  
  737. 185
  738. 00:07:09,800 --> 00:07:14,449
  739. PlayStation 4 so boot times and load
  740.  
  741. 186
  742. 00:07:12,019 --> 00:07:16,819
  743. tons can get pretty grim or to put that
  744.  
  745. 187
  746. 00:07:14,449 --> 00:07:19,389
  747. differently as a player you wait for the
  748.  
  749. 188
  750. 00:07:16,819 --> 00:07:22,399
  751. game to boot wait for the game to load
  752.  
  753. 189
  754. 00:07:19,389 --> 00:07:24,110
  755. wait for the level to reload every time
  756.  
  757. 190
  758. 00:07:22,399 --> 00:07:25,399
  759. you die and you wait for what is
  760.  
  761. 191
  762. 00:07:24,110 --> 00:07:28,819
  763. euphemistically called
  764.  
  765. 192
  766. 00:07:25,399 --> 00:07:31,218
  767. fast travel and all of that leads to the
  768.  
  769. 193
  770. 00:07:28,819 --> 00:07:34,309
  771. dream what if we could have not just an
  772.  
  773. 194
  774. 00:07:31,218 --> 00:07:37,129
  775. SSD but a blindingly fast Assisting if
  776.  
  777. 195
  778. 00:07:34,309 --> 00:07:40,219
  779. we could load five gigabytes a second
  780.  
  781. 196
  782. 00:07:37,129 --> 00:07:41,539
  783. from it what would change now SSDs are
  784.  
  785. 197
  786. 00:07:40,218 --> 00:07:42,769
  787. completely different from hard drives
  788.  
  789. 198
  790. 00:07:41,538 --> 00:07:45,259
  791. they don't have sikhs
  792.  
  793. 199
  794. 00:07:42,769 --> 00:07:47,449
  795. as such if you have a five gigabyte a
  796.  
  797. 200
  798. 00:07:45,259 --> 00:07:49,218
  799. second SSD you can read data from a
  800.  
  801. 201
  802. 00:07:47,449 --> 00:07:52,699
  803. thousand different locations in that
  804.  
  805. 202
  806. 00:07:49,218 --> 00:07:54,889
  807. second pretty much at speed as for time
  808.  
  809. 203
  810. 00:07:52,699 --> 00:07:56,929
  811. to load a gigabyte this is next-gen
  812.  
  813. 204
  814. 00:07:54,889 --> 00:07:59,149
  815. we're talking about so memory is bigger
  816.  
  817. 205
  818. 00:07:56,928 --> 00:08:01,788
  819. instead we should be asking how long to
  820.  
  821. 206
  822. 00:07:59,149 --> 00:08:04,519
  823. load two gigabytes and the answer is
  824.  
  825. 207
  826. 00:08:01,788 --> 00:08:06,528
  827. about a quarter of a second that's
  828.  
  829. 208
  830. 00:08:04,519 --> 00:08:10,218
  831. amazing we're talking two orders of
  832.  
  833. 209
  834. 00:08:06,528 --> 00:08:13,158
  835. magnitude meaning very roughly 100 times
  836.  
  837. 210
  838. 00:08:10,218 --> 00:08:15,079
  839. faster which means at five gigabytes a
  840.  
  841. 211
  842. 00:08:13,158 --> 00:08:18,019
  843. second for the SSD the potential is that
  844.  
  845. 212
  846. 00:08:15,079 --> 00:08:20,149
  847. the game boots in a second there are no
  848.  
  849. 213
  850. 00:08:18,019 --> 00:08:22,278
  851. load screens the game just fades down
  852.  
  853. 214
  854. 00:08:20,149 --> 00:08:24,559
  855. while loading a half dozen gigabytes and
  856.  
  857. 215
  858. 00:08:22,278 --> 00:08:26,449
  859. fades back up again same for a reload
  860.  
  861. 216
  862. 00:08:24,559 --> 00:08:29,449
  863. you're immediately back in the action
  864.  
  865. 217
  866. 00:08:26,449 --> 00:08:31,759
  867. after you die and fast travel becomes so
  868.  
  869. 218
  870. 00:08:29,449 --> 00:08:33,740
  871. fast it's blinking you miss it as game
  872.  
  873. 219
  874. 00:08:31,759 --> 00:08:35,629
  875. creators we go from trying to distract
  876.  
  877. 220
  878. 00:08:33,740 --> 00:08:37,818
  879. the player from how long fast travel is
  880.  
  881. 221
  882. 00:08:35,629 --> 00:08:40,519
  883. taking like those spider-man subway
  884.  
  885. 222
  886. 00:08:37,818 --> 00:08:42,078
  887. rides to being so blindingly fast that
  888.  
  889. 223
  890. 00:08:40,519 --> 00:08:45,289
  891. we might even have to slow that
  892.  
  893. 224
  894. 00:08:42,078 --> 00:08:47,808
  895. transition down pretty cool right but
  896.  
  897. 225
  898. 00:08:45,289 --> 00:08:50,269
  899. for me this is not the primary reason to
  900.  
  901. 226
  902. 00:08:47,808 --> 00:08:52,339
  903. change from a hard drive to an SSD the
  904.  
  905. 227
  906. 00:08:50,269 --> 00:08:54,889
  907. primary reason for an ultra
  908.  
  909. 228
  910. 00:08:52,340 --> 00:08:57,769
  911. SST is that it gives the game designer
  912.  
  913. 229
  914. 00:08:54,889 --> 00:09:00,049
  915. freedom or to put that differently with
  916.  
  917. 230
  918. 00:08:57,769 --> 00:09:02,299
  919. a hard drive the twenty seconds that it
  920.  
  921. 231
  922. 00:09:00,049 --> 00:09:04,879
  923. takes to load a gigabyte can sabotage
  924.  
  925. 232
  926. 00:09:02,299 --> 00:09:07,759
  927. the game that the developer is trying to
  928.  
  929. 233
  930. 00:09:04,879 --> 00:09:09,500
  931. create I think almost all of us in the
  932.  
  933. 234
  934. 00:09:07,759 --> 00:09:11,569
  935. room have experienced this maybe in
  936.  
  937. 235
  938. 00:09:09,500 --> 00:09:13,220
  939. different ways say we're making an
  940.  
  941. 236
  942. 00:09:11,570 --> 00:09:15,230
  943. adventure game and we have two rich
  944.  
  945. 237
  946. 00:09:13,220 --> 00:09:17,840
  947. environments where we each want enough
  948.  
  949. 238
  950. 00:09:15,230 --> 00:09:19,370
  951. textures and models to fill memory what
  952.  
  953. 239
  954. 00:09:17,840 --> 00:09:22,220
  955. you can do as long as you have a long
  956.  
  957. 240
  958. 00:09:19,370 --> 00:09:23,870
  959. staircase or elevator ride or a windy
  960.  
  961. 241
  962. 00:09:22,220 --> 00:09:26,509
  963. corridor where you can ditch the old
  964.  
  965. 242
  966. 00:09:23,870 --> 00:09:29,659
  967. assets and then take 30 seconds or so to
  968.  
  969. 243
  970. 00:09:26,509 --> 00:09:31,819
  971. load the new assets having a 30 second
  972.  
  973. 244
  974. 00:09:29,659 --> 00:09:33,829
  975. elevator ride is a little extreme
  976.  
  977. 245
  978. 00:09:31,820 --> 00:09:35,900
  979. more realistically we'd probably chop
  980.  
  981. 246
  982. 00:09:33,830 --> 00:09:37,820
  983. the world into a number of smaller
  984.  
  985. 247
  986. 00:09:35,899 --> 00:09:40,699
  987. pieces and then do some calculations
  988.  
  989. 248
  990. 00:09:37,820 --> 00:09:42,920
  991. with sightlines and run speeds like we
  992.  
  993. 249
  994. 00:09:40,700 --> 00:09:45,800
  995. did for Haven city when we were making
  996.  
  997. 250
  998. 00:09:42,919 --> 00:09:48,379
  999. jak 2 the game is 20 years old but not
  1000.  
  1001. 251
  1002. 00:09:45,799 --> 00:09:50,629
  1003. much has changed since then all those
  1004.  
  1005. 252
  1006. 00:09:48,379 --> 00:09:52,399
  1007. twisty passages are there for a reason
  1008.  
  1009. 253
  1010. 00:09:50,629 --> 00:09:54,919
  1011. there's a whole subset of level design
  1012.  
  1013. 254
  1014. 00:09:52,399 --> 00:09:57,470
  1015. dedicated to this sort of work but still
  1016.  
  1017. 255
  1018. 00:09:54,919 --> 00:10:01,069
  1019. it's a giant distraction for a team that
  1020.  
  1021. 256
  1022. 00:09:57,470 --> 00:10:03,710
  1023. just wants to make their game so when I
  1024.  
  1025. 257
  1026. 00:10:01,070 --> 00:10:05,780
  1027. talked about the dream of an SSD part of
  1028.  
  1029. 258
  1030. 00:10:03,710 --> 00:10:08,480
  1031. the reason for that 5 gigabyte a second
  1032.  
  1033. 259
  1034. 00:10:05,779 --> 00:10:10,339
  1035. target was to eliminate loads but also
  1036.  
  1037. 260
  1038. 00:10:08,480 --> 00:10:14,149
  1039. part of the reason for that target was
  1040.  
  1041. 261
  1042. 00:10:10,340 --> 00:10:16,580
  1043. streaming as in what if the SSD is so
  1044.  
  1045. 262
  1046. 00:10:14,149 --> 00:10:18,409
  1047. fast that as the player is turning
  1048.  
  1049. 263
  1050. 00:10:16,580 --> 00:10:20,300
  1051. around it's possible to load textures
  1052.  
  1053. 264
  1054. 00:10:18,409 --> 00:10:22,850
  1055. for everything behind the player in that
  1056.  
  1057. 265
  1058. 00:10:20,299 --> 00:10:24,620
  1059. split second if you figure that it takes
  1060.  
  1061. 266
  1062. 00:10:22,850 --> 00:10:26,389
  1063. half a second to turn that's four
  1064.  
  1065. 267
  1066. 00:10:24,620 --> 00:10:28,820
  1067. gigabytes of compressed data you can
  1068.  
  1069. 268
  1070. 00:10:26,389 --> 00:10:31,100
  1071. load that sounds about right for next
  1072.  
  1073. 269
  1074. 00:10:28,820 --> 00:10:32,570
  1075. gen anyway back to the hard drive
  1076.  
  1077. 270
  1078. 00:10:31,100 --> 00:10:34,610
  1079. another strategy for increasing
  1080.  
  1081. 271
  1082. 00:10:32,570 --> 00:10:37,310
  1083. effective read speed is to make big
  1084.  
  1085. 272
  1086. 00:10:34,610 --> 00:10:39,379
  1087. sequential chunks of data for example we
  1088.  
  1089. 273
  1090. 00:10:37,309 --> 00:10:41,629
  1091. might group all the data together for
  1092.  
  1093. 274
  1094. 00:10:39,379 --> 00:10:44,090
  1095. each city block that removes most of the
  1096.  
  1097. 275
  1098. 00:10:41,629 --> 00:10:45,980
  1099. seeks and the streaming gets faster but
  1100.  
  1101. 276
  1102. 00:10:44,090 --> 00:10:48,230
  1103. there's a downside too which is that
  1104.  
  1105. 277
  1106. 00:10:45,980 --> 00:10:49,879
  1107. frequently used data is included in many
  1108.  
  1109. 278
  1110. 00:10:48,230 --> 00:10:51,759
  1111. chunks and therefore is on the hard
  1112.  
  1113. 279
  1114. 00:10:49,879 --> 00:10:54,409
  1115. drive many many times
  1116.  
  1117. 280
  1118. 00:10:51,759 --> 00:10:56,120
  1119. Marvel spider-men uses this strategy and
  1120.  
  1121. 281
  1122. 00:10:54,409 --> 00:10:58,699
  1123. though it works very well for increasing
  1124.  
  1125. 282
  1126. 00:10:56,120 --> 00:11:00,860
  1127. the streaming speed there's a massive
  1128.  
  1129. 283
  1130. 00:10:58,700 --> 00:11:03,259
  1131. duplication as a result some of the
  1132.  
  1133. 284
  1134. 00:11:00,860 --> 00:11:04,550
  1135. objects like mailboxes or newsracks are
  1136.  
  1137. 285
  1138. 00:11:03,259 --> 00:11:07,669
  1139. on the hard drive for
  1140.  
  1141. 286
  1142. 00:11:04,549 --> 00:11:09,049
  1143. hundred times what I'm describing here
  1144.  
  1145. 287
  1146. 00:11:07,669 --> 00:11:11,509
  1147. are things that cramp
  1148.  
  1149. 288
  1150. 00:11:09,049 --> 00:11:13,039
  1151. a creative director style either level
  1152.  
  1153. 289
  1154. 00:11:11,509 --> 00:11:15,588
  1155. design gets a little bit boring in
  1156.  
  1157. 290
  1158. 00:11:13,039 --> 00:11:17,240
  1159. places or the data is duplicated so many
  1160.  
  1161. 291
  1162. 00:11:15,589 --> 00:11:19,550
  1163. times that it no longer fits on the
  1164.  
  1165. 292
  1166. 00:11:17,240 --> 00:11:21,350
  1167. blu-ray disk and you end up with hard
  1168.  
  1169. 293
  1170. 00:11:19,549 --> 00:11:23,689
  1171. limits on the players run speed or
  1172.  
  1173. 294
  1174. 00:11:21,350 --> 00:11:25,670
  1175. driving speed the player can't go faster
  1176.  
  1177. 295
  1178. 00:11:23,690 --> 00:11:28,370
  1179. than the load speed from the hard drive
  1180.  
  1181. 296
  1182. 00:11:25,669 --> 00:11:30,500
  1183. and finally I'm sure many of you have
  1184.  
  1185. 297
  1186. 00:11:28,370 --> 00:11:32,389
  1187. noticed that after a patch download the
  1188.  
  1189. 298
  1190. 00:11:30,500 --> 00:11:35,600
  1191. PlayStation 4 will sometimes take a long
  1192.  
  1193. 299
  1194. 00:11:32,389 --> 00:11:37,338
  1195. time to install the patch that's because
  1196.  
  1197. 300
  1198. 00:11:35,600 --> 00:11:39,019
  1199. when just part of a file has been
  1200.  
  1201. 301
  1202. 00:11:37,339 --> 00:11:41,779
  1203. changed the new data can be downloaded
  1204.  
  1205. 302
  1206. 00:11:39,019 --> 00:11:43,700
  1207. pretty quickly but before the game boots
  1208.  
  1209. 303
  1210. 00:11:41,778 --> 00:11:45,409
  1211. up a brand new file has to be
  1212.  
  1213. 304
  1214. 00:11:43,700 --> 00:11:47,959
  1215. constructed that includes the changed
  1216.  
  1217. 305
  1218. 00:11:45,409 --> 00:11:50,899
  1219. portion otherwise every change would add
  1220.  
  1221. 306
  1222. 00:11:47,958 --> 00:11:52,909
  1223. a seek or two even so you can
  1224.  
  1225. 307
  1226. 00:11:50,899 --> 00:11:55,100
  1227. occasionally see this happening on game
  1228.  
  1229. 308
  1230. 00:11:52,909 --> 00:11:58,219
  1231. titles they start to hitch once they get
  1232.  
  1233. 309
  1234. 00:11:55,100 --> 00:12:00,889
  1235. patched enough with an SSD though no
  1236.  
  1237. 310
  1238. 00:11:58,220 --> 00:12:02,600
  1239. seeks so no need to make brand new files
  1240.  
  1241. 311
  1242. 00:12:00,889 --> 00:12:05,659
  1243. with the changes incorporated into them
  1244.  
  1245. 312
  1246. 00:12:02,600 --> 00:12:09,950
  1247. which means no installs as you know them
  1248.  
  1249. 313
  1250. 00:12:05,659 --> 00:12:12,049
  1251. today there's yet one more benefit which
  1252.  
  1253. 314
  1254. 00:12:09,950 --> 00:12:15,350
  1255. is that system memory can be used much
  1256.  
  1257. 315
  1258. 00:12:12,049 --> 00:12:17,000
  1259. more efficiently on PlayStation 4 game
  1260.  
  1261. 316
  1262. 00:12:15,350 --> 00:12:19,579
  1263. data on the hard drive feels very
  1264.  
  1265. 317
  1266. 00:12:17,000 --> 00:12:21,169
  1267. distant and difficult to use by the time
  1268.  
  1269. 318
  1270. 00:12:19,578 --> 00:12:23,239
  1271. you realize you need a piece of data
  1272.  
  1273. 319
  1274. 00:12:21,169 --> 00:12:25,250
  1275. it's much too late to go out and load it
  1276.  
  1277. 320
  1278. 00:12:23,240 --> 00:12:27,139
  1279. so system memory has to contain all of
  1280.  
  1281. 321
  1282. 00:12:25,250 --> 00:12:30,019
  1283. the data that could be used in the next
  1284.  
  1285. 322
  1286. 00:12:27,139 --> 00:12:32,028
  1287. 30 seconds or so of gameplay that means
  1288.  
  1289. 323
  1290. 00:12:30,019 --> 00:12:34,399
  1291. a lot of the eight gigabytes of system
  1292.  
  1293. 324
  1294. 00:12:32,028 --> 00:12:38,899
  1295. memory is idle it's just waiting there
  1296.  
  1297. 325
  1298. 00:12:34,399 --> 00:12:40,970
  1299. to be potentially used on PlayStation 5
  1300.  
  1301. 326
  1302. 00:12:38,899 --> 00:12:43,250
  1303. though the SSD is very close to being
  1304.  
  1305. 327
  1306. 00:12:40,970 --> 00:12:45,019
  1307. like more RAM typically it's fast enough
  1308.  
  1309. 328
  1310. 00:12:43,250 --> 00:12:47,179
  1311. that when you realize you need a piece
  1312.  
  1313. 329
  1314. 00:12:45,019 --> 00:12:49,698
  1315. of data you can just load it from the
  1316.  
  1317. 330
  1318. 00:12:47,179 --> 00:12:51,588
  1319. SSD and use it there's no need to have
  1320.  
  1321. 331
  1322. 00:12:49,698 --> 00:12:53,769
  1323. lots of data parked in system memory
  1324.  
  1325. 332
  1326. 00:12:51,589 --> 00:12:56,029
  1327. waiting to potentially be used a
  1328.  
  1329. 333
  1330. 00:12:53,769 --> 00:12:58,698
  1331. different way of saying that is that
  1332.  
  1333. 334
  1334. 00:12:56,028 --> 00:13:01,338
  1335. most of Ram is working on the game's
  1336.  
  1337. 335
  1338. 00:12:58,698 --> 00:13:05,299
  1339. behalf this is one of the reasons that
  1340.  
  1341. 336
  1342. 00:13:01,339 --> 00:13:08,180
  1343. 16 gigabytes of gddr5 for playstation 5
  1344.  
  1345. 337
  1346. 00:13:05,299 --> 00:13:10,759
  1347. the presence of the SSD reduces the need
  1348.  
  1349. 338
  1350. 00:13:08,179 --> 00:13:14,539
  1351. for a massive intergenerational increase
  1352.  
  1353. 339
  1354. 00:13:10,759 --> 00:13:16,439
  1355. in size so back to the dream of the SSD
  1356.  
  1357. 340
  1358. 00:13:14,539 --> 00:13:19,139
  1359. here's the set of targets
  1360.  
  1361. 341
  1362. 00:13:16,440 --> 00:13:22,529
  1363. buuut the game in a second no load
  1364.  
  1365. 342
  1366. 00:13:19,139 --> 00:13:25,649
  1367. screens design freedom meaning no twisty
  1368.  
  1369. 343
  1370. 00:13:22,528 --> 00:13:27,720
  1371. passages or long corridors more game on
  1372.  
  1373. 344
  1374. 00:13:25,649 --> 00:13:32,100
  1375. the disk and more game on the SSD and
  1376.  
  1377. 345
  1378. 00:13:27,720 --> 00:13:34,649
  1379. finally those patch installs go away the
  1380.  
  1381. 346
  1382. 00:13:32,100 --> 00:13:36,689
  1383. reality though is that the SSD is just
  1384.  
  1385. 347
  1386. 00:13:34,649 --> 00:13:38,519
  1387. one piece of the puzzle there's a lot of
  1388.  
  1389. 348
  1390. 00:13:36,688 --> 00:13:40,649
  1391. places where bottlenecks can occur in
  1392.  
  1393. 349
  1394. 00:13:38,519 --> 00:13:42,959
  1395. between the SSD and the game code that
  1396.  
  1397. 350
  1398. 00:13:40,649 --> 00:13:45,568
  1399. uses the data you can see this on
  1400.  
  1401. 351
  1402. 00:13:42,958 --> 00:13:47,369
  1403. PlayStation 4 if I use an SSD with 10
  1404.  
  1405. 352
  1406. 00:13:45,568 --> 00:13:50,458
  1407. times the speed of a standard hard drive
  1408.  
  1409. 353
  1410. 00:13:47,370 --> 00:13:54,060
  1411. I probably see only double the loading
  1412.  
  1413. 354
  1414. 00:13:50,458 --> 00:13:56,549
  1415. speed if that for PlayStation 5 our goal
  1416.  
  1417. 355
  1418. 00:13:54,059 --> 00:13:58,799
  1419. was not just that the SSD itself be a
  1420.  
  1421. 356
  1422. 00:13:56,549 --> 00:14:01,049
  1423. hundred times faster it was that game
  1424.  
  1425. 357
  1426. 00:13:58,799 --> 00:14:03,899
  1427. loads and streaming would be a hundred
  1428.  
  1429. 358
  1430. 00:14:01,049 --> 00:14:05,758
  1431. times faster so every single potential
  1432.  
  1433. 359
  1434. 00:14:03,899 --> 00:14:08,610
  1435. bottleneck needed to be addressed and
  1436.  
  1437. 360
  1438. 00:14:05,759 --> 00:14:10,050
  1439. there are a lot of them let's look at
  1440.  
  1441. 361
  1442. 00:14:08,610 --> 00:14:11,810
  1443. check-in and what happens when its
  1444.  
  1445. 362
  1446. 00:14:10,049 --> 00:14:14,490
  1447. overhead gets a hundred times larger
  1448.  
  1449. 363
  1450. 00:14:11,809 --> 00:14:16,708
  1451. conceptually check-in is a pretty simple
  1452.  
  1453. 364
  1454. 00:14:14,490 --> 00:14:18,720
  1455. process data is loaded into system
  1456.  
  1457. 365
  1458. 00:14:16,708 --> 00:14:21,208
  1459. memory from the hard drive or SSD it's
  1460.  
  1461. 366
  1462. 00:14:18,720 --> 00:14:23,278
  1463. examined a few values are tweaked to
  1464.  
  1465. 367
  1466. 00:14:21,208 --> 00:14:26,219
  1467. check it in and then it's moved to its
  1468.  
  1469. 368
  1470. 00:14:23,278 --> 00:14:28,948
  1471. final location at the SSD speeds we're
  1472.  
  1473. 369
  1474. 00:14:26,220 --> 00:14:30,689
  1475. talking about that last part moving the
  1476.  
  1477. 370
  1478. 00:14:28,948 --> 00:14:32,938
  1479. data meaning copying it from one
  1480.  
  1481. 371
  1482. 00:14:30,688 --> 00:14:36,088
  1483. location to another takes roughly an
  1484.  
  1485. 372
  1486. 00:14:32,938 --> 00:14:37,649
  1487. entire next-gen CPU core and that's just
  1488.  
  1489. 373
  1490. 00:14:36,089 --> 00:14:39,029
  1491. the tip of the iceberg if all the
  1492.  
  1493. 374
  1494. 00:14:37,649 --> 00:14:41,159
  1495. overheads get a hundred times larger
  1496.  
  1497. 375
  1498. 00:14:39,028 --> 00:14:42,990
  1499. that will cripple the framerate as soon
  1500.  
  1501. 376
  1502. 00:14:41,159 --> 00:14:45,870
  1503. as the player moves and that massive
  1504.  
  1505. 377
  1506. 00:14:42,990 --> 00:14:48,480
  1507. stream of data starts coming off the SSD
  1508.  
  1509. 378
  1510. 00:14:45,870 --> 00:14:51,269
  1511. so to solve all of that we built a lot
  1512.  
  1513. 379
  1514. 00:14:48,480 --> 00:14:53,399
  1515. of custom hardware namely a custom flash
  1516.  
  1517. 380
  1518. 00:14:51,269 --> 00:14:56,220
  1519. controller and a number of custom units
  1520.  
  1521. 381
  1522. 00:14:53,399 --> 00:14:58,559
  1523. in our main chip the flash controller in
  1524.  
  1525. 382
  1526. 00:14:56,220 --> 00:15:01,079
  1527. the SSD was designed for smooth and
  1528.  
  1529. 383
  1530. 00:14:58,559 --> 00:15:03,000
  1531. bottleneck free operation but also with
  1532.  
  1533. 384
  1534. 00:15:01,078 --> 00:15:04,919
  1535. games in mind for example there are six
  1536.  
  1537. 385
  1538. 00:15:03,000 --> 00:15:07,470
  1539. levels of priority when reading from the
  1540.  
  1541. 386
  1542. 00:15:04,919 --> 00:15:09,899
  1543. SSD priority is very important you can
  1544.  
  1545. 387
  1546. 00:15:07,470 --> 00:15:11,370
  1547. imagine the player heading into some new
  1548.  
  1549. 388
  1550. 00:15:09,899 --> 00:15:13,828
  1551. location in the world and the game
  1552.  
  1553. 389
  1554. 00:15:11,370 --> 00:15:15,899
  1555. requesting a few gigabytes of textures
  1556.  
  1557. 390
  1558. 00:15:13,828 --> 00:15:18,659
  1559. and while those textures are being
  1560.  
  1561. 391
  1562. 00:15:15,899 --> 00:15:21,389
  1563. loaded an enemy is shot and has to speak
  1564.  
  1565. 392
  1566. 00:15:18,659 --> 00:15:23,100
  1567. a few dying words having multiple
  1568.  
  1569. 393
  1570. 00:15:21,389 --> 00:15:25,730
  1571. priority levels let's the audio for
  1572.  
  1573. 394
  1574. 00:15:23,100 --> 00:15:28,949
  1575. those dying words get loaded immediately
  1576.  
  1577. 395
  1578. 00:15:25,730 --> 00:15:30,300
  1579. on one side that flash controller
  1580.  
  1581. 396
  1582. 00:15:28,948 --> 00:15:32,639
  1583. connects to the actual
  1584.  
  1585. 397
  1586. 00:15:30,299 --> 00:15:34,889
  1587. - dyes that supply of the storage to
  1588.  
  1589. 398
  1590. 00:15:32,639 --> 00:15:37,289
  1591. reach art bandwidth target of 5
  1592.  
  1593. 399
  1594. 00:15:34,889 --> 00:15:39,840
  1595. gigabytes a second we ended up with a 12
  1596.  
  1597. 400
  1598. 00:15:37,289 --> 00:15:42,209
  1599. channel interface 8 channels wouldn't be
  1600.  
  1601. 401
  1602. 00:15:39,840 --> 00:15:43,980
  1603. enough the resulting bandwidth we have
  1604.  
  1605. 402
  1606. 00:15:42,210 --> 00:15:46,620
  1607. achieved is actually five and a half
  1608.  
  1609. 403
  1610. 00:15:43,980 --> 00:15:48,810
  1611. gigabytes a second with a 12 channel
  1612.  
  1613. 404
  1614. 00:15:46,620 --> 00:15:53,159
  1615. interface the most natural size that
  1616.  
  1617. 405
  1618. 00:15:48,809 --> 00:15:56,039
  1619. emerges for an SSD is 825 gigabytes the
  1620.  
  1621. 406
  1622. 00:15:53,159 --> 00:15:58,169
  1623. key question for us was is that enough
  1624.  
  1625. 407
  1626. 00:15:56,039 --> 00:16:00,179
  1627. it's tempting to add more but flash
  1628.  
  1629. 408
  1630. 00:15:58,169 --> 00:16:02,370
  1631. certainly doesn't come cheap and we have
  1632.  
  1633. 409
  1634. 00:16:00,179 --> 00:16:04,349
  1635. a responsibility to our gaming audience
  1636.  
  1637. 410
  1638. 00:16:02,370 --> 00:16:07,529
  1639. to be cost effective with regards to
  1640.  
  1641. 411
  1642. 00:16:04,350 --> 00:16:09,240
  1643. what we put in the console ultimately we
  1644.  
  1645. 412
  1646. 00:16:07,529 --> 00:16:11,850
  1647. resolve this question by looking at the
  1648.  
  1649. 413
  1650. 00:16:09,240 --> 00:16:14,549
  1651. play patterns of a broad range of gamers
  1652.  
  1653. 414
  1654. 00:16:11,850 --> 00:16:15,840
  1655. we examined the specific games that they
  1656.  
  1657. 415
  1658. 00:16:14,549 --> 00:16:18,269
  1659. were playing over the course of a
  1660.  
  1661. 416
  1662. 00:16:15,840 --> 00:16:20,700
  1663. weekend or week or a month and whether
  1664.  
  1665. 417
  1666. 00:16:18,269 --> 00:16:23,490
  1667. that set of games would fit properly on
  1668.  
  1669. 418
  1670. 00:16:20,700 --> 00:16:25,800
  1671. the SSD we were able to establish that
  1672.  
  1673. 419
  1674. 00:16:23,490 --> 00:16:28,350
  1675. the friction caused by reinstalled or
  1676.  
  1677. 420
  1678. 00:16:25,799 --> 00:16:29,669
  1679. read downloads would be quite low and so
  1680.  
  1681. 421
  1682. 00:16:28,350 --> 00:16:32,879
  1683. we locked in on that
  1684.  
  1685. 422
  1686. 00:16:29,669 --> 00:16:34,949
  1687. 825 gigabyte size while also preparing
  1688.  
  1689. 423
  1690. 00:16:32,879 --> 00:16:37,080
  1691. multiple strategies so that those who
  1692.  
  1693. 424
  1694. 00:16:34,950 --> 00:16:38,930
  1695. want more storage can add it I'll go
  1696.  
  1697. 425
  1698. 00:16:37,080 --> 00:16:41,400
  1699. through the details in a moment
  1700.  
  1701. 426
  1702. 00:16:38,929 --> 00:16:43,049
  1703. back to the flash controller on the
  1704.  
  1705. 427
  1706. 00:16:41,399 --> 00:16:45,870
  1707. other side it connects to our main
  1708.  
  1709. 428
  1710. 00:16:43,049 --> 00:16:48,750
  1711. custom chip via four lanes of Gen 4 PCIe
  1712.  
  1713. 429
  1714. 00:16:45,870 --> 00:16:51,560
  1715. and inside the main custom chip is a
  1716.  
  1717. 430
  1718. 00:16:48,750 --> 00:16:53,700
  1719. pretty hefty unit dedicated to i/o
  1720.  
  1721. 431
  1722. 00:16:51,559 --> 00:16:56,179
  1723. before we talk about what that does
  1724.  
  1725. 432
  1726. 00:16:53,700 --> 00:16:58,650
  1727. let's talk compression for a moment
  1728.  
  1729. 433
  1730. 00:16:56,179 --> 00:17:00,989
  1731. PlayStation 4 used Z live as its
  1732.  
  1733. 434
  1734. 00:16:58,649 --> 00:17:04,200
  1735. compression format we decided to use it
  1736.  
  1737. 435
  1738. 00:17:00,990 --> 00:17:05,970
  1739. again on PlayStation 5 but on my 2017
  1740.  
  1741. 436
  1742. 00:17:04,200 --> 00:17:09,360
  1743. tour of developers I learned about a new
  1744.  
  1745. 437
  1746. 00:17:05,970 --> 00:17:12,589
  1747. format called Kraken from rad game tools
  1748.  
  1749. 438
  1750. 00:17:09,359 --> 00:17:15,449
  1751. it's like Z libs smarter cousin simple
  1752.  
  1753. 439
  1754. 00:17:12,589 --> 00:17:18,209
  1755. similar types of algorithms but about
  1756.  
  1757. 440
  1758. 00:17:15,450 --> 00:17:20,910
  1759. 10% better compression which is pretty
  1760.  
  1761. 441
  1762. 00:17:18,210 --> 00:17:24,090
  1763. big that means 10% more game on the UHD
  1764.  
  1765. 442
  1766. 00:17:20,910 --> 00:17:25,529
  1767. blu-ray disc or on the SSD kraken had
  1768.  
  1769. 443
  1770. 00:17:24,089 --> 00:17:27,929
  1771. only been out for a year that it was
  1772.  
  1773. 444
  1774. 00:17:25,529 --> 00:17:29,879
  1775. already becoming a de-facto industry
  1776.  
  1777. 445
  1778. 00:17:27,930 --> 00:17:31,799
  1779. standard half of the teams I talked to
  1780.  
  1781. 446
  1782. 00:17:29,880 --> 00:17:34,650
  1783. or either using it or getting ready to
  1784.  
  1785. 447
  1786. 00:17:31,799 --> 00:17:37,019
  1787. evaluate it so we hustled and built a
  1788.  
  1789. 448
  1790. 00:17:34,650 --> 00:17:40,019
  1791. custom decompressor into the i/o unit
  1792.  
  1793. 449
  1794. 00:17:37,019 --> 00:17:40,929
  1795. one capable of handling over 5 gigabytes
  1796.  
  1797. 450
  1798. 00:17:40,019 --> 00:17:43,778
  1799. of crack and
  1800.  
  1801. 451
  1802. 00:17:40,929 --> 00:17:45,519
  1803. format input data a second after
  1804.  
  1805. 452
  1806. 00:17:43,778 --> 00:17:47,558
  1807. decompression that typically becomes
  1808.  
  1809. 453
  1810. 00:17:45,519 --> 00:17:49,749
  1811. eight or nine gigabytes but the unit
  1812.  
  1813. 454
  1814. 00:17:47,558 --> 00:17:52,749
  1815. itself is capable of outputting as much
  1816.  
  1817. 455
  1818. 00:17:49,749 --> 00:17:54,778
  1819. as 22 gigabytes a second if the data
  1820.  
  1821. 456
  1822. 00:17:52,749 --> 00:17:57,639
  1823. happened to compress particularly well
  1824.  
  1825. 457
  1826. 00:17:54,778 --> 00:18:00,278
  1827. by the way in terms of performance that
  1828.  
  1829. 458
  1830. 00:17:57,638 --> 00:18:01,418
  1831. custom decompressor equates to nine of
  1832.  
  1833. 459
  1834. 00:18:00,278 --> 00:18:02,980
  1835. our Xen two cores
  1836.  
  1837. 460
  1838. 00:18:01,419 --> 00:18:04,749
  1839. that's what it would take to decompress
  1840.  
  1841. 461
  1842. 00:18:02,980 --> 00:18:08,288
  1843. the kraken stream with a conventional
  1844.  
  1845. 462
  1846. 00:18:04,749 --> 00:18:10,868
  1847. CPU there's a lot more in the custom IO
  1848.  
  1849. 463
  1850. 00:18:08,288 --> 00:18:12,819
  1851. unit including a dedicated DMA
  1852.  
  1853. 464
  1854. 00:18:10,868 --> 00:18:14,648
  1855. controller the game can direct exactly
  1856.  
  1857. 465
  1858. 00:18:12,819 --> 00:18:17,230
  1859. where it wants to send the data coming
  1860.  
  1861. 466
  1862. 00:18:14,648 --> 00:18:19,569
  1863. off of the SSD this equates to another
  1864.  
  1865. 467
  1866. 00:18:17,230 --> 00:18:21,759
  1867. Xen two core or two in terms of its copy
  1868.  
  1869. 468
  1870. 00:18:19,569 --> 00:18:24,908
  1871. performance its primary purpose is to
  1872.  
  1873. 469
  1874. 00:18:21,759 --> 00:18:27,249
  1875. remove check in as a bottleneck there's
  1876.  
  1877. 470
  1878. 00:18:24,909 --> 00:18:28,360
  1879. two dedicated i/o coprocessors in a
  1880.  
  1881. 471
  1882. 00:18:27,249 --> 00:18:29,919
  1883. large ramp pool
  1884.  
  1885. 472
  1886. 00:18:28,359 --> 00:18:31,569
  1887. these are tins in 2 cores there are
  1888.  
  1889. 473
  1890. 00:18:29,919 --> 00:18:34,629
  1891. there principally to direct the variety
  1892.  
  1893. 474
  1894. 00:18:31,569 --> 00:18:36,788
  1895. of custom hardware around them one of
  1896.  
  1897. 475
  1898. 00:18:34,628 --> 00:18:39,759
  1899. the co processors is dedicated to SSD
  1900.  
  1901. 476
  1902. 00:18:36,788 --> 00:18:41,558
  1903. i/o this lets us bypass traditional file
  1904.  
  1905. 477
  1906. 00:18:39,759 --> 00:18:44,259
  1907. i/o and it's bottlenecks when reading
  1908.  
  1909. 478
  1910. 00:18:41,558 --> 00:18:46,388
  1911. from the SSD the other is responsible
  1912.  
  1913. 479
  1914. 00:18:44,259 --> 00:18:48,128
  1915. for memory mapping which I know doesn't
  1916.  
  1917. 480
  1918. 00:18:46,388 --> 00:18:50,740
  1919. sound like anything related to the SSD
  1920.  
  1921. 481
  1922. 00:18:48,128 --> 00:18:53,618
  1923. but a lot of developers map and remap
  1924.  
  1925. 482
  1926. 00:18:50,740 --> 00:18:56,378
  1927. memory as part of file i/o and this too
  1928.  
  1929. 483
  1930. 00:18:53,618 --> 00:18:58,480
  1931. can become a bottleneck there are
  1932.  
  1933. 484
  1934. 00:18:56,378 --> 00:19:00,908
  1935. coherency engines to assist the
  1936.  
  1937. 485
  1938. 00:18:58,480 --> 00:19:03,190
  1939. coprocessors coherency comes up a lot in
  1940.  
  1941. 486
  1942. 00:19:00,909 --> 00:19:05,909
  1943. places probably the biggest coherency
  1944.  
  1945. 487
  1946. 00:19:03,190 --> 00:19:08,558
  1947. issue is stale data in the GPU caches
  1948.  
  1949. 488
  1950. 00:19:05,909 --> 00:19:11,289
  1951. flushing all of the GPU caches whenever
  1952.  
  1953. 489
  1954. 00:19:08,558 --> 00:19:13,599
  1955. the SSD is read is an unattractive
  1956.  
  1957. 490
  1958. 00:19:11,288 --> 00:19:15,700
  1959. option it could really hurt the GPU
  1960.  
  1961. 491
  1962. 00:19:13,599 --> 00:19:18,548
  1963. performance so we've implemented a
  1964.  
  1965. 492
  1966. 00:19:15,700 --> 00:19:21,519
  1967. gentler way of doing things where the
  1968.  
  1969. 493
  1970. 00:19:18,548 --> 00:19:23,950
  1971. coherency engines inform the GPU of the
  1972.  
  1973. 494
  1974. 00:19:21,519 --> 00:19:26,740
  1975. overwritten address ranges and custom
  1976.  
  1977. 495
  1978. 00:19:23,950 --> 00:19:29,319
  1979. scrubbers in several dozen GPU caches do
  1980.  
  1981. 496
  1982. 00:19:26,740 --> 00:19:31,749
  1983. pinpoint evictions of just those address
  1984.  
  1985. 497
  1986. 00:19:29,319 --> 00:19:33,668
  1987. ranges the best thing is as a game
  1988.  
  1989. 498
  1990. 00:19:31,749 --> 00:19:35,919
  1991. developer when you read from the SSD you
  1992.  
  1993. 499
  1994. 00:19:33,669 --> 00:19:37,570
  1995. don't need to know any of this you don't
  1996.  
  1997. 500
  1998. 00:19:35,919 --> 00:19:40,389
  1999. even need to know that your data is
  2000.  
  2001. 501
  2002. 00:19:37,569 --> 00:19:42,128
  2003. compressed you just indicate what data
  2004.  
  2005. 502
  2006. 00:19:40,388 --> 00:19:44,079
  2007. you'd like to read from your original
  2008.  
  2009. 503
  2010. 00:19:42,128 --> 00:19:45,878
  2011. uncompressed file and where you'd like
  2012.  
  2013. 504
  2014. 00:19:44,079 --> 00:19:48,849
  2015. to put it and the whole process of
  2016.  
  2017. 505
  2018. 00:19:45,878 --> 00:19:51,759
  2019. loading it happens invisibly to you and
  2020.  
  2021. 506
  2022. 00:19:48,849 --> 00:19:54,139
  2023. at very high speed back to the dream
  2024.  
  2025. 507
  2026. 00:19:51,759 --> 00:19:56,660
  2027. thanks to all of that surrounding hard
  2028.  
  2029. 508
  2030. 00:19:54,140 --> 00:19:58,520
  2031. our 5.5 gigabytes a second really should
  2032.  
  2033. 509
  2034. 00:19:56,660 --> 00:20:01,460
  2035. translate into something like a hundred
  2036.  
  2037. 510
  2038. 00:19:58,519 --> 00:20:04,009
  2039. times faster IO than ps4 and allow the
  2040.  
  2041. 511
  2042. 00:20:01,460 --> 00:20:06,259
  2043. dream of no load screens and superfast
  2044.  
  2045. 512
  2046. 00:20:04,009 --> 00:20:09,259
  2047. streaming to become a reality
  2048.  
  2049. 513
  2050. 00:20:06,259 --> 00:20:11,359
  2051. having said that expandability of our
  2052.  
  2053. 514
  2054. 00:20:09,259 --> 00:20:13,250
  2055. SSD is going to be quite important
  2056.  
  2057. 515
  2058. 00:20:11,359 --> 00:20:15,439
  2059. flash is costly and you may very well
  2060.  
  2061. 516
  2062. 00:20:13,250 --> 00:20:19,009
  2063. want to add storage to whatever we put
  2064.  
  2065. 517
  2066. 00:20:15,440 --> 00:20:20,960
  2067. in the console now the kind of storage
  2068.  
  2069. 518
  2070. 00:20:19,009 --> 00:20:22,940
  2071. you need depends on how you're going to
  2072.  
  2073. 519
  2074. 00:20:20,960 --> 00:20:25,009
  2075. use it if you have an extensive
  2076.  
  2077. 520
  2078. 00:20:22,940 --> 00:20:26,360
  2079. PlayStation 4 library and you'd like to
  2080.  
  2081. 521
  2082. 00:20:25,009 --> 00:20:28,039
  2083. take advantage of backwards
  2084.  
  2085. 522
  2086. 00:20:26,359 --> 00:20:30,918
  2087. compatibility to play those games on
  2088.  
  2089. 523
  2090. 00:20:28,039 --> 00:20:33,798
  2091. PlayStation 5 then a large external hard
  2092.  
  2093. 524
  2094. 00:20:30,919 --> 00:20:35,480
  2095. drive is ideal you can leave your games
  2096.  
  2097. 525
  2098. 00:20:33,798 --> 00:20:38,119
  2099. on the hard drive and play them directly
  2100.  
  2101. 526
  2102. 00:20:35,480 --> 00:20:40,190
  2103. from there thus saving the pricier SSD
  2104.  
  2105. 527
  2106. 00:20:38,119 --> 00:20:42,500
  2107. storage for your PlayStation 5 titles or
  2108.  
  2109. 528
  2110. 00:20:40,190 --> 00:20:44,990
  2111. you can copy your active PlayStation 4
  2112.  
  2113. 529
  2114. 00:20:42,500 --> 00:20:46,279
  2115. titles to the SSD if your purpose in
  2116.  
  2117. 530
  2118. 00:20:44,990 --> 00:20:49,160
  2119. adding more storage is to play
  2120.  
  2121. 531
  2122. 00:20:46,279 --> 00:20:52,039
  2123. playstation 5 titles though ideally you
  2124.  
  2125. 532
  2126. 00:20:49,160 --> 00:20:55,130
  2127. would add to your SSD storage we will be
  2128.  
  2129. 533
  2130. 00:20:52,039 --> 00:20:56,899
  2131. supporting certain m2 SSDs these are
  2132.  
  2133. 534
  2134. 00:20:55,130 --> 00:20:59,630
  2135. internal drives that you can get on the
  2136.  
  2137. 535
  2138. 00:20:56,900 --> 00:21:02,059
  2139. open market and install in a bay in the
  2140.  
  2141. 536
  2142. 00:20:59,630 --> 00:21:04,160
  2143. playstation 5 as for which ones we
  2144.  
  2145. 537
  2146. 00:21:02,058 --> 00:21:06,589
  2147. support and when I'll get to that in a
  2148.  
  2149. 538
  2150. 00:21:04,160 --> 00:21:09,769
  2151. moment they connect through the custom
  2152.  
  2153. 539
  2154. 00:21:06,589 --> 00:21:11,269
  2155. io unit just like our SSD does so they
  2156.  
  2157. 540
  2158. 00:21:09,769 --> 00:21:13,789
  2159. can take full advantage of the
  2160.  
  2161. 541
  2162. 00:21:11,269 --> 00:21:15,789
  2163. decompression io coprocessors and all
  2164.  
  2165. 542
  2166. 00:21:13,789 --> 00:21:18,678
  2167. the other features I was talking about
  2168.  
  2169. 543
  2170. 00:21:15,789 --> 00:21:21,289
  2171. here's the catch though that commercial
  2172.  
  2173. 544
  2174. 00:21:18,679 --> 00:21:23,929
  2175. drive has to be at least as fast as ours
  2176.  
  2177. 545
  2178. 00:21:21,289 --> 00:21:26,058
  2179. games that rely on the speed of our SSD
  2180.  
  2181. 546
  2182. 00:21:23,929 --> 00:21:28,970
  2183. need to work flawlessly with nem to
  2184.  
  2185. 547
  2186. 00:21:26,058 --> 00:21:31,160
  2187. drive when I gave the Wired interview
  2188.  
  2189. 548
  2190. 00:21:28,970 --> 00:21:33,769
  2191. last year I said that the PlayStation 5
  2192.  
  2193. 549
  2194. 00:21:31,160 --> 00:21:36,890
  2195. SSD was faster than anything available
  2196.  
  2197. 550
  2198. 00:21:33,769 --> 00:21:40,308
  2199. on PC at the time commercial M 2 drives
  2200.  
  2201. 551
  2202. 00:21:36,890 --> 00:21:43,130
  2203. used pcie 3.0 and four lanes of that cap
  2204.  
  2205. 552
  2206. 00:21:40,308 --> 00:21:46,819
  2207. out at 3.5 gigabytes a second in other
  2208.  
  2209. 553
  2210. 00:21:43,130 --> 00:21:51,020
  2211. words no pcie 3.0 Drive can hit the
  2212.  
  2213. 554
  2214. 00:21:46,819 --> 00:21:52,970
  2215. required spec M 2 drives with PCI u 4.0
  2216.  
  2217. 555
  2218. 00:21:51,019 --> 00:21:56,480
  2219. or now out in the market we're getting
  2220.  
  2221. 556
  2222. 00:21:52,970 --> 00:21:58,759
  2223. our in samples and seeing four or five
  2224.  
  2225. 557
  2226. 00:21:56,480 --> 00:22:00,558
  2227. gigabytes a second from them by year's
  2228.  
  2229. 558
  2230. 00:21:58,759 --> 00:22:03,379
  2231. end I expect there will be drives that
  2232.  
  2233. 559
  2234. 00:22:00,558 --> 00:22:05,808
  2235. saturate 4.0 and support seven gigabytes
  2236.  
  2237. 560
  2238. 00:22:03,380 --> 00:22:06,800
  2239. a second having said that we are
  2240.  
  2241. 561
  2242. 00:22:05,808 --> 00:22:08,930
  2243. comparing
  2244.  
  2245. 562
  2246. 00:22:06,799 --> 00:22:10,879
  2247. apples and oranges though because that
  2248.  
  2249. 563
  2250. 00:22:08,930 --> 00:22:12,650
  2251. commercial m2 Drive will have its own
  2252.  
  2253. 564
  2254. 00:22:10,880 --> 00:22:15,590
  2255. architecture its own flash controller
  2256.  
  2257. 565
  2258. 00:22:12,650 --> 00:22:17,720
  2259. and so on for example the nvme
  2260.  
  2261. 566
  2262. 00:22:15,589 --> 00:22:19,849
  2263. specification lays out a priority scheme
  2264.  
  2265. 567
  2266. 00:22:17,720 --> 00:22:23,089
  2267. for requests that the m2 drives can use
  2268.  
  2269. 568
  2270. 00:22:19,849 --> 00:22:26,359
  2271. and that scheme is pretty nice but it
  2272.  
  2273. 569
  2274. 00:22:23,089 --> 00:22:29,480
  2275. only has two true priority levels our
  2276.  
  2277. 570
  2278. 00:22:26,359 --> 00:22:31,039
  2279. drive supports six we can hook up a
  2280.  
  2281. 571
  2282. 00:22:29,480 --> 00:22:33,559
  2283. drive with only two priority levels
  2284.  
  2285. 572
  2286. 00:22:31,039 --> 00:22:35,629
  2287. definitely but our custom IO unit has to
  2288.  
  2289. 573
  2290. 00:22:33,559 --> 00:22:37,700
  2291. arbitrate the extra priorities rather
  2292.  
  2293. 574
  2294. 00:22:35,630 --> 00:22:39,950
  2295. than the m2 drives flash controller and
  2296.  
  2297. 575
  2298. 00:22:37,700 --> 00:22:41,809
  2299. so the m2 drive needs a little extra
  2300.  
  2301. 576
  2302. 00:22:39,950 --> 00:22:44,269
  2303. speed to take care of issues arising
  2304.  
  2305. 577
  2306. 00:22:41,809 --> 00:22:45,710
  2307. from the different approach that
  2308.  
  2309. 578
  2310. 00:22:44,269 --> 00:22:47,960
  2311. Commercial Drive also needs to
  2312.  
  2313. 579
  2314. 00:22:45,710 --> 00:22:50,380
  2315. physically fit inside of the bay we
  2316.  
  2317. 580
  2318. 00:22:47,960 --> 00:22:53,029
  2319. created in PlayStation 5 for m2 drives
  2320.  
  2321. 581
  2322. 00:22:50,380 --> 00:22:55,580
  2323. unlike internal hard drives there's
  2324.  
  2325. 582
  2326. 00:22:53,029 --> 00:22:58,190
  2327. unfortunately no standard for the height
  2328.  
  2329. 583
  2330. 00:22:55,579 --> 00:23:00,409
  2331. of an m2 Drive and some m2 drives have
  2332.  
  2333. 584
  2334. 00:22:58,190 --> 00:23:03,650
  2335. giant heat sinks in fact some of them
  2336.  
  2337. 585
  2338. 00:23:00,410 --> 00:23:05,360
  2339. even have their own fans right now we're
  2340.  
  2341. 586
  2342. 00:23:03,650 --> 00:23:07,850
  2343. getting em to drive samples and
  2344.  
  2345. 587
  2346. 00:23:05,359 --> 00:23:09,949
  2347. benchmarking them in various ways when
  2348.  
  2349. 588
  2350. 00:23:07,849 --> 00:23:11,629
  2351. games hit in beta as they get ready for
  2352.  
  2353. 589
  2354. 00:23:09,950 --> 00:23:13,730
  2355. the PlayStation 5 launch at year-end
  2356.  
  2357. 590
  2358. 00:23:11,630 --> 00:23:15,020
  2359. we'll also be doing some compatibility
  2360.  
  2361. 591
  2362. 00:23:13,730 --> 00:23:17,329
  2363. testing to make sure that the
  2364.  
  2365. 592
  2366. 00:23:15,019 --> 00:23:18,980
  2367. architecture of particular M 2 drives
  2368.  
  2369. 593
  2370. 00:23:17,329 --> 00:23:20,809
  2371. isn't too foreign for the games to
  2372.  
  2373. 594
  2374. 00:23:18,980 --> 00:23:22,940
  2375. handle once we've done that
  2376.  
  2377. 595
  2378. 00:23:20,809 --> 00:23:24,740
  2379. compatibility testing we should be able
  2380.  
  2381. 596
  2382. 00:23:22,940 --> 00:23:26,630
  2383. to start letting you know which drives
  2384.  
  2385. 597
  2386. 00:23:24,740 --> 00:23:28,400
  2387. will physically fit and which drive
  2388.  
  2389. 598
  2390. 00:23:26,630 --> 00:23:31,280
  2391. samples have benchmark appropriately
  2392.  
  2393. 599
  2394. 00:23:28,400 --> 00:23:32,930
  2395. high in our testing it would be great if
  2396.  
  2397. 600
  2398. 00:23:31,279 --> 00:23:35,660
  2399. that happened by launch but it's likely
  2400.  
  2401. 601
  2402. 00:23:32,930 --> 00:23:37,940
  2403. to be a bit past it so please hold off
  2404.  
  2405. 602
  2406. 00:23:35,660 --> 00:23:40,960
  2407. on getting that M to drive until you
  2408.  
  2409. 603
  2410. 00:23:37,940 --> 00:23:43,880
  2411. hear from us ok back to our principles
  2412.  
  2413. 604
  2414. 00:23:40,960 --> 00:23:45,799
  2415. balancing evolution and revolution is
  2416.  
  2417. 605
  2418. 00:23:43,880 --> 00:23:49,970
  2419. the second of them this was definitely a
  2420.  
  2421. 606
  2422. 00:23:45,799 --> 00:23:52,490
  2423. recurring theme with the GPU we need new
  2424.  
  2425. 607
  2426. 00:23:49,970 --> 00:23:54,049
  2427. GPU features and capabilities if if we
  2428.  
  2429. 608
  2430. 00:23:52,490 --> 00:23:56,329
  2431. only have more performance it's not
  2432.  
  2433. 609
  2434. 00:23:54,049 --> 00:23:58,609
  2435. really a new generation of console of
  2436.  
  2437. 610
  2438. 00:23:56,329 --> 00:24:00,859
  2439. course many of these capabilities result
  2440.  
  2441. 611
  2442. 00:23:58,609 --> 00:24:03,049
  2443. in more performance that's part of why a
  2444.  
  2445. 612
  2446. 00:24:00,859 --> 00:24:05,209
  2447. Playstation 5 teraflop is more powerful
  2448.  
  2449. 613
  2450. 00:24:03,049 --> 00:24:06,799
  2451. than a Playstation 4 teraflop but we
  2452.  
  2453. 614
  2454. 00:24:05,210 --> 00:24:09,140
  2455. aren't just looking for the performance
  2456.  
  2457. 615
  2458. 00:24:06,799 --> 00:24:11,419
  2459. we also need the ability to do something
  2460.  
  2461. 616
  2462. 00:24:09,140 --> 00:24:14,360
  2463. with the GPU that could not have been
  2464.  
  2465. 617
  2466. 00:24:11,420 --> 00:24:15,560
  2467. done before and we need higher
  2468.  
  2469. 618
  2470. 00:24:14,359 --> 00:24:17,569
  2471. performance per watt
  2472.  
  2473. 619
  2474. 00:24:15,559 --> 00:24:20,609
  2475. every time we double the performance of
  2476.  
  2477. 620
  2478. 00:24:17,569 --> 00:24:22,500
  2479. some GPU component we don't want to find
  2480.  
  2481. 621
  2482. 00:24:20,609 --> 00:24:25,288
  2483. we've doubled the power consumed and the
  2484.  
  2485. 622
  2486. 00:24:22,500 --> 00:24:27,869
  2487. heat produced but at the same time we
  2488.  
  2489. 623
  2490. 00:24:25,288 --> 00:24:30,450
  2491. have to make sure the GPU can run ps4
  2492.  
  2493. 624
  2494. 00:24:27,869 --> 00:24:32,308
  2495. games and we have to ensure that the
  2496.  
  2497. 625
  2498. 00:24:30,450 --> 00:24:35,399
  2499. architecture is easy for the developers
  2500.  
  2501. 626
  2502. 00:24:32,308 --> 00:24:37,980
  2503. to adopt now backwards compatibility was
  2504.  
  2505. 627
  2506. 00:24:35,398 --> 00:24:40,109
  2507. handled masterfully by AMD they treated
  2508.  
  2509. 628
  2510. 00:24:37,980 --> 00:24:42,298
  2511. it as a key need throughout the design
  2512.  
  2513. 629
  2514. 00:24:40,109 --> 00:24:44,158
  2515. process as our solution to adding new
  2516.  
  2517. 630
  2518. 00:24:42,298 --> 00:24:46,408
  2519. features without blindsiding developers
  2520.  
  2521. 631
  2522. 00:24:44,159 --> 00:24:48,269
  2523. we made sure that if there were new
  2524.  
  2525. 632
  2526. 00:24:46,409 --> 00:24:51,330
  2527. significant features it would be
  2528.  
  2529. 633
  2530. 00:24:48,269 --> 00:24:52,859
  2531. optional to use them the GPU supports
  2532.  
  2533. 634
  2534. 00:24:51,329 --> 00:24:55,319
  2535. ray tracing but you don't have to use
  2536.  
  2537. 635
  2538. 00:24:52,859 --> 00:24:57,028
  2539. ray tracing to make your game the GPU
  2540.  
  2541. 636
  2542. 00:24:55,319 --> 00:24:58,918
  2543. supports primitive shaders but you can
  2544.  
  2545. 637
  2546. 00:24:57,028 --> 00:25:02,038
  2547. release your first game on PlayStation 5
  2548.  
  2549. 638
  2550. 00:24:58,919 --> 00:25:04,350
  2551. without making any use of them before I
  2552.  
  2553. 639
  2554. 00:25:02,038 --> 00:25:06,028
  2555. get into the capabilities of the GPU I'd
  2556.  
  2557. 640
  2558. 00:25:04,349 --> 00:25:09,538
  2559. like to make clear two points that can
  2560.  
  2561. 641
  2562. 00:25:06,028 --> 00:25:12,769
  2563. be quite confusing first we have a
  2564.  
  2565. 642
  2566. 00:25:09,538 --> 00:25:16,019
  2567. custom AMD GPU based on there are DNA 2
  2568.  
  2569. 643
  2570. 00:25:12,769 --> 00:25:18,089
  2571. technology what does that mean AMD is
  2572.  
  2573. 644
  2574. 00:25:16,019 --> 00:25:20,370
  2575. continuously improving and revising
  2576.  
  2577. 645
  2578. 00:25:18,089 --> 00:25:23,369
  2579. their tech for our DNA to their goals
  2580.  
  2581. 646
  2582. 00:25:20,369 --> 00:25:25,619
  2583. were roughly speaking to reduce power of
  2584.  
  2585. 647
  2586. 00:25:23,369 --> 00:25:27,209
  2587. consumption by rhe architecting the GPU
  2588.  
  2589. 648
  2590. 00:25:25,619 --> 00:25:30,178
  2591. to put data close to where it's needed
  2592.  
  2593. 649
  2594. 00:25:27,210 --> 00:25:32,548
  2595. to optimize the GPU for performance and
  2596.  
  2597. 650
  2598. 00:25:30,179 --> 00:25:36,028
  2599. to adding new more advanced feature set
  2600.  
  2601. 651
  2602. 00:25:32,548 --> 00:25:38,369
  2603. but that feature set is malleable which
  2604.  
  2605. 652
  2606. 00:25:36,028 --> 00:25:40,470
  2607. is to say that we have our own needs for
  2608.  
  2609. 653
  2610. 00:25:38,369 --> 00:25:43,109
  2611. PlayStation and that can factor into
  2612.  
  2613. 654
  2614. 00:25:40,470 --> 00:25:45,808
  2615. what the AMD roadmap becomes so
  2616.  
  2617. 655
  2618. 00:25:43,109 --> 00:25:47,759
  2619. collaboration is born if we bring
  2620.  
  2621. 656
  2622. 00:25:45,808 --> 00:25:50,038
  2623. concepts to AMD that are felt to be
  2624.  
  2625. 657
  2626. 00:25:47,759 --> 00:25:52,169
  2627. widely useful then they can be adopted
  2628.  
  2629. 658
  2630. 00:25:50,038 --> 00:25:55,888
  2631. into our DNA - and used broadly
  2632.  
  2633. 659
  2634. 00:25:52,169 --> 00:25:57,659
  2635. including in PC GPUs if the ideas are
  2636.  
  2637. 660
  2638. 00:25:55,888 --> 00:25:58,709
  2639. sufficiently specific to what we're
  2640.  
  2641. 661
  2642. 00:25:57,659 --> 00:26:00,929
  2643. trying to accomplish
  2644.  
  2645. 662
  2646. 00:25:58,710 --> 00:26:02,788
  2647. like the GPU cache scrubbers I was
  2648.  
  2649. 663
  2650. 00:26:00,929 --> 00:26:06,240
  2651. talking about then they end up being
  2652.  
  2653. 664
  2654. 00:26:02,788 --> 00:26:09,869
  2655. just for us if you see a similar
  2656.  
  2657. 665
  2658. 00:26:06,240 --> 00:26:11,700
  2659. discrete GPU available as a PC card at
  2660.  
  2661. 666
  2662. 00:26:09,869 --> 00:26:13,888
  2663. roughly the same time as we release our
  2664.  
  2665. 667
  2666. 00:26:11,700 --> 00:26:16,860
  2667. console that means our collaboration
  2668.  
  2669. 668
  2670. 00:26:13,888 --> 00:26:19,319
  2671. with AMD succeeded in producing
  2672.  
  2673. 669
  2674. 00:26:16,859 --> 00:26:21,509
  2675. technology useful in both worlds it
  2676.  
  2677. 670
  2678. 00:26:19,319 --> 00:26:23,788
  2679. doesn't mean that we as sony simply
  2680.  
  2681. 671
  2682. 00:26:21,509 --> 00:26:26,669
  2683. incorporated the pc part into our
  2684.  
  2685. 672
  2686. 00:26:23,788 --> 00:26:29,038
  2687. console this continuous improvement in
  2688.  
  2689. 673
  2690. 00:26:26,669 --> 00:26:30,870
  2691. AMD technology means it's dangerous to
  2692.  
  2693. 674
  2694. 00:26:29,038 --> 00:26:32,669
  2695. rely on teraflops as an absolute
  2696.  
  2697. 675
  2698. 00:26:30,869 --> 00:26:34,678
  2699. indicator of performance and
  2700.  
  2701. 676
  2702. 00:26:32,669 --> 00:26:37,710
  2703. see you count should be avoided as well
  2704.  
  2705. 677
  2706. 00:26:34,679 --> 00:26:39,989
  2707. in the case of CPUs we all understand
  2708.  
  2709. 678
  2710. 00:26:37,710 --> 00:26:42,690
  2711. this the PlayStation 4 and PlayStation 5
  2712.  
  2713. 679
  2714. 00:26:39,989 --> 00:26:43,919
  2715. each have eight CPUs but we never think
  2716.  
  2717. 680
  2718. 00:26:42,690 --> 00:26:46,558
  2719. that meant the capabilities and
  2720.  
  2721. 681
  2722. 00:26:43,919 --> 00:26:48,299
  2723. performance are equal it's the same for
  2724.  
  2725. 682
  2726. 00:26:46,558 --> 00:26:50,190
  2727. see use for one thing they've been
  2728.  
  2729. 683
  2730. 00:26:48,298 --> 00:26:52,739
  2731. getting much larger over time
  2732.  
  2733. 684
  2734. 00:26:50,190 --> 00:26:55,769
  2735. adding new features means adding lots of
  2736.  
  2737. 685
  2738. 00:26:52,739 --> 00:26:59,730
  2739. transistors in fact the transistor count
  2740.  
  2741. 686
  2742. 00:26:55,769 --> 00:27:01,259
  2743. for a Playstation 5 CU is 62% larger
  2744.  
  2745. 687
  2746. 00:26:59,730 --> 00:27:05,009
  2747. than the transistor count for a
  2748.  
  2749. 688
  2750. 00:27:01,259 --> 00:27:07,710
  2751. playstation 4 CU second the playstation
  2752.  
  2753. 689
  2754. 00:27:05,009 --> 00:27:10,618
  2755. 5 and GPU is backwards compatible with
  2756.  
  2757. 690
  2758. 00:27:07,710 --> 00:27:11,999
  2759. playstation 4 what does that mean one
  2760.  
  2761. 691
  2762. 00:27:10,618 --> 00:27:14,038
  2763. way you can achieve backwards
  2764.  
  2765. 692
  2766. 00:27:11,999 --> 00:27:16,319
  2767. compatibility is to put the previous
  2768.  
  2769. 693
  2770. 00:27:14,038 --> 00:27:18,298
  2771. consoles chipset in the new console like
  2772.  
  2773. 694
  2774. 00:27:16,319 --> 00:27:20,548
  2775. we did with some PlayStation 3s but
  2776.  
  2777. 695
  2778. 00:27:18,298 --> 00:27:23,099
  2779. that's of course extremely expensive a
  2780.  
  2781. 696
  2782. 00:27:20,548 --> 00:27:24,720
  2783. better way is to incorporate any
  2784.  
  2785. 697
  2786. 00:27:23,099 --> 00:27:27,509
  2787. differences in the previous consoles
  2788.  
  2789. 698
  2790. 00:27:24,720 --> 00:27:30,149
  2791. logic into the new consoles custom chips
  2792.  
  2793. 699
  2794. 00:27:27,509 --> 00:27:32,249
  2795. meaning that even as the technology
  2796.  
  2797. 700
  2798. 00:27:30,148 --> 00:27:34,349
  2799. evolves the logic and feature set that
  2800.  
  2801. 701
  2802. 00:27:32,249 --> 00:27:36,808
  2803. PlayStation 4 and PlayStation 4 Pro
  2804.  
  2805. 702
  2806. 00:27:34,349 --> 00:27:39,388
  2807. titles rely on is still available in
  2808.  
  2809. 703
  2810. 00:27:36,808 --> 00:27:41,668
  2811. backwards compatibility modes one
  2812.  
  2813. 704
  2814. 00:27:39,388 --> 00:27:43,288
  2815. advantage of this strategy is that once
  2816.  
  2817. 705
  2818. 00:27:41,669 --> 00:27:46,528
  2819. backwards compatibility is in the
  2820.  
  2821. 706
  2822. 00:27:43,288 --> 00:27:48,960
  2823. console it's in if not as if a cost down
  2824.  
  2825. 707
  2826. 00:27:46,528 --> 00:27:51,839
  2827. will remove backwards compatibility like
  2828.  
  2829. 708
  2830. 00:27:48,960 --> 00:27:54,028
  2831. it did on PlayStation 3 achieving this
  2832.  
  2833. 709
  2834. 00:27:51,839 --> 00:27:56,668
  2835. unification of functionality took years
  2836.  
  2837. 710
  2838. 00:27:54,028 --> 00:27:58,409
  2839. of efforts by AMD as any roadmap
  2840.  
  2841. 711
  2842. 00:27:56,669 --> 00:28:02,309
  2843. advancement creates a potential
  2844.  
  2845. 712
  2846. 00:27:58,409 --> 00:28:04,169
  2847. divergence in logic running ps4 and PS 4
  2848.  
  2849. 713
  2850. 00:28:02,308 --> 00:28:06,628
  2851. titles at boosted frequencies has also
  2852.  
  2853. 714
  2854. 00:28:04,169 --> 00:28:08,340
  2855. added complexity the boost is truly
  2856.  
  2857. 715
  2858. 00:28:06,628 --> 00:28:10,709
  2859. massive this time around and some game
  2860.  
  2861. 716
  2862. 00:28:08,339 --> 00:28:13,249
  2863. code just can't handle it testing has to
  2864.  
  2865. 717
  2866. 00:28:10,710 --> 00:28:16,019
  2867. be done on the title by title basis
  2868.  
  2869. 718
  2870. 00:28:13,249 --> 00:28:17,399
  2871. results are excellent though we recently
  2872.  
  2873. 719
  2874. 00:28:16,019 --> 00:28:19,528
  2875. took a look at the top hundred
  2876.  
  2877. 720
  2878. 00:28:17,398 --> 00:28:22,349
  2879. PlayStation 4 titles as ranked by play
  2880.  
  2881. 721
  2882. 00:28:19,528 --> 00:28:24,179
  2883. time and we're expecting almost all of
  2884.  
  2885. 722
  2886. 00:28:22,349 --> 00:28:27,898
  2887. them to be playable at launch on
  2888.  
  2889. 723
  2890. 00:28:24,179 --> 00:28:30,119
  2891. playstation 5 with regards to new
  2892.  
  2893. 724
  2894. 00:28:27,898 --> 00:28:32,219
  2895. features as I said our strategy was to
  2896.  
  2897. 725
  2898. 00:28:30,118 --> 00:28:35,038
  2899. try to break new ground but at the same
  2900.  
  2901. 726
  2902. 00:28:32,220 --> 00:28:38,399
  2903. time not to require use of the new GPU
  2904.  
  2905. 727
  2906. 00:28:35,038 --> 00:28:40,259
  2907. capabilities for more than a decade GPUs
  2908.  
  2909. 728
  2910. 00:28:38,398 --> 00:28:42,538
  2911. have imposed a restriction on game
  2912.  
  2913. 729
  2914. 00:28:40,259 --> 00:28:43,980
  2915. engines software handles vertex
  2916.  
  2917. 730
  2918. 00:28:42,538 --> 00:28:45,400
  2919. processing but for the most part
  2920.  
  2921. 731
  2922. 00:28:43,980 --> 00:28:47,529
  2923. dedicated hardware
  2924.  
  2925. 732
  2926. 00:28:45,400 --> 00:28:49,960
  2927. responsible for the triangles and other
  2928.  
  2929. 733
  2930. 00:28:47,529 --> 00:28:52,660
  2931. geometry that the vertices form that
  2932.  
  2933. 734
  2934. 00:28:49,960 --> 00:28:54,789
  2935. means it's not possible to do even basic
  2936.  
  2937. 735
  2938. 00:28:52,660 --> 00:28:56,769
  2939. optimizations such as aborting
  2940.  
  2941. 736
  2942. 00:28:54,789 --> 00:29:00,879
  2943. processing of a vertex if all geometry
  2944.  
  2945. 737
  2946. 00:28:56,769 --> 00:29:03,369
  2947. that uses it is off screen PlayStation 5
  2948.  
  2949. 738
  2950. 00:29:00,880 --> 00:29:04,870
  2951. has a new unit called the geometry
  2952.  
  2953. 739
  2954. 00:29:03,369 --> 00:29:06,819
  2955. engine which brings handling of
  2956.  
  2957. 740
  2958. 00:29:04,869 --> 00:29:09,399
  2959. triangles and other primitives under
  2960.  
  2961. 741
  2962. 00:29:06,819 --> 00:29:11,079
  2963. full programmatic control as a game
  2964.  
  2965. 742
  2966. 00:29:09,400 --> 00:29:13,600
  2967. developer you're free to ignore its
  2968.  
  2969. 743
  2970. 00:29:11,079 --> 00:29:15,309
  2971. existence and use the PlayStation 5 GPU
  2972.  
  2973. 744
  2974. 00:29:13,599 --> 00:29:18,549
  2975. as if it were no more capable than the
  2976.  
  2977. 745
  2978. 00:29:15,309 --> 00:29:21,730
  2979. ps4 GPU or you can use this new
  2980.  
  2981. 746
  2982. 00:29:18,549 --> 00:29:23,769
  2983. intelligence in various ways simple
  2984.  
  2985. 747
  2986. 00:29:21,730 --> 00:29:25,599
  2987. usage could be performance optimizations
  2988.  
  2989. 748
  2990. 00:29:23,769 --> 00:29:28,119
  2991. such as removing back faced or
  2992.  
  2993. 749
  2994. 00:29:25,599 --> 00:29:30,099
  2995. off-screen vertices and triangles more
  2996.  
  2997. 750
  2998. 00:29:28,119 --> 00:29:31,869
  2999. complex usage involves something called
  3000.  
  3001. 751
  3002. 00:29:30,099 --> 00:29:34,480
  3003. primitive shaders which allow the game
  3004.  
  3005. 752
  3006. 00:29:31,869 --> 00:29:36,609
  3007. to synthesize geometry on-the-fly as
  3008.  
  3009. 753
  3010. 00:29:34,480 --> 00:29:39,370
  3011. it's being rendered it's a brand new
  3012.  
  3013. 754
  3014. 00:29:36,609 --> 00:29:41,409
  3015. capability using primitive shaders on
  3016.  
  3017. 755
  3018. 00:29:39,369 --> 00:29:43,989
  3019. PlayStation 5 will allow for a broad
  3020.  
  3021. 756
  3022. 00:29:41,410 --> 00:29:46,420
  3023. variety of techniques including smoothly
  3024.  
  3025. 757
  3026. 00:29:43,990 --> 00:29:48,400
  3027. varying level of detail addition of
  3028.  
  3029. 758
  3030. 00:29:46,420 --> 00:29:50,529
  3031. procedural detail to close up objects
  3032.  
  3033. 759
  3034. 00:29:48,400 --> 00:29:53,230
  3035. and improvements to particle effects and
  3036.  
  3037. 760
  3038. 00:29:50,529 --> 00:29:55,809
  3039. other visual special effects another
  3040.  
  3041. 761
  3042. 00:29:53,230 --> 00:29:58,539
  3043. major new feature of our custom our DNA
  3044.  
  3045. 762
  3046. 00:29:55,809 --> 00:30:01,649
  3047. 2 based GPU is ray tracing using the
  3048.  
  3049. 763
  3050. 00:29:58,539 --> 00:30:05,109
  3051. same strategy as AMD's upcoming PC GPUs
  3052.  
  3053. 764
  3054. 00:30:01,650 --> 00:30:07,120
  3055. the ciues contain a new specialized unit
  3056.  
  3057. 765
  3058. 00:30:05,109 --> 00:30:09,099
  3059. called the intersection engine which can
  3060.  
  3061. 766
  3062. 00:30:07,119 --> 00:30:11,289
  3063. calculate the intersection of rays with
  3064.  
  3065. 767
  3066. 00:30:09,099 --> 00:30:13,389
  3067. boxes and triangles to use the
  3068.  
  3069. 768
  3070. 00:30:11,289 --> 00:30:15,670
  3071. intersection engine first you build what
  3072.  
  3073. 769
  3074. 00:30:13,390 --> 00:30:18,100
  3075. is called an acceleration structure its
  3076.  
  3077. 770
  3078. 00:30:15,670 --> 00:30:20,230
  3079. data in RAM that contains all of your
  3080.  
  3081. 771
  3082. 00:30:18,099 --> 00:30:22,689
  3083. geometry there's a specific set of
  3084.  
  3085. 772
  3086. 00:30:20,230 --> 00:30:25,750
  3087. formats you can use their variations on
  3088.  
  3089. 773
  3090. 00:30:22,690 --> 00:30:28,240
  3091. the same BVH concept then in your shader
  3092.  
  3093. 774
  3094. 00:30:25,750 --> 00:30:30,369
  3095. program you use a new instruction that
  3096.  
  3097. 775
  3098. 00:30:28,240 --> 00:30:33,730
  3099. asks the intersection engine to check
  3100.  
  3101. 776
  3102. 00:30:30,369 --> 00:30:35,589
  3103. array against the BVH while the
  3104.  
  3105. 777
  3106. 00:30:33,730 --> 00:30:37,539
  3107. intersection engine is processing the
  3108.  
  3109. 778
  3110. 00:30:35,589 --> 00:30:39,970
  3111. requested ray triangle or ray box
  3112.  
  3113. 779
  3114. 00:30:37,539 --> 00:30:42,250
  3115. intersections the shaders are free to do
  3116.  
  3117. 780
  3118. 00:30:39,970 --> 00:30:43,900
  3119. other work having said that the ray
  3120.  
  3121. 781
  3122. 00:30:42,250 --> 00:30:46,569
  3123. tracing instruction is pretty memory
  3124.  
  3125. 782
  3126. 00:30:43,900 --> 00:30:49,690
  3127. intensive so it's a good mix with logic
  3128.  
  3129. 783
  3130. 00:30:46,569 --> 00:30:51,939
  3131. heavy code there's of course no need to
  3132.  
  3133. 784
  3134. 00:30:49,690 --> 00:30:54,580
  3135. use ray tracing ps4 graphics engines
  3136.  
  3137. 785
  3138. 00:30:51,940 --> 00:30:56,860
  3139. will run just fine on PlayStation 5 but
  3140.  
  3141. 786
  3142. 00:30:54,579 --> 00:30:59,349
  3143. it presents an opportunity for those
  3144.  
  3145. 787
  3146. 00:30:56,859 --> 00:31:01,418
  3147. interested I'm thinking it'll
  3148.  
  3149. 788
  3150. 00:30:59,349 --> 00:31:03,308
  3151. take less than a million raise a second
  3152.  
  3153. 789
  3154. 00:31:01,419 --> 00:31:05,169
  3155. to have a big impact on audio that
  3156.  
  3157. 790
  3158. 00:31:03,308 --> 00:31:07,960
  3159. should be enough for audio occlusion and
  3160.  
  3161. 791
  3162. 00:31:05,169 --> 00:31:10,120
  3163. some reverb calculations with a bit more
  3164.  
  3165. 792
  3166. 00:31:07,960 --> 00:31:11,769
  3167. of the GPU invested in ray-tracing it
  3168.  
  3169. 793
  3170. 00:31:10,119 --> 00:31:13,769
  3171. should be possible to do some very nice
  3172.  
  3173. 794
  3174. 00:31:11,769 --> 00:31:16,660
  3175. global illumination
  3176.  
  3177. 795
  3178. 00:31:13,769 --> 00:31:18,819
  3179. having said that adding ray-traced
  3180.  
  3181. 796
  3182. 00:31:16,660 --> 00:31:20,590
  3183. shadows and reflections to a traditional
  3184.  
  3185. 797
  3186. 00:31:18,819 --> 00:31:22,720
  3187. graphics engine could easily take
  3188.  
  3189. 798
  3190. 00:31:20,589 --> 00:31:24,730
  3191. hundreds of millions of rays a second
  3192.  
  3193. 799
  3194. 00:31:22,720 --> 00:31:27,579
  3195. and full ray tracing could take billions
  3196.  
  3197. 800
  3198. 00:31:24,730 --> 00:31:28,900
  3199. how far can we go I'm starting to get
  3200.  
  3201. 801
  3202. 00:31:27,579 --> 00:31:31,298
  3203. quite bullish I've already seen a
  3204.  
  3205. 802
  3206. 00:31:28,900 --> 00:31:33,309
  3207. PlayStation 5 title that's successfully
  3208.  
  3209. 803
  3210. 00:31:31,298 --> 00:31:36,308
  3211. using ray tracing based reflections in
  3212.  
  3213. 804
  3214. 00:31:33,308 --> 00:31:39,220
  3215. complex animated scenes with only modest
  3216.  
  3217. 805
  3218. 00:31:36,308 --> 00:31:42,548
  3219. costs another set of issues for the GPU
  3220.  
  3221. 806
  3222. 00:31:39,220 --> 00:31:44,798
  3223. involved size and frequency how big do
  3224.  
  3225. 807
  3226. 00:31:42,548 --> 00:31:47,168
  3227. we make the GPU and what frequency do we
  3228.  
  3229. 808
  3230. 00:31:44,798 --> 00:31:48,700
  3231. run it at this is a balancing act the
  3232.  
  3233. 809
  3234. 00:31:47,169 --> 00:31:50,950
  3235. chip has a cost and there's a cost for
  3236.  
  3237. 810
  3238. 00:31:48,700 --> 00:31:53,919
  3239. whatever we use to supply that chip with
  3240.  
  3241. 811
  3242. 00:31:50,950 --> 00:31:56,080
  3243. power and to cool it in general I like
  3244.  
  3245. 812
  3246. 00:31:53,919 --> 00:32:00,309
  3247. running the GPU at a higher frequency
  3248.  
  3249. 813
  3250. 00:31:56,079 --> 00:32:02,349
  3251. let me show you why here's two possible
  3252.  
  3253. 814
  3254. 00:32:00,308 --> 00:32:04,928
  3255. configurations for a GPU roughly of the
  3256.  
  3257. 815
  3258. 00:32:02,349 --> 00:32:06,369
  3259. level of the PlayStation 4 Pro this is a
  3260.  
  3261. 816
  3262. 00:32:04,929 --> 00:32:09,038
  3263. thought experiment don't take these
  3264.  
  3265. 817
  3266. 00:32:06,369 --> 00:32:11,168
  3267. configurations too seriously if you just
  3268.  
  3269. 818
  3270. 00:32:09,038 --> 00:32:13,960
  3271. calculate teraflops you get the same
  3272.  
  3273. 819
  3274. 00:32:11,169 --> 00:32:16,179
  3275. number but actually the performance is
  3276.  
  3277. 820
  3278. 00:32:13,960 --> 00:32:17,700
  3279. noticeably different because teraflops
  3280.  
  3281. 821
  3282. 00:32:16,179 --> 00:32:21,130
  3283. is defined as the computational
  3284.  
  3285. 822
  3286. 00:32:17,700 --> 00:32:23,380
  3287. capability of the vector ALU that's just
  3288.  
  3289. 823
  3290. 00:32:21,130 --> 00:32:25,809
  3291. one part of the GPU there are a lot of
  3292.  
  3293. 824
  3294. 00:32:23,380 --> 00:32:28,000
  3295. other units and those other units all
  3296.  
  3297. 825
  3298. 00:32:25,808 --> 00:32:30,908
  3299. run faster when the GPU frequency is
  3300.  
  3301. 826
  3302. 00:32:28,000 --> 00:32:34,359
  3303. higher at 33% higher frequency
  3304.  
  3305. 827
  3306. 00:32:30,909 --> 00:32:37,000
  3307. rasterization goes 33% faster processing
  3308.  
  3309. 828
  3310. 00:32:34,359 --> 00:32:40,269
  3311. the command buffer goes that much faster
  3312.  
  3313. 829
  3314. 00:32:37,000 --> 00:32:41,919
  3315. the l2 and other caches have that much
  3316.  
  3317. 830
  3318. 00:32:40,269 --> 00:32:44,288
  3319. higher bandwidth and so on
  3320.  
  3321. 831
  3322. 00:32:41,919 --> 00:32:46,870
  3323. about the only downside is that system
  3324.  
  3325. 832
  3326. 00:32:44,288 --> 00:32:49,690
  3327. memory is 33% further away in terms of
  3328.  
  3329. 833
  3330. 00:32:46,869 --> 00:32:51,788
  3331. cycles but the large number of benefits
  3332.  
  3333. 834
  3334. 00:32:49,690 --> 00:32:54,610
  3335. more than counterbalanced that as a
  3336.  
  3337. 835
  3338. 00:32:51,788 --> 00:32:58,419
  3339. friend of mine says a rising tide lifts
  3340.  
  3341. 836
  3342. 00:32:54,609 --> 00:33:01,418
  3343. all boats also it's easier to fully use
  3344.  
  3345. 837
  3346. 00:32:58,419 --> 00:33:04,299
  3347. 36c use in parallel than it is to fully
  3348.  
  3349. 838
  3350. 00:33:01,419 --> 00:33:06,520
  3351. use 48c use when triangles are small
  3352.  
  3353. 839
  3354. 00:33:04,298 --> 00:33:09,339
  3355. it's much harder to fill although sea
  3356.  
  3357. 840
  3358. 00:33:06,519 --> 00:33:11,650
  3359. use with useful work so there's a lot to
  3360.  
  3361. 841
  3362. 00:33:09,339 --> 00:33:12,799
  3363. be said for faster assuming you can
  3364.  
  3365. 842
  3366. 00:33:11,650 --> 00:33:15,650
  3367. handle the resulting
  3368.  
  3369. 843
  3370. 00:33:12,799 --> 00:33:18,019
  3371. power and heat issues which frankly we
  3372.  
  3373. 844
  3374. 00:33:15,650 --> 00:33:19,700
  3375. haven't always done the best Java
  3376.  
  3377. 845
  3378. 00:33:18,019 --> 00:33:22,279
  3379. part of the reason for that is
  3380.  
  3381. 846
  3382. 00:33:19,700 --> 00:33:24,289
  3383. historically our process for setting CPU
  3384.  
  3385. 847
  3386. 00:33:22,279 --> 00:33:26,029
  3387. and GPU frequencies has relied on some
  3388.  
  3389. 848
  3390. 00:33:24,289 --> 00:33:28,069
  3391. heavy duty guesswork with regards to how
  3392.  
  3393. 849
  3394. 00:33:26,029 --> 00:33:30,200
  3395. much electrical power games will consume
  3396.  
  3397. 850
  3398. 00:33:28,069 --> 00:33:33,079
  3399. and how much heat will be produced as a
  3400.  
  3401. 851
  3402. 00:33:30,200 --> 00:33:35,150
  3403. result inside of the console power
  3404.  
  3405. 852
  3406. 00:33:33,079 --> 00:33:37,579
  3407. consumption varies a lot from game to
  3408.  
  3409. 853
  3410. 00:33:35,150 --> 00:33:40,009
  3411. game when I play god of war on my ps4
  3412.  
  3413. 854
  3414. 00:33:37,579 --> 00:33:42,919
  3415. Pro I know the power consumption is high
  3416.  
  3417. 855
  3418. 00:33:40,009 --> 00:33:45,349
  3419. just by the fan noise but power isn't
  3420.  
  3421. 856
  3422. 00:33:42,920 --> 00:33:46,880
  3423. simply about engine quality it's about
  3424.  
  3425. 857
  3426. 00:33:45,349 --> 00:33:49,730
  3427. the minutiae of what's being displayed
  3428.  
  3429. 858
  3430. 00:33:46,880 --> 00:33:51,890
  3431. and how it's counterintuitive but
  3432.  
  3433. 859
  3434. 00:33:49,730 --> 00:33:53,509
  3435. processing dense geometry typically
  3436.  
  3437. 860
  3438. 00:33:51,890 --> 00:33:56,390
  3439. consumes less power than processing
  3440.  
  3441. 861
  3442. 00:33:53,509 --> 00:33:58,819
  3443. simple geometry which is I suspect why
  3444.  
  3445. 862
  3446. 00:33:56,390 --> 00:34:01,910
  3447. horizons map screen with its low
  3448.  
  3449. 863
  3450. 00:33:58,819 --> 00:34:05,629
  3451. triangle count makes my ps4 pro heat up
  3452.  
  3453. 864
  3454. 00:34:01,910 --> 00:34:07,070
  3455. so much our process on previous consoles
  3456.  
  3457. 865
  3458. 00:34:05,630 --> 00:34:09,289
  3459. has been to try to guess what the
  3460.  
  3461. 866
  3462. 00:34:07,069 --> 00:34:11,569
  3463. maximum power consumption during the
  3464.  
  3465. 867
  3466. 00:34:09,289 --> 00:34:14,210
  3467. entire console lifetime might be which
  3468.  
  3469. 868
  3470. 00:34:11,570 --> 00:34:17,269
  3471. is to say the worst case scene in the
  3472.  
  3473. 869
  3474. 00:34:14,210 --> 00:34:19,429
  3475. worst case game and prepare a cooling
  3476.  
  3477. 870
  3478. 00:34:17,269 --> 00:34:22,969
  3479. solution that we think will be quiet at
  3480.  
  3481. 871
  3482. 00:34:19,429 --> 00:34:25,340
  3483. that power level if we get it right fan
  3484.  
  3485. 872
  3486. 00:34:22,969 --> 00:34:27,109
  3487. noise is minimal if we get it wrong the
  3488.  
  3489. 873
  3490. 00:34:25,340 --> 00:34:28,880
  3491. console will be quite loud for the
  3492.  
  3493. 874
  3494. 00:34:27,110 --> 00:34:30,289
  3495. higher power games and there's even a
  3496.  
  3497. 875
  3498. 00:34:28,880 --> 00:34:33,880
  3499. chance that it might overheat and shut
  3500.  
  3501. 876
  3502. 00:34:30,289 --> 00:34:36,168
  3503. down if we miss estimate power too badly
  3504.  
  3505. 877
  3506. 00:34:33,880 --> 00:34:39,829
  3507. PlayStation 5 is especially challenging
  3508.  
  3509. 878
  3510. 00:34:36,168 --> 00:34:41,889
  3511. because the CPU supports 256 bit native
  3512.  
  3513. 879
  3514. 00:34:39,829 --> 00:34:44,389
  3515. instructions that consume a lot of power
  3516.  
  3517. 880
  3518. 00:34:41,889 --> 00:34:47,539
  3519. these are great here and there but
  3520.  
  3521. 881
  3522. 00:34:44,389 --> 00:34:50,599
  3523. presumably only minimally used or are
  3524.  
  3525. 882
  3526. 00:34:47,539 --> 00:34:53,090
  3527. they if we plan for major 256 bit
  3528.  
  3529. 883
  3530. 00:34:50,599 --> 00:34:55,489
  3531. instruction usage we need to set the CPU
  3532.  
  3533. 884
  3534. 00:34:53,090 --> 00:34:57,410
  3535. clock substantially lower or noticeably
  3536.  
  3537. 885
  3538. 00:34:55,489 --> 00:35:01,669
  3539. increase the size of the power supply
  3540.  
  3541. 886
  3542. 00:34:57,409 --> 00:35:03,440
  3543. and fan so after much discussion we
  3544.  
  3545. 887
  3546. 00:35:01,670 --> 00:35:06,800
  3547. decided to go with a very different
  3548.  
  3549. 888
  3550. 00:35:03,440 --> 00:35:11,389
  3551. direction on PlayStation 5 we built a
  3552.  
  3553. 889
  3554. 00:35:06,800 --> 00:35:14,120
  3555. GPU with 36c use mind you our DNA to see
  3556.  
  3557. 890
  3558. 00:35:11,389 --> 00:35:15,739
  3559. use our large each has 62% more
  3560.  
  3561. 891
  3562. 00:35:14,119 --> 00:35:18,469
  3563. transistors than the CIE use we were
  3564.  
  3565. 892
  3566. 00:35:15,739 --> 00:35:21,559
  3567. using on PlayStation 4 so if we compare
  3568.  
  3569. 893
  3570. 00:35:18,469 --> 00:35:24,409
  3571. transistor counts 36 our DNA to see use
  3572.  
  3573. 894
  3574. 00:35:21,559 --> 00:35:26,329
  3575. equates to roughly 58 PlayStation 4 C
  3576.  
  3577. 895
  3578. 00:35:24,409 --> 00:35:29,779
  3579. use it is a fairly
  3580.  
  3581. 896
  3582. 00:35:26,329 --> 00:35:31,909
  3583. sizeable GPU then we went with a
  3584.  
  3585. 897
  3586. 00:35:29,780 --> 00:35:33,890
  3587. variable frequency strategy for
  3588.  
  3589. 898
  3590. 00:35:31,909 --> 00:35:36,799
  3591. PlayStation 5 which is to say we
  3592.  
  3593. 899
  3594. 00:35:33,889 --> 00:35:39,679
  3595. continuously run the GPU and CPU in
  3596.  
  3597. 900
  3598. 00:35:36,800 --> 00:35:41,840
  3599. boost mode we supply a generous amount
  3600.  
  3601. 901
  3602. 00:35:39,679 --> 00:35:44,269
  3603. of electrical power and then increase
  3604.  
  3605. 902
  3606. 00:35:41,840 --> 00:35:46,100
  3607. the frequency of GPU and CPU until they
  3608.  
  3609. 903
  3610. 00:35:44,269 --> 00:35:48,679
  3611. reach the capabilities of the system's
  3612.  
  3613. 904
  3614. 00:35:46,099 --> 00:35:50,719
  3615. cooling solution it's a completely
  3616.  
  3617. 905
  3618. 00:35:48,679 --> 00:35:52,759
  3619. different paradigm rather than running
  3620.  
  3621. 906
  3622. 00:35:50,719 --> 00:35:55,129
  3623. at constant frequency and letting power
  3624.  
  3625. 907
  3626. 00:35:52,760 --> 00:35:57,170
  3627. vary based on the workload we run at
  3628.  
  3629. 908
  3630. 00:35:55,130 --> 00:35:59,059
  3631. essentially constant power and let the
  3632.  
  3633. 909
  3634. 00:35:57,170 --> 00:36:02,300
  3635. frequency band vary based on the
  3636.  
  3637. 910
  3638. 00:35:59,059 --> 00:36:04,009
  3639. workload we then tackled the engineering
  3640.  
  3641. 911
  3642. 00:36:02,300 --> 00:36:05,630
  3643. challenge of a cost-effective and
  3644.  
  3645. 912
  3646. 00:36:04,010 --> 00:36:08,300
  3647. high-performance cooling solution
  3648.  
  3649. 913
  3650. 00:36:05,630 --> 00:36:10,400
  3651. designed for that specific power level
  3652.  
  3653. 914
  3654. 00:36:08,300 --> 00:36:11,810
  3655. in some ways it becomes a simpler
  3656.  
  3657. 915
  3658. 00:36:10,400 --> 00:36:14,240
  3659. problem because there are no more
  3660.  
  3661. 916
  3662. 00:36:11,809 --> 00:36:16,190
  3663. unknowns there's no need to guess what
  3664.  
  3665. 917
  3666. 00:36:14,239 --> 00:36:18,979
  3667. power consumption the worst case game
  3668.  
  3669. 918
  3670. 00:36:16,190 --> 00:36:21,019
  3671. might have as for the details of the
  3672.  
  3673. 919
  3674. 00:36:18,980 --> 00:36:22,699
  3675. cooling solution we're saving them for
  3676.  
  3677. 920
  3678. 00:36:21,019 --> 00:36:24,409
  3679. our teardown I think you'll be quite
  3680.  
  3681. 921
  3682. 00:36:22,699 --> 00:36:28,609
  3683. happy with what the engineering team
  3684.  
  3685. 922
  3686. 00:36:24,409 --> 00:36:31,579
  3687. came up with so how fast can we run the
  3688.  
  3689. 923
  3690. 00:36:28,610 --> 00:36:33,200
  3691. GPU and CPU with this strategy the
  3692.  
  3693. 924
  3694. 00:36:31,579 --> 00:36:35,210
  3695. simplest approach would be to look at
  3696.  
  3697. 925
  3698. 00:36:33,199 --> 00:36:36,980
  3699. the actual temperature of the silicon
  3700.  
  3701. 926
  3702. 00:36:35,210 --> 00:36:39,409
  3703. die and throttle the frequency on that
  3704.  
  3705. 927
  3706. 00:36:36,980 --> 00:36:41,210
  3707. basis but that won't work it fails to
  3708.  
  3709. 928
  3710. 00:36:39,409 --> 00:36:43,579
  3711. create a consistent PlayStation 5
  3712.  
  3713. 929
  3714. 00:36:41,210 --> 00:36:45,740
  3715. experience it wouldn't do to run a
  3716.  
  3717. 930
  3718. 00:36:43,579 --> 00:36:48,529
  3719. console slower simply because it was in
  3720.  
  3721. 931
  3722. 00:36:45,739 --> 00:36:50,750
  3723. a hot room so rather than look at the
  3724.  
  3725. 932
  3726. 00:36:48,530 --> 00:36:53,000
  3727. actual temperature of the silicon die we
  3728.  
  3729. 933
  3730. 00:36:50,750 --> 00:36:54,980
  3731. look at the activities that the GPU and
  3732.  
  3733. 934
  3734. 00:36:53,000 --> 00:36:56,989
  3735. CPU are performing and set the
  3736.  
  3737. 935
  3738. 00:36:54,980 --> 00:36:59,380
  3739. frequencies on that basis which makes
  3740.  
  3741. 936
  3742. 00:36:56,989 --> 00:37:02,269
  3743. everything deterministic and repeatable
  3744.  
  3745. 937
  3746. 00:36:59,380 --> 00:37:04,369
  3747. while we're at it we also use AMD's
  3748.  
  3749. 938
  3750. 00:37:02,269 --> 00:37:07,610
  3751. smart shift technology and send any
  3752.  
  3753. 939
  3754. 00:37:04,369 --> 00:37:10,699
  3755. unused power from the CPU to the GPU so
  3756.  
  3757. 940
  3758. 00:37:07,610 --> 00:37:13,370
  3759. it can squeeze out a few more pixels the
  3760.  
  3761. 941
  3762. 00:37:10,699 --> 00:37:16,849
  3763. benefits of this strategy are quite
  3764.  
  3765. 942
  3766. 00:37:13,369 --> 00:37:18,889
  3767. large running a GPU at two gigahertz was
  3768.  
  3769. 943
  3770. 00:37:16,849 --> 00:37:21,380
  3771. looking like an unreachable target with
  3772.  
  3773. 944
  3774. 00:37:18,889 --> 00:37:23,900
  3775. the old fixed frequency strategy with
  3776.  
  3777. 945
  3778. 00:37:21,380 --> 00:37:26,510
  3779. this new paradigm we're able to run way
  3780.  
  3781. 946
  3782. 00:37:23,900 --> 00:37:28,340
  3783. over that in fact we have to cap the GPU
  3784.  
  3785. 947
  3786. 00:37:26,510 --> 00:37:30,230
  3787. frequency at two point two three
  3788.  
  3789. 948
  3790. 00:37:28,340 --> 00:37:35,000
  3791. gigahertz so that we can guarantee that
  3792.  
  3793. 949
  3794. 00:37:30,230 --> 00:37:37,190
  3795. the on chip logic operates properly 36c
  3796.  
  3797. 950
  3798. 00:37:35,000 --> 00:37:38,889
  3799. use at two point two three gigahertz is
  3800.  
  3801. 951
  3802. 00:37:37,190 --> 00:37:41,380
  3803. ten point three teraflops
  3804.  
  3805. 952
  3806. 00:37:38,889 --> 00:37:44,108
  3807. and we expect the GPU to spend most of
  3808.  
  3809. 953
  3810. 00:37:41,380 --> 00:37:45,450
  3811. its time at or close to that frequency
  3812.  
  3813. 954
  3814. 00:37:44,108 --> 00:37:48,219
  3815. and performance
  3816.  
  3817. 955
  3818. 00:37:45,449 --> 00:37:49,989
  3819. similarly running the CPU at 3 gigahertz
  3820.  
  3821. 956
  3822. 00:37:48,219 --> 00:37:52,689
  3823. was causing headaches with the old
  3824.  
  3825. 957
  3826. 00:37:49,989 --> 00:37:55,750
  3827. strategy but now we can run it as high
  3828.  
  3829. 958
  3830. 00:37:52,690 --> 00:37:59,170
  3831. as 3.5 gigahertz in fact it spends most
  3832.  
  3833. 959
  3834. 00:37:55,750 --> 00:38:00,909
  3835. of its time at that frequency that
  3836.  
  3837. 960
  3838. 00:37:59,170 --> 00:38:03,430
  3839. doesn't mean all games will be running
  3840.  
  3841. 961
  3842. 00:38:00,909 --> 00:38:06,308
  3843. in 2.2 3 gigahertz and 3.5 gigahertz
  3844.  
  3845. 962
  3846. 00:38:03,429 --> 00:38:09,068
  3847. when that worst case game arrives it
  3848.  
  3849. 963
  3850. 00:38:06,309 --> 00:38:11,650
  3851. will run at a lower clock speed but not
  3852.  
  3853. 964
  3854. 00:38:09,068 --> 00:38:13,420
  3855. too much lower to reduce power by 10% it
  3856.  
  3857. 965
  3858. 00:38:11,650 --> 00:38:15,250
  3859. only takes a couple of percent reduction
  3860.  
  3861. 966
  3862. 00:38:13,420 --> 00:38:17,889
  3863. in frequency so I'd expect any down
  3864.  
  3865. 967
  3866. 00:38:15,250 --> 00:38:19,539
  3867. clocking to be pretty minor all things
  3868.  
  3869. 968
  3870. 00:38:17,889 --> 00:38:21,818
  3871. considered the change to a variable
  3872.  
  3873. 969
  3874. 00:38:19,539 --> 00:38:24,579
  3875. frequency approach will show significant
  3876.  
  3877. 970
  3878. 00:38:21,818 --> 00:38:26,048
  3879. gains for PlayStation gamers the final
  3880.  
  3881. 971
  3882. 00:38:24,579 --> 00:38:28,720
  3883. of our three principals was about
  3884.  
  3885. 972
  3886. 00:38:26,048 --> 00:38:30,969
  3887. finding new dreams it's important for us
  3888.  
  3889. 973
  3890. 00:38:28,719 --> 00:38:33,818
  3891. on the hardware team to find new ways to
  3892.  
  3893. 974
  3894. 00:38:30,969 --> 00:38:37,959
  3895. expand or deepen gaming and that's what
  3896.  
  3897. 975
  3898. 00:38:33,818 --> 00:38:39,489
  3899. led us to a focus on 3d audio as players
  3900.  
  3901. 976
  3902. 00:38:37,960 --> 00:38:41,318
  3903. we experience the game through the
  3904.  
  3905. 977
  3906. 00:38:39,489 --> 00:38:43,000
  3907. visuals through audio and through the
  3908.  
  3909. 978
  3910. 00:38:41,318 --> 00:38:46,028
  3911. feedback we received from the controller
  3912.  
  3913. 979
  3914. 00:38:43,000 --> 00:38:48,099
  3915. such as Rumble or haptics personally I
  3916.  
  3917. 980
  3918. 00:38:46,028 --> 00:38:50,858
  3919. feel a game is just dead without audio
  3920.  
  3921. 981
  3922. 00:38:48,099 --> 00:38:54,160
  3923. visuals are of course important but the
  3924.  
  3925. 982
  3926. 00:38:50,858 --> 00:38:55,869
  3927. impact of audio is huge as well at the
  3928.  
  3929. 983
  3930. 00:38:54,159 --> 00:38:57,578
  3931. same time the audio team on a game
  3932.  
  3933. 984
  3934. 00:38:55,869 --> 00:38:59,890
  3935. project has to do a lot with a little
  3936.  
  3937. 985
  3938. 00:38:57,579 --> 00:39:02,200
  3939. for example on PlayStation 4 there's
  3940.  
  3941. 986
  3942. 00:38:59,889 --> 00:39:04,538
  3943. fierce competition for the Jaguar CPU
  3944.  
  3945. 987
  3946. 00:39:02,199 --> 00:39:07,358
  3947. cores audio typically ends up getting
  3948.  
  3949. 988
  3950. 00:39:04,539 --> 00:39:09,220
  3951. just a fraction of a core that's not
  3952.  
  3953. 989
  3954. 00:39:07,358 --> 00:39:11,170
  3955. much of a computational resource
  3956.  
  3957. 990
  3958. 00:39:09,219 --> 00:39:13,750
  3959. particularly when you consider that the
  3960.  
  3961. 991
  3962. 00:39:11,170 --> 00:39:16,000
  3963. visuals run at 30 or 60 frames a second
  3964.  
  3965. 992
  3966. 00:39:13,750 --> 00:39:20,469
  3967. but audio processing needs to happen at
  3968.  
  3969. 993
  3970. 00:39:16,000 --> 00:39:22,358
  3971. almost 200 times a second so it's been
  3972.  
  3973. 994
  3974. 00:39:20,469 --> 00:39:23,768
  3975. tough going making forward progress on
  3976.  
  3977. 995
  3978. 00:39:22,358 --> 00:39:26,170
  3979. audio with Playstation 4
  3980.  
  3981. 996
  3982. 00:39:23,768 --> 00:39:29,169
  3983. particularly when PlayStation 3 was such
  3984.  
  3985. 997
  3986. 00:39:26,170 --> 00:39:31,210
  3987. a beast when it came to audio the SPU's
  3988.  
  3989. 998
  3990. 00:39:29,170 --> 00:39:33,430
  3991. and cell were almost a perfect device
  3992.  
  3993. 999
  3994. 00:39:31,210 --> 00:39:35,318
  3995. for audio rendering simple pipeline
  3996.  
  3997. 1000
  3998. 00:39:33,429 --> 00:39:37,838
  3999. algorithms could really take advantage
  4000.  
  4001. 1001
  4002. 00:39:35,318 --> 00:39:39,818
  4003. of asynchronous DMA and frequently
  4004.  
  4005. 1002
  4006. 00:39:37,838 --> 00:39:41,588
  4007. reached a hundred percent utilization of
  4008.  
  4009. 1003
  4010. 00:39:39,818 --> 00:39:43,420
  4011. the floating-point unit there's
  4012.  
  4013. 1004
  4014. 00:39:41,588 --> 00:39:46,838
  4015. unfortunately nothing comparable on
  4016.  
  4017. 1005
  4018. 00:39:43,420 --> 00:39:49,119
  4019. PlayStation 4 probably the most dramatic
  4020.  
  4021. 1006
  4022. 00:39:46,838 --> 00:39:51,788
  4023. progress in the PlayStation 4 generation
  4024.  
  4025. 1007
  4026. 00:39:49,119 --> 00:39:52,559
  4027. has been with Virtual Reality the PSB
  4028.  
  4029. 1008
  4030. 00:39:51,789 --> 00:39:54,990
  4031. are hard
  4032.  
  4033. 1009
  4034. 00:39:52,559 --> 00:39:57,539
  4035. has its own audio unit it supports about
  4036.  
  4037. 1010
  4038. 00:39:54,989 --> 00:40:00,029
  4039. fifty pretty decent 3d sound sources and
  4040.  
  4041. 1011
  4042. 00:39:57,539 --> 00:40:02,070
  4043. this provided a hint as to where we
  4044.  
  4045. 1012
  4046. 00:40:00,030 --> 00:40:05,400
  4047. could go with audio as well as some
  4048.  
  4049. 1013
  4050. 00:40:02,070 --> 00:40:08,280
  4051. valuable experience not to oversimplify
  4052.  
  4053. 1014
  4054. 00:40:05,400 --> 00:40:11,309
  4055. but here were our goals for audio on
  4056.  
  4057. 1015
  4058. 00:40:08,280 --> 00:40:14,220
  4059. PlayStation 5 the first goal was great
  4060.  
  4061. 1016
  4062. 00:40:11,309 --> 00:40:16,529
  4063. audio for everyone not just VR users or
  4064.  
  4065. 1017
  4066. 00:40:14,219 --> 00:40:18,000
  4067. sound bar owners or headphone users that
  4068.  
  4069. 1018
  4070. 00:40:16,530 --> 00:40:18,570
  4071. meant audio had to be part of the
  4072.  
  4073. 1019
  4074. 00:40:18,000 --> 00:40:21,599
  4075. console
  4076.  
  4077. 1020
  4078. 00:40:18,570 --> 00:40:23,490
  4079. it couldn't be a peripheral the second
  4080.  
  4081. 1021
  4082. 00:40:21,599 --> 00:40:25,440
  4083. goal was to support hundreds of sound
  4084.  
  4085. 1022
  4086. 00:40:23,489 --> 00:40:27,449
  4087. sources we didn't want developers to
  4088.  
  4089. 1023
  4090. 00:40:25,440 --> 00:40:29,220
  4091. have to pick and choose what sounds
  4092.  
  4093. 1024
  4094. 00:40:27,449 --> 00:40:31,529
  4095. would get 3d effects and which wouldn't
  4096.  
  4097. 1025
  4098. 00:40:29,219 --> 00:40:34,709
  4099. we wanted every sound in the game to
  4100.  
  4101. 1026
  4102. 00:40:31,530 --> 00:40:37,050
  4103. have dimensionality and finally we
  4104.  
  4105. 1027
  4106. 00:40:34,710 --> 00:40:40,650
  4107. wanted to really take on the challenges
  4108.  
  4109. 1028
  4110. 00:40:37,050 --> 00:40:42,930
  4111. of presence and locality now when we say
  4112.  
  4113. 1029
  4114. 00:40:40,650 --> 00:40:45,660
  4115. presence we mean the feeling that you're
  4116.  
  4117. 1030
  4118. 00:40:42,929 --> 00:40:47,849
  4119. actually there you've entered the matrix
  4120.  
  4121. 1031
  4122. 00:40:45,659 --> 00:40:49,799
  4123. it's not of course something we thought
  4124.  
  4125. 1032
  4126. 00:40:47,849 --> 00:40:51,750
  4127. we could perfectly achieve but the idea
  4128.  
  4129. 1033
  4130. 00:40:49,800 --> 00:40:54,750
  4131. was that if we stopped using just a rain
  4132.  
  4133. 1034
  4134. 00:40:51,750 --> 00:40:56,579
  4135. sound and instead use lots of 3d audio
  4136.  
  4137. 1035
  4138. 00:40:54,750 --> 00:40:58,530
  4139. sources for raindrops hitting the ground
  4140.  
  4141. 1036
  4142. 00:40:56,579 --> 00:41:00,809
  4143. at all sorts of locations around you
  4144.  
  4145. 1037
  4146. 00:40:58,530 --> 00:41:02,430
  4147. then at some point your brain would take
  4148.  
  4149. 1038
  4150. 00:41:00,809 --> 00:41:05,579
  4151. a leap and you'd begin to have this
  4152.  
  4153. 1039
  4154. 00:41:02,429 --> 00:41:07,259
  4155. feeling this feeling of real presence
  4156.  
  4157. 1040
  4158. 00:41:05,579 --> 00:41:09,869
  4159. inside the virtual world of the game
  4160.  
  4161. 1041
  4162. 00:41:07,260 --> 00:41:12,570
  4163. this has the capacity to affect your
  4164.  
  4165. 1042
  4166. 00:41:09,869 --> 00:41:16,349
  4167. appreciation of the game just like music
  4168.  
  4169. 1043
  4170. 00:41:12,570 --> 00:41:18,300
  4171. in a game does the concept of locality
  4172.  
  4173. 1044
  4174. 00:41:16,349 --> 00:41:20,400
  4175. is simpler it's just your sense of where
  4176.  
  4177. 1045
  4178. 00:41:18,300 --> 00:41:22,710
  4179. the audio is coming from to the right of
  4180.  
  4181. 1046
  4182. 00:41:20,400 --> 00:41:24,809
  4183. you behind you above you this can
  4184.  
  4185. 1047
  4186. 00:41:22,710 --> 00:41:27,619
  4187. immerse you further in the game and it
  4188.  
  4189. 1048
  4190. 00:41:24,809 --> 00:41:30,989
  4191. can also directly enhance the gameplay
  4192.  
  4193. 1049
  4194. 00:41:27,619 --> 00:41:33,690
  4195. to use dead space as an example I know
  4196.  
  4197. 1050
  4198. 00:41:30,989 --> 00:41:37,109
  4199. old school you're fighting enemies in
  4200.  
  4201. 1051
  4202. 00:41:33,690 --> 00:41:38,970
  4203. fairly dark spooky locations back in the
  4204.  
  4205. 1052
  4206. 00:41:37,110 --> 00:41:40,500
  4207. day if you played the game using the TV
  4208.  
  4209. 1053
  4210. 00:41:38,969 --> 00:41:42,539
  4211. speakers you could tell that there was
  4212.  
  4213. 1054
  4214. 00:41:40,500 --> 00:41:44,699
  4215. one last enemy growling and hunting you
  4216.  
  4217. 1055
  4218. 00:41:42,539 --> 00:41:47,550
  4219. down but it was difficult to tell quite
  4220.  
  4221. 1056
  4222. 00:41:44,699 --> 00:41:49,379
  4223. where that enemy was with headphones you
  4224.  
  4225. 1057
  4226. 00:41:47,550 --> 00:41:51,210
  4227. can tell that the enemy was somewhere on
  4228.  
  4229. 1058
  4230. 00:41:49,380 --> 00:41:52,710
  4231. the right which lets you deduce if you
  4232.  
  4233. 1059
  4234. 00:41:51,210 --> 00:41:55,769
  4235. couldn't see it that it must be
  4236.  
  4237. 1060
  4238. 00:41:52,710 --> 00:41:58,019
  4239. somewhere behind and to your right but
  4240.  
  4241. 1061
  4242. 00:41:55,769 --> 00:42:00,179
  4243. with 3d audio with good locality the
  4244.  
  4245. 1062
  4246. 00:41:58,019 --> 00:42:03,980
  4247. idea is you know the enemy is precisely
  4248.  
  4249. 1063
  4250. 00:42:00,179 --> 00:42:06,839
  4251. there and you turn and you take it out
  4252.  
  4253. 1064
  4254. 00:42:03,980 --> 00:42:09,929
  4255. so how do we know where a sound is
  4256.  
  4257. 1065
  4258. 00:42:06,840 --> 00:42:12,120
  4259. coming from in the first place well all
  4260.  
  4261. 1066
  4262. 00:42:09,929 --> 00:42:14,699
  4263. those bumps and folds in the ear have a
  4264.  
  4265. 1067
  4266. 00:42:12,119 --> 00:42:16,109
  4267. meaning evolutionarily speaking based on
  4268.  
  4269. 1068
  4270. 00:42:14,699 --> 00:42:18,299
  4271. what direction the sound is coming from
  4272.  
  4273. 1069
  4274. 00:42:16,110 --> 00:42:19,860
  4275. sound waves bounce around inside the ear
  4276.  
  4277. 1070
  4278. 00:42:18,300 --> 00:42:21,720
  4279. there's some constructive and
  4280.  
  4281. 1071
  4282. 00:42:19,860 --> 00:42:24,599
  4283. destructive interference and the result
  4284.  
  4285. 1072
  4286. 00:42:21,719 --> 00:42:26,669
  4287. is a change in volume the phase of the
  4288.  
  4289. 1073
  4290. 00:42:24,599 --> 00:42:28,559
  4291. sound also shifts depending on what path
  4292.  
  4293. 1074
  4294. 00:42:26,670 --> 00:42:31,500
  4295. the sound wave took to reach the ear
  4296.  
  4297. 1075
  4298. 00:42:28,559 --> 00:42:33,269
  4299. canal these volume changes and phase
  4300.  
  4301. 1076
  4302. 00:42:31,500 --> 00:42:35,940
  4303. shifts are different for each direction
  4304.  
  4305. 1077
  4306. 00:42:33,269 --> 00:42:38,670
  4307. and also vary depending on the frequency
  4308.  
  4309. 1078
  4310. 00:42:35,940 --> 00:42:40,740
  4311. of the sound head size and head shape
  4312.  
  4313. 1079
  4314. 00:42:38,670 --> 00:42:43,289
  4315. also impact the sound in a similar
  4316.  
  4317. 1080
  4318. 00:42:40,739 --> 00:42:45,719
  4319. fashion the way that the sound changes
  4320.  
  4321. 1081
  4322. 00:42:43,289 --> 00:42:47,279
  4323. based on direction and frequency can be
  4324.  
  4325. 1082
  4326. 00:42:45,719 --> 00:42:50,129
  4327. encoded in a table called the head
  4328.  
  4329. 1083
  4330. 00:42:47,280 --> 00:42:53,010
  4331. related transfer function or HR TF
  4332.  
  4333. 1084
  4334. 00:42:50,130 --> 00:42:55,680
  4335. here's part of one the vertical axis is
  4336.  
  4337. 1085
  4338. 00:42:53,010 --> 00:42:57,750
  4339. the frequency the horizontal axis is the
  4340.  
  4341. 1086
  4342. 00:42:55,679 --> 00:43:00,149
  4343. direction front back left right and the
  4344.  
  4345. 1087
  4346. 00:42:57,750 --> 00:43:03,539
  4347. color gives the degree of attenuation of
  4348.  
  4349. 1088
  4350. 00:43:00,150 --> 00:43:05,760
  4351. the sound at that frequency the HRT F is
  4352.  
  4353. 1089
  4354. 00:43:03,539 --> 00:43:07,980
  4355. as unique to an individual as a
  4356.  
  4357. 1090
  4358. 00:43:05,760 --> 00:43:10,920
  4359. fingerprint is in fact you're looking at
  4360.  
  4361. 1091
  4362. 00:43:07,980 --> 00:43:13,199
  4363. mine right now here is how we measure in
  4364.  
  4365. 1092
  4366. 00:43:10,920 --> 00:43:15,809
  4367. h RTF we've taken hundreds of people
  4368.  
  4369. 1093
  4370. 00:43:13,199 --> 00:43:17,969
  4371. through this process we put a microphone
  4372.  
  4373. 1094
  4374. 00:43:15,809 --> 00:43:21,269
  4375. in the subjects left and right ear
  4376.  
  4377. 1095
  4378. 00:43:17,969 --> 00:43:24,389
  4379. canals and then sit the subject down in
  4380.  
  4381. 1096
  4382. 00:43:21,269 --> 00:43:26,639
  4383. the middle of an array of 22 speakers we
  4384.  
  4385. 1097
  4386. 00:43:24,389 --> 00:43:29,400
  4387. then play an audio sweep from each
  4388.  
  4389. 1098
  4390. 00:43:26,639 --> 00:43:31,139
  4391. speaker as we rotate the subject in the
  4392.  
  4393. 1099
  4394. 00:43:29,400 --> 00:43:34,019
  4395. course of ten or twenty minutes we're
  4396.  
  4397. 1100
  4398. 00:43:31,139 --> 00:43:37,049
  4399. able to sample the H RTF at over 1,000
  4400.  
  4401. 1101
  4402. 00:43:34,019 --> 00:43:39,480
  4403. locations using an H RTF when rendering
  4404.  
  4405. 1102
  4406. 00:43:37,050 --> 00:43:42,330
  4407. audio creates unparalleled quality but
  4408.  
  4409. 1103
  4410. 00:43:39,480 --> 00:43:44,340
  4411. it's computationally expensive the
  4412.  
  4413. 1104
  4414. 00:43:42,329 --> 00:43:46,409
  4415. simplest way to use an H RTF is to
  4416.  
  4417. 1105
  4418. 00:43:44,340 --> 00:43:47,700
  4419. process a sound source to make it appear
  4420.  
  4421. 1106
  4422. 00:43:46,409 --> 00:43:49,909
  4423. as if it's coming from one of those
  4424.  
  4425. 1107
  4426. 00:43:47,699 --> 00:43:51,989
  4427. thousand locations we sample
  4428.  
  4429. 1108
  4430. 00:43:49,909 --> 00:43:53,699
  4431. unfortunately the processing has to be
  4432.  
  4433. 1109
  4434. 00:43:51,989 --> 00:43:55,709
  4435. done in frequency domain rather than
  4436.  
  4437. 1110
  4438. 00:43:53,699 --> 00:43:57,359
  4439. time domain so there's multiple fast
  4440.  
  4441. 1111
  4442. 00:43:55,710 --> 00:43:59,670
  4443. Fourier transforms needed for every
  4444.  
  4445. 1112
  4446. 00:43:57,360 --> 00:44:03,210
  4447. sound source for every audio tech that's
  4448.  
  4449. 1113
  4450. 00:43:59,670 --> 00:44:04,950
  4451. a lot of multiplies this computational
  4452.  
  4453. 1114
  4454. 00:44:03,210 --> 00:44:06,960
  4455. complexity was the determining factor
  4456.  
  4457. 1115
  4458. 00:44:04,949 --> 00:44:08,969
  4459. for our strategy Ament we had to bite
  4460.  
  4461. 1116
  4462. 00:44:06,960 --> 00:44:11,820
  4463. the bullet and design and build a custom
  4464.  
  4465. 1117
  4466. 00:44:08,969 --> 00:44:13,529
  4467. hardware unit for 3d audio collectively
  4468.  
  4469. 1118
  4470. 00:44:11,820 --> 00:44:16,230
  4471. we're referring to the hardware unit and
  4472.  
  4473. 1119
  4474. 00:44:13,530 --> 00:44:20,220
  4475. the proprietary algorithms we run on it
  4476.  
  4477. 1120
  4478. 00:44:16,230 --> 00:44:22,170
  4479. tempest 3d audio Tech the meaning of 3d
  4480.  
  4481. 1121
  4482. 00:44:20,219 --> 00:44:23,009
  4483. audio and technology should be pretty
  4484.  
  4485. 1122
  4486. 00:44:22,170 --> 00:44:25,860
  4487. obvious here
  4488.  
  4489. 1123
  4490. 00:44:23,010 --> 00:44:28,020
  4491. as for tempest I feel it really reflects
  4492.  
  4493. 1124
  4494. 00:44:25,860 --> 00:44:30,599
  4495. our goals with audio it suggests a
  4496.  
  4497. 1125
  4498. 00:44:28,019 --> 00:44:32,849
  4499. certain intensity of experience and also
  4500.  
  4501. 1126
  4502. 00:44:30,599 --> 00:44:34,589
  4503. hints at your presence within it we're
  4504.  
  4505. 1127
  4506. 00:44:32,849 --> 00:44:37,319
  4507. calling the hardware unit that we built
  4508.  
  4509. 1128
  4510. 00:44:34,590 --> 00:44:40,079
  4511. the tempest engine it's based on AMD's
  4512.  
  4513. 1129
  4514. 00:44:37,320 --> 00:44:42,510
  4515. GPU technology we modified a compute
  4516.  
  4517. 1130
  4518. 00:44:40,079 --> 00:44:44,789
  4519. unit in such a way as to make it very
  4520.  
  4521. 1131
  4522. 00:44:42,510 --> 00:44:46,320
  4523. close to the SPU is in PlayStation 3
  4524.  
  4525. 1132
  4526. 00:44:44,789 --> 00:44:49,440
  4527. remember when I said that they were
  4528.  
  4529. 1133
  4530. 00:44:46,320 --> 00:44:52,590
  4531. ideal for audio so the tempest engine
  4532.  
  4533. 1134
  4534. 00:44:49,440 --> 00:44:56,490
  4535. has no caches just like an SPU all data
  4536.  
  4537. 1135
  4538. 00:44:52,590 --> 00:44:58,680
  4539. access is via DMA just like an SPU our
  4540.  
  4541. 1136
  4542. 00:44:56,489 --> 00:45:01,079
  4543. target was that it would have more power
  4544.  
  4545. 1137
  4546. 00:44:58,679 --> 00:45:03,449
  4547. than a CPU thanks to the parallelism
  4548.  
  4549. 1138
  4550. 00:45:01,079 --> 00:45:05,639
  4551. that a GPU can achieve and then it would
  4552.  
  4553. 1139
  4554. 00:45:03,449 --> 00:45:08,309
  4555. be more efficient than our GPU thanks to
  4556.  
  4557. 1140
  4558. 00:45:05,639 --> 00:45:10,799
  4559. the SPU like architecture the goal being
  4560.  
  4561. 1141
  4562. 00:45:08,309 --> 00:45:15,029
  4563. to make possible near 100% utilization
  4564.  
  4565. 1142
  4566. 00:45:10,800 --> 00:45:17,730
  4567. of the C use vector units where we ended
  4568.  
  4569. 1143
  4570. 00:45:15,030 --> 00:45:20,220
  4571. up is a unit with roughly the same sim D
  4572.  
  4573. 1144
  4574. 00:45:17,730 --> 00:45:22,889
  4575. power and bandwidth as all eight Jaguar
  4576.  
  4577. 1145
  4578. 00:45:20,219 --> 00:45:24,750
  4579. cores in the PlayStation 4 combined if
  4580.  
  4581. 1146
  4582. 00:45:22,889 --> 00:45:27,049
  4583. we were to use the same algorithms as
  4584.  
  4585. 1147
  4586. 00:45:24,750 --> 00:45:30,030
  4587. psvr that's enough for something like
  4588.  
  4589. 1148
  4590. 00:45:27,050 --> 00:45:32,010
  4591. 5,000 sound sources but of course we
  4592.  
  4593. 1149
  4594. 00:45:30,030 --> 00:45:34,260
  4595. want to use more complex algorithms and
  4596.  
  4597. 1150
  4598. 00:45:32,010 --> 00:45:37,650
  4599. we don't need anything like that number
  4600.  
  4601. 1151
  4602. 00:45:34,260 --> 00:45:40,200
  4603. of sounds it would have been wonderful
  4604.  
  4605. 1152
  4606. 00:45:37,650 --> 00:45:42,360
  4607. if a simpler strategy such as using
  4608.  
  4609. 1153
  4610. 00:45:40,199 --> 00:45:44,129
  4611. Dolby Atmos peripherals could have
  4612.  
  4613. 1154
  4614. 00:45:42,360 --> 00:45:46,170
  4615. achieved our goals but we wanted 3d
  4616.  
  4617. 1155
  4618. 00:45:44,130 --> 00:45:49,170
  4619. audio for all not just those with
  4620.  
  4621. 1156
  4622. 00:45:46,170 --> 00:45:50,849
  4623. licensed sound bars or the like also we
  4624.  
  4625. 1157
  4626. 00:45:49,170 --> 00:45:52,800
  4627. wanted many hundreds of sound sources
  4628.  
  4629. 1158
  4630. 00:45:50,849 --> 00:45:55,079
  4631. not just the 32 that at most supports
  4632.  
  4633. 1159
  4634. 00:45:52,800 --> 00:45:57,180
  4635. and finally we wanted to be able to
  4636.  
  4637. 1160
  4638. 00:45:55,079 --> 00:45:59,039
  4639. throw an overwhelming amount of
  4640.  
  4641. 1161
  4642. 00:45:57,179 --> 00:46:00,899
  4643. processing power at the problem and it
  4644.  
  4645. 1162
  4646. 00:45:59,039 --> 00:46:03,869
  4647. wasn't clear what any peripheral might
  4648.  
  4649. 1163
  4650. 00:46:00,900 --> 00:46:04,710
  4651. have inside of it in fact with the
  4652.  
  4653. 1164
  4654. 00:46:03,869 --> 00:46:06,630
  4655. tempest engine
  4656.  
  4657. 1165
  4658. 00:46:04,710 --> 00:46:08,940
  4659. we've even got enough power that we can
  4660.  
  4661. 1166
  4662. 00:46:06,630 --> 00:46:10,490
  4663. allocate some to the games to the extent
  4664.  
  4665. 1167
  4666. 00:46:08,940 --> 00:46:13,110
  4667. that games want to make use of
  4668.  
  4669. 1168
  4670. 00:46:10,489 --> 00:46:14,429
  4671. convolution reverb and other algorithms
  4672.  
  4673. 1169
  4674. 00:46:13,110 --> 00:46:17,370
  4675. that are either computationally
  4676.  
  4677. 1170
  4678. 00:46:14,429 --> 00:46:19,679
  4679. expensive or need high bandwidth but the
  4680.  
  4681. 1171
  4682. 00:46:17,369 --> 00:46:24,539
  4683. primary purpose of the tempest engine
  4684.  
  4685. 1172
  4686. 00:46:19,679 --> 00:46:27,089
  4687. remains 3d audio now 3d audio is a major
  4688.  
  4689. 1173
  4690. 00:46:24,539 --> 00:46:28,670
  4691. academic research topic it's safe to say
  4692.  
  4693. 1174
  4694. 00:46:27,090 --> 00:46:30,440
  4695. that no one in the world
  4696.  
  4697. 1175
  4698. 00:46:28,670 --> 00:46:32,480
  4699. all of the answers and the set of
  4700.  
  4701. 1176
  4702. 00:46:30,440 --> 00:46:34,400
  4703. algorithms that has to be invented tuned
  4704.  
  4705. 1177
  4706. 00:46:32,480 --> 00:46:38,780
  4707. or implemented to realize our vision for
  4708.  
  4709. 1178
  4710. 00:46:34,400 --> 00:46:42,108
  4711. 3d audio is immense for example use of
  4712.  
  4713. 1179
  4714. 00:46:38,780 --> 00:46:43,910
  4715. HR TFS in games is quite complex before
  4716.  
  4717. 1180
  4718. 00:46:42,108 --> 00:46:46,519
  4719. I talked about making a sound source
  4720.  
  4721. 1181
  4722. 00:46:43,909 --> 00:46:48,889
  4723. appear as if it's coming from one of
  4724.  
  4725. 1182
  4726. 00:46:46,519 --> 00:46:52,309
  4727. those thousand HR TF sample locations
  4728.  
  4729. 1183
  4730. 00:46:48,889 --> 00:46:54,650
  4731. but for high quality 3d game audio we
  4732.  
  4733. 1184
  4734. 00:46:52,309 --> 00:46:56,450
  4735. have to handle other possibilities the
  4736.  
  4737. 1185
  4738. 00:46:54,650 --> 00:46:58,460
  4739. sound source might not be at one of the
  4740.  
  4741. 1186
  4742. 00:46:56,449 --> 00:47:01,039
  4743. thousand HR TF sample locations so we
  4744.  
  4745. 1187
  4746. 00:46:58,460 --> 00:47:02,990
  4747. have to blend the HR TF data from the
  4748.  
  4749. 1188
  4750. 00:47:01,039 --> 00:47:05,150
  4751. closest locations that we have sampled
  4752.  
  4753. 1189
  4754. 00:47:02,989 --> 00:47:07,098
  4755. the sound source might be moving which
  4756.  
  4757. 1190
  4758. 00:47:05,150 --> 00:47:09,139
  4759. needs very special handling as that
  4760.  
  4761. 1191
  4762. 00:47:07,099 --> 00:47:11,510
  4763. blend keeps changing and that can cause
  4764.  
  4765. 1192
  4766. 00:47:09,139 --> 00:47:14,389
  4767. phase artifacts in the resulting audio
  4768.  
  4769. 1193
  4770. 00:47:11,510 --> 00:47:16,069
  4771. or the sound source might have a size to
  4772.  
  4773. 1194
  4774. 00:47:14,389 --> 00:47:18,618
  4775. it meaning it should feel as if it's
  4776.  
  4777. 1195
  4778. 00:47:16,068 --> 00:47:22,159
  4779. coming from an area rather than a single
  4780.  
  4781. 1196
  4782. 00:47:18,619 --> 00:47:24,440
  4783. point there's also whole categories of
  4784.  
  4785. 1197
  4786. 00:47:22,159 --> 00:47:26,779
  4787. approaches to be handled 3d audio can be
  4788.  
  4789. 1198
  4790. 00:47:24,440 --> 00:47:29,510
  4791. implemented using individual processing
  4792.  
  4793. 1199
  4794. 00:47:26,780 --> 00:47:31,670
  4795. of 3d sound sources but alternatively
  4796.  
  4797. 1200
  4798. 00:47:29,510 --> 00:47:33,890
  4799. ambisonics can be used for 3d audio
  4800.  
  4801. 1201
  4802. 00:47:31,670 --> 00:47:36,170
  4803. ambisonics speak somewhat like the
  4804.  
  4805. 1202
  4806. 00:47:33,889 --> 00:47:38,420
  4807. spherical harmonics used in computer
  4808.  
  4809. 1203
  4810. 00:47:36,170 --> 00:47:40,548
  4811. graphics and finally there's audio
  4812.  
  4813. 1204
  4814. 00:47:38,420 --> 00:47:42,619
  4815. devices the player might be using
  4816.  
  4817. 1205
  4818. 00:47:40,548 --> 00:47:44,358
  4819. headphones or TV speakers or have a
  4820.  
  4821. 1206
  4822. 00:47:42,619 --> 00:47:46,490
  4823. higher end surround sound set up with
  4824.  
  4825. 1207
  4826. 00:47:44,358 --> 00:47:49,338
  4827. six or more speakers all of which need
  4828.  
  4829. 1208
  4830. 00:47:46,489 --> 00:47:51,259
  4831. different approaches that's a lot of
  4832.  
  4833. 1209
  4834. 00:47:49,338 --> 00:47:53,269
  4835. variations it's nice to have the
  4836.  
  4837. 1210
  4838. 00:47:51,260 --> 00:47:55,460
  4839. computational resources of the tempest
  4840.  
  4841. 1211
  4842. 00:47:53,269 --> 00:47:57,440
  4843. engine but it's clear that achieving our
  4844.  
  4845. 1212
  4846. 00:47:55,460 --> 00:48:00,220
  4847. ultimate goals with 3d audio is going to
  4848.  
  4849. 1213
  4850. 00:47:57,440 --> 00:48:02,389
  4851. be a multi-year step-by-step process
  4852.  
  4853. 1214
  4854. 00:48:00,219 --> 00:48:04,519
  4855. having said that headphone audio
  4856.  
  4857. 1215
  4858. 00:48:02,389 --> 00:48:06,769
  4859. implementation is largely complete at
  4860.  
  4861. 1216
  4862. 00:48:04,519 --> 00:48:08,420
  4863. this time it was a natural place for us
  4864.  
  4865. 1217
  4866. 00:48:06,769 --> 00:48:10,219
  4867. to start with headphones we control
  4868.  
  4869. 1218
  4870. 00:48:08,420 --> 00:48:12,260
  4871. exactly what each ear hears and
  4872.  
  4873. 1219
  4874. 00:48:10,219 --> 00:48:13,699
  4875. therefore the algorithmic development
  4876.  
  4877. 1220
  4878. 00:48:12,260 --> 00:48:16,849
  4879. and implementation are more
  4880.  
  4881. 1221
  4882. 00:48:13,699 --> 00:48:18,679
  4883. straightforward for TV speakers and
  4884.  
  4885. 1222
  4886. 00:48:16,849 --> 00:48:21,230
  4887. stereo speakers were in the process of
  4888.  
  4889. 1223
  4890. 00:48:18,679 --> 00:48:22,969
  4891. implementing virtual surround sound the
  4892.  
  4893. 1224
  4894. 00:48:21,230 --> 00:48:25,250
  4895. idea being that if you're sitting in a
  4896.  
  4897. 1225
  4898. 00:48:22,969 --> 00:48:26,899
  4899. sweet spot in front of the TV then the
  4900.  
  4901. 1226
  4902. 00:48:25,250 --> 00:48:28,880
  4903. sound can be made to feel as if it's
  4904.  
  4905. 1227
  4906. 00:48:26,900 --> 00:48:29,650
  4907. coming from any direction even behind
  4908.  
  4909. 1228
  4910. 00:48:28,880 --> 00:48:32,000
  4911. you
  4912.  
  4913. 1229
  4914. 00:48:29,650 --> 00:48:34,130
  4915. virtual surround sound has a lot in
  4916.  
  4917. 1230
  4918. 00:48:32,000 --> 00:48:37,130
  4919. common with 3d audio on headphones but
  4920.  
  4921. 1231
  4922. 00:48:34,130 --> 00:48:38,630
  4923. it's more complex because the left ear
  4924.  
  4925. 1232
  4926. 00:48:37,130 --> 00:48:40,880
  4927. can hear the right speaker and
  4928.  
  4929. 1233
  4930. 00:48:38,630 --> 00:48:42,619
  4931. vice-versa we have a basic
  4932.  
  4933. 1234
  4934. 00:48:40,880 --> 00:48:44,150
  4935. implementation of virtual surround
  4936.  
  4937. 1235
  4938. 00:48:42,619 --> 00:48:46,160
  4939. up and running we're now looking at
  4940.  
  4941. 1236
  4942. 00:48:44,150 --> 00:48:48,588
  4943. increasing the size of that sweet spot
  4944.  
  4945. 1237
  4946. 00:48:46,159 --> 00:48:51,259
  4947. which is to say making the area you need
  4948.  
  4949. 1238
  4950. 00:48:48,588 --> 00:48:53,119
  4951. to be in to feel the 3d effect larger
  4952.  
  4953. 1239
  4954. 00:48:51,259 --> 00:48:56,358
  4955. and we're also working to boost the
  4956.  
  4957. 1240
  4958. 00:48:53,119 --> 00:48:58,309
  4959. sense of locality headphone audio is the
  4960.  
  4961. 1241
  4962. 00:48:56,358 --> 00:49:00,139
  4963. current gold standard for 3d audio on
  4964.  
  4965. 1242
  4966. 00:48:58,309 --> 00:49:01,910
  4967. playstation 5 but we're going to see
  4968.  
  4969. 1243
  4970. 00:49:00,139 --> 00:49:04,608
  4971. what we can do to bring virtual surround
  4972.  
  4973. 1244
  4974. 00:49:01,909 --> 00:49:06,440
  4975. sound to a similar level after which
  4976.  
  4977. 1245
  4978. 00:49:04,608 --> 00:49:08,150
  4979. we'll start in on setups with more
  4980.  
  4981. 1246
  4982. 00:49:06,440 --> 00:49:10,729
  4983. speakers such as 6 channel surround
  4984.  
  4985. 1247
  4986. 00:49:08,150 --> 00:49:12,139
  4987. sound it's now to the point where some
  4988.  
  4989. 1248
  4990. 00:49:10,728 --> 00:49:13,998
  4991. of the playstation 5 games in
  4992.  
  4993. 1249
  4994. 00:49:12,139 --> 00:49:16,308
  4995. development are extensively using these
  4996.  
  4997. 1250
  4998. 00:49:13,998 --> 00:49:17,718
  4999. systems one of the game demos allows you
  5000.  
  5001. 1251
  5002. 00:49:16,309 --> 00:49:20,690
  5003. to toggle between conventional
  5004.  
  5005. 1252
  5006. 00:49:17,719 --> 00:49:23,539
  5007. PlayStation 4 style stereo audio and our
  5008.  
  5009. 1253
  5010. 00:49:20,690 --> 00:49:25,309
  5011. new 3d audio I listened with just an
  5012.  
  5013. 1254
  5014. 00:49:23,539 --> 00:49:27,710
  5015. ordinary pair of over the Year
  5016.  
  5017. 1255
  5018. 00:49:25,309 --> 00:49:30,289
  5019. headphones and wow I could feel a
  5020.  
  5021. 1256
  5022. 00:49:27,710 --> 00:49:32,210
  5023. difference 3d audio has that dimensional
  5024.  
  5025. 1257
  5026. 00:49:30,289 --> 00:49:35,329
  5027. feel to it conventional stereo audio
  5028.  
  5029. 1258
  5030. 00:49:32,210 --> 00:49:38,749
  5031. feels smashed flat by comparison the
  5032.  
  5033. 1259
  5034. 00:49:35,329 --> 00:49:40,910
  5035. improvement is obvious so a big
  5036.  
  5037. 1260
  5038. 00:49:38,748 --> 00:49:43,308
  5039. advancement but have I entered the
  5040.  
  5041. 1261
  5042. 00:49:40,909 --> 00:49:45,139
  5043. matrix does my brain believe I'm really
  5044.  
  5045. 1262
  5046. 00:49:43,309 --> 00:49:47,778
  5047. there like I was talking about earlier
  5048.  
  5049. 1263
  5050. 00:49:45,139 --> 00:49:50,690
  5051. when I explained our target of presence
  5052.  
  5053. 1264
  5054. 00:49:47,778 --> 00:49:52,489
  5055. well the answer is no but you've
  5056.  
  5057. 1265
  5058. 00:49:50,690 --> 00:49:55,548
  5059. probably caught on to what's missing
  5060.  
  5061. 1266
  5062. 00:49:52,489 --> 00:49:58,880
  5063. here namely whose HRT F was being used
  5064.  
  5065. 1267
  5066. 00:49:55,548 --> 00:50:01,159
  5067. it wasn't mine it was the default HRT F
  5068.  
  5069. 1268
  5070. 00:49:58,880 --> 00:50:02,539
  5071. the audio team analyzed the hundreds
  5072.  
  5073. 1269
  5074. 00:50:01,159 --> 00:50:04,248
  5075. that they measured and chose the one
  5076.  
  5077. 1270
  5078. 00:50:02,539 --> 00:50:06,920
  5079. they felt with the closest fit to the
  5080.  
  5081. 1271
  5082. 00:50:04,248 --> 00:50:09,439
  5083. total game playing audience this shows a
  5084.  
  5085. 1272
  5086. 00:50:06,920 --> 00:50:11,838
  5087. piece of the default HRT F on the left
  5088.  
  5089. 1273
  5090. 00:50:09,440 --> 00:50:13,338
  5091. and my HRT F on the right you can see
  5092.  
  5093. 1274
  5094. 00:50:11,838 --> 00:50:16,239
  5095. that the general features are much the
  5096.  
  5097. 1275
  5098. 00:50:13,338 --> 00:50:19,369
  5099. same but the details are quite different
  5100.  
  5101. 1276
  5102. 00:50:16,239 --> 00:50:21,739
  5103. with the default HRT F as I said the 3d
  5104.  
  5105. 1277
  5106. 00:50:19,369 --> 00:50:24,619
  5107. audio sounds pretty great when I use my
  5108.  
  5109. 1278
  5110. 00:50:21,739 --> 00:50:27,289
  5111. HRT F though the audio reaches a higher
  5112.  
  5113. 1279
  5114. 00:50:24,619 --> 00:50:30,160
  5115. level of realism which is to say that
  5116.  
  5117. 1280
  5118. 00:50:27,289 --> 00:50:32,690
  5119. when using headphones and my HRT F I
  5120.  
  5121. 1281
  5122. 00:50:30,159 --> 00:50:34,909
  5123. occasionally get fooled and even think a
  5124.  
  5125. 1282
  5126. 00:50:32,690 --> 00:50:38,019
  5127. sound is coming from the real world when
  5128.  
  5129. 1283
  5130. 00:50:34,909 --> 00:50:40,159
  5131. it's actually coming from the game a
  5132.  
  5133. 1284
  5134. 00:50:38,018 --> 00:50:42,498
  5135. corollary to this is that there are a
  5136.  
  5137. 1285
  5138. 00:50:40,159 --> 00:50:45,170
  5139. few people whose HRT FS are sufficiently
  5140.  
  5141. 1286
  5142. 00:50:42,498 --> 00:50:47,209
  5143. far from the default HRT F that's the
  5144.  
  5145. 1287
  5146. 00:50:45,170 --> 00:50:49,909
  5147. red dot here that they can toggle
  5148.  
  5149. 1288
  5150. 00:50:47,210 --> 00:50:52,849
  5151. between ps4 style and PS 5 style audio
  5152.  
  5153. 1289
  5154. 00:50:49,909 --> 00:50:55,518
  5155. and not sense much difference I've had a
  5156.  
  5157. 1290
  5158. 00:50:52,849 --> 00:50:56,450
  5159. few people describe the playstation 5 3d
  5160.  
  5161. 1291
  5162. 00:50:55,518 --> 00:50:58,719
  5163. audio is sounding
  5164.  
  5165. 1292
  5166. 00:50:56,449 --> 00:51:00,889
  5167. like a bit better stereo audio
  5168.  
  5169. 1293
  5170. 00:50:58,719 --> 00:51:04,789
  5171. presumably they're the ones at the very
  5172.  
  5173. 1294
  5174. 00:51:00,889 --> 00:51:07,368
  5175. edges of this diagram which means what
  5176.  
  5177. 1295
  5178. 00:51:04,789 --> 00:51:08,989
  5179. HRT F you're using is key I'd like
  5180.  
  5181. 1296
  5182. 00:51:07,369 --> 00:51:11,150
  5183. everyone to be able to experience what
  5184.  
  5185. 1297
  5186. 00:51:08,989 --> 00:51:13,549
  5187. I'm experiencing but obviously it's not
  5188.  
  5189. 1298
  5190. 00:51:11,150 --> 00:51:16,369
  5191. possible to measure the HRT F of every
  5192.  
  5193. 1299
  5194. 00:51:13,550 --> 00:51:18,740
  5195. PlayStation user that means HRT F
  5196.  
  5197. 1300
  5198. 00:51:16,369 --> 00:51:21,170
  5199. selection and synthesis are going to be
  5200.  
  5201. 1301
  5202. 00:51:18,739 --> 00:51:24,139
  5203. big topics going forward as the tempest
  5204.  
  5205. 1302
  5206. 00:51:21,170 --> 00:51:26,150
  5207. technology matures at PlayStation 5
  5208.  
  5209. 1303
  5210. 00:51:24,139 --> 00:51:28,730
  5211. launch will be offering a choice of five
  5212.  
  5213. 1304
  5214. 00:51:26,150 --> 00:51:29,869
  5215. HRT FS there's a simple test where you
  5216.  
  5217. 1305
  5218. 00:51:28,730 --> 00:51:32,179
  5219. pick the one that gives you the best
  5220.  
  5221. 1306
  5222. 00:51:29,869 --> 00:51:34,430
  5223. locality that's just the first step
  5224.  
  5225. 1307
  5226. 00:51:32,179 --> 00:51:37,129
  5227. though this is an open-ended research
  5228.  
  5229. 1308
  5230. 00:51:34,429 --> 00:51:39,139
  5231. topic maybe you'll be sending us a photo
  5232.  
  5233. 1309
  5234. 00:51:37,130 --> 00:51:41,630
  5235. of your ear and we'll choose a neural
  5236.  
  5237. 1310
  5238. 00:51:39,139 --> 00:51:43,670
  5239. network to pick the closest HRT F in our
  5240.  
  5241. 1311
  5242. 00:51:41,630 --> 00:51:45,950
  5243. library maybe you'll be sending us a
  5244.  
  5245. 1312
  5246. 00:51:43,670 --> 00:51:47,690
  5247. video of your ears and your head and
  5248.  
  5249. 1313
  5250. 00:51:45,949 --> 00:51:50,480
  5251. we'll make a 3d model of them and
  5252.  
  5253. 1314
  5254. 00:51:47,690 --> 00:51:53,179
  5255. synthesize the HRT F maybe you'll play
  5256.  
  5257. 1315
  5258. 00:51:50,480 --> 00:51:55,639
  5259. an audio game to tune your HRT F will be
  5260.  
  5261. 1316
  5262. 00:51:53,179 --> 00:51:57,529
  5263. subtly changing it as you play and home
  5264.  
  5265. 1317
  5266. 00:51:55,639 --> 00:51:59,509
  5267. in on the HRT F that gives you the
  5268.  
  5269. 1318
  5270. 00:51:57,530 --> 00:52:02,900
  5271. highest score meaning that it matches
  5272.  
  5273. 1319
  5274. 00:51:59,510 --> 00:52:04,579
  5275. you the best this is a journey we'll all
  5276.  
  5277. 1320
  5278. 00:52:02,900 --> 00:52:04,940
  5279. be taking together over the next few
  5280.  
  5281. 1321
  5282. 00:52:04,579 --> 00:52:06,950
  5283. years
  5284.  
  5285. 1322
  5286. 00:52:04,940 --> 00:52:09,260
  5287. ultimately we're committing to enabling
  5288.  
  5289. 1323
  5290. 00:52:06,949 --> 00:52:13,549
  5291. everyone to experience that next level
  5292.  
  5293. 1324
  5294. 00:52:09,260 --> 00:52:15,230
  5295. of realism hopefully I've been able to
  5296.  
  5297. 1325
  5298. 00:52:13,550 --> 00:52:17,599
  5299. illustrate a bit about our design and
  5300.  
  5301. 1326
  5302. 00:52:15,230 --> 00:52:19,550
  5303. decision making process today and why
  5304.  
  5305. 1327
  5306. 00:52:17,599 --> 00:52:21,920
  5307. PlayStation 5 has the feature set that
  5308.  
  5309. 1328
  5310. 00:52:19,550 --> 00:52:23,780
  5311. it does now comes the fun part we get to
  5312.  
  5313. 1329
  5314. 00:52:21,920 --> 00:52:26,420
  5315. see how the development community takes
  5316.  
  5317. 1330
  5318. 00:52:23,780 --> 00:52:28,579
  5319. advantage of that feature set I'm hoping
  5320.  
  5321. 1331
  5322. 00:52:26,420 --> 00:52:30,800
  5323. for the completely unexpected will it
  5324.  
  5325. 1332
  5326. 00:52:28,579 --> 00:52:33,050
  5327. come from audio ray-tracing the
  5328.  
  5329. 1333
  5330. 00:52:30,800 --> 00:52:36,130
  5331. capabilities of the SSD or something
  5332.  
  5333. 1334
  5334. 00:52:33,050 --> 00:52:40,510
  5335. else I guess we'll find out soon enough
  5336.  
  5337. 1335
  5338. 00:52:36,130 --> 00:52:40,510
  5339. thank you for your time today
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement