1
00:00:00,000 --> 00:00:04,920
Typically, when we get excited about improvements to gaming performance, it's because of some

2
00:00:04,920 --> 00:00:09,480
new piece of hardware like a high refresh rate monitor or a graphics card that's beefier

3
00:00:09,480 --> 00:00:16,800
than a porterhouse steak. But Microsoft has come out with a new piece of software that looks like it should give

4
00:00:16,800 --> 00:00:21,080
your visuals a significant boost in terms of both quality and performance.

5
00:00:21,080 --> 00:00:27,780
It's called DirectX 12 Ultimate, and despite the tacky gamer sounding name, it features

6
00:00:27,780 --> 00:00:31,220
technical optimizations that should really make a difference.

7
00:00:31,220 --> 00:00:34,420
The first big change is about ray tracing.

8
00:00:34,420 --> 00:00:38,900
You can learn more about ray tracing in general in this video, but in a nutshell, it's a

9
00:00:38,900 --> 00:00:44,540
technique in which your GPU can track where light rays are going in a scene to give much

10
00:00:44,540 --> 00:00:47,700
more realistic light and shadow effects than you'd otherwise get.

11
00:00:47,700 --> 00:00:53,460
Reflections look amazing. Ray tracing support first became widespread on consumer graphics cards with NVIDIA's

12
00:00:53,460 --> 00:00:56,980
release of their high-end RTX 2000 series.

13
00:00:56,980 --> 00:01:02,780
But DirectX 12 Ultimate will not only support ray tracing on both NVIDIA and AMD cards,

14
00:01:02,780 --> 00:01:07,300
but it should lighten the load on your system to make the technology more accessible to

15
00:01:07,300 --> 00:01:11,300
all. Now, developers are going to have more control over the process instead of just letting the

16
00:01:11,300 --> 00:01:16,820
system decide how to schedule ray tracing through a process called inline ray tracing.

17
00:01:16,820 --> 00:01:21,180
Essentially, this makes the processing of simpler lighting effects more efficient, since

18
00:01:21,260 --> 00:01:25,980
the developer is telling the GPU exactly when to trace a certain effect instead of forcing

19
00:01:25,980 --> 00:01:29,620
the GPU to spend processing resources trying to decide on its own.

20
00:01:29,620 --> 00:01:33,460
The DX12 Ultimate API also eases the load on your CPU.

21
00:01:33,460 --> 00:01:37,940
As originally, the shaders on your GPU had to talk to the CPU to start ray tracing a

22
00:01:37,940 --> 00:01:44,620
scene. Now, your GPU can just do this on its own, allowing for faster processing overall, hopefully

23
00:01:44,620 --> 00:01:50,980
leading to ray tracing support in more games with lower hardware requirements for an eye-pleasing

24
00:01:51,780 --> 00:01:56,780
experience. Moving on, mesh shading should also prevent your GPU from rendering parts of the scene

25
00:01:56,780 --> 00:02:02,860
that you'll never even see. Suppose you're playing a high-end AAA title with thousands of detailed objects in each

26
00:02:02,860 --> 00:02:08,900
scene. That's a lot for your GPU to handle, as it might have to draw trillions of little triangles

27
00:02:08,900 --> 00:02:14,340
every frame in extreme cases. But your eye can only detect so much detail, right?

28
00:02:14,340 --> 00:02:17,380
Imagine you're looking at a faraway mountain, for example.

29
00:02:17,380 --> 00:02:20,900
You're not going to be able to make out every little crag in rock formation.

30
00:02:20,900 --> 00:02:25,220
And mesh shading takes this idea and applies it to computer graphics.

31
00:02:25,220 --> 00:02:29,660
Specialized shaders first figure out which objects even need to be rendered at all, then

32
00:02:29,660 --> 00:02:34,500
every object that makes the cut is assigned a certain level of detail.

33
00:02:34,500 --> 00:02:39,420
Close by objects are rendered at high detail levels, with more triangles, with objects

34
00:02:39,420 --> 00:02:43,700
that are farther away getting lower levels of detail and fewer triangles.

35
00:02:43,700 --> 00:02:49,020
Even several orders of magnitude fewer, depending on how far away it is, with the level of detail

36
00:02:49,020 --> 00:02:53,780
getting adjusted dynamically as objects move closer or farther away.

37
00:02:53,780 --> 00:02:57,580
Although assigning objects different levels of detail is a technique that's been around

38
00:02:57,580 --> 00:03:03,060
for a while, mesh shading allows your GPU to process triangles in chunks instead of

39
00:03:03,060 --> 00:03:08,140
individually, allowing level of detail computations to happen far more quickly.

40
00:03:08,140 --> 00:03:17,620
Next up, let's talk about sampler feedback. This is a method that allows more static parts of an image to be shaded from scratch less frequently,

41
00:03:17,620 --> 00:03:22,100
meaning that your GPU will take shading data from previous frames and apply it to subsequent

42
00:03:22,100 --> 00:03:25,140
frames without having to reprocess everything.

43
00:03:25,140 --> 00:03:30,380
What a waste of work. So instead of having to do tons of work on every object, every frame, an object might

44
00:03:30,380 --> 00:03:35,500
only be reshaded every second, third, or even tenth frame, depending on the environment.

45
00:03:35,500 --> 00:03:40,860
A related feature called variable rate shading only applies detailed shading to parts of

46
00:03:40,860 --> 00:03:45,340
the screen that you're actively looking at with your eyes, as your eyes peripheral vision

47
00:03:45,340 --> 00:03:48,660
starts to blur quickly from the center of your field of view, and you can learn much

48
00:03:48,660 --> 00:03:52,940
more about variable rate shading in our dedicated video right up here.

49
00:03:52,940 --> 00:03:57,780
So all this means that DirectX12 Ultimate is primarily concerned with stopping your

50
00:03:57,780 --> 00:04:03,020
GPU from wasting energy rendering crap that you simply won't see, freeing up computational

51
00:04:03,020 --> 00:04:07,060
power that could be used to create more realistic game worlds.

52
00:04:07,060 --> 00:04:11,260
And not only will we see it on PC, but it will be supported on the Xbox Series X too.

53
00:04:11,260 --> 00:04:15,660
So hopefully we'll see developers leverage it in lots of upcoming titles.

54
00:04:15,660 --> 00:04:19,700
After all, why would you want to make your GPU do unnecessary work like some kind of

55
00:04:19,700 --> 00:04:23,100
power hungry boss?

56
00:04:23,100 --> 00:04:28,500
I know how that is. So thanks for watching guys. If you like this video, give us a thumbs up, hit subscribe, and be sure to leave a message

57
00:04:28,500 --> 00:04:33,020
in the comments section with your suggestion for topics that we should cover in the future.
