banner



Game Design What Is A Flaoting Number

For those who aren't sure, you can read the full interview with Cerny by [clicking here]. This post will probably be a little mathy and a little technical. You have been warned.

image

Firstly, you need to know what "flops" means. "flops" is actually an acronym for FLoating point Operations Per Second. Floating point is a way for computers to represent numbers - it allows for programmers to represent data that is very precise, both for very large numbers and for very small fractions. Floating point values are used for a lot of things like keeping track of your position in 3D space, which direction you are facing, how far bones move during a single frame of animation, calculating the the distance between two objects, calculating the lighting of a specific pixel, and so on. Any time where we need to use fractions in our calculations, we usually use floating point numbers. A floating point operation is any time we take one or more floating point values and do some sort of mathematical operation - add, subtract, multiply, or divide. Graphics are especially floating point operation heavy because practically all of the math involved is built on floating point operations and fractions. Thus, the number of possible floating point operations per second (flops) that hardware can perform has become a measure of overall performance.

image

Let's build on this some more. A teraflops is 1000 gigaflops. A gigaflops is 1000 megaflops. A megaflops is 1000 kiloflops, and a kiloflops is 1000 flops. (Yes, I know it sounds weird. That's the problem with the 's' in flops not denoting plurality) Therefore, a single teraflops is a trillion floating point operations per second. The base PS4 GPU is capable of 1.84 teraflops. The base XBone GPU is capable of 1.31 teraflops. Cerny is claiming that the PS4 Pro can do up to 8.4 teraflops which is a significant boost! However, it comes with some pretty significant caveats.

image

The first thing Sony is taking advantage of is doubling the GPUs - there are two GPUs in the PS4 Pro instead of one. This doesn't necessarily mean that the computing power is completely doubled practically speaking- there is some amount of overhead in switching between two processors and keeping track of progress to get the results of calculations. Think of it like having one or two employees at a burger joint - it's easier to just make a list of the things a single employee needs to do, but managing two (or more) at maximum efficiency needs some amount of coordination that isn't necessary with one. It can result in a significant boost in overall productivity if the manager can keep both employees working productively.

image

The second thing Cerny mentions is half floating point operations. This is where it gets a little tricky. Normally, floating point numbers are represented as 32 bit values. This is called a "single precision" floating point number. There are also "double precision" numbers (64 bits), and "half precision" numbers (16 bits). The number of bits is indicative of how precise the floating point value can be. A single precision floating point is accurate up to six significant decimal places (0.123456). A double precision floating point is accurate up to 15 significant decimal places. A half-precision floating point is accurate up to four decimal places. So… because the PS4 Pro's GPU is specifically capable of handling half precision floating point operations much faster than single precision floating point operations, it can make twice as many of those calculations per second. However, this comes at the cost of precision - only 4 decimal places is significantly less than six, and that loss of precision can mean the difference between a punch hitting someone in the jaw and a punch missing by inches.

image

This means that it is not always as useful. Going back to the burger joint analogy, it's like comparing different cooking methods to process the raw food into cooked food. The microwave might be fastest overall, but there's also a fryer (medium) and a grill (slowest) that you can cook with. Some restaurants might optimize everything for the microwave for maximum throughput, but many will realize that some recipes (and operations) are just better when cooked in a fryer or on the grill and use those instead. While they may not be as fast as the microwave, they can also produce better results. Many games will not exclusively use half precision values for the speed. Only those that spend the additional time to optimize their calculations for half precision values will be able to take advantage of it.

image

A lot of what this hinges on is how well Sony supports this. Remember, the tricky parts are the simultaneous tasking out of both employees at the restaurant, and the cooking methods by which the employees prepare the food. Third party game developers might not spend as much time optimizing these two issues if we are also developing for the base PS4, PC, and XBOne and don't have the engineering time to spare. We could, for example, spend those engineering resources improving all platforms at once instead of just the PS4 Pro version. Sony can help offset this by providing third party devs better support for the tasking and operation optimization under the hood. If third party devs don't have to do that themselves, it will be a "free" performance boost overall and much more attractive. The more work we have to do to take advantage of the hardware performance, the more it will be like the PS3 and its SPU technology - a neat idea that a few devs took advantage of, but not utilized by most because of the effort to reward ratio.


Got a burning question you want answered?

  • Short questions: Ask a Game Dev on Twitter
  • Long questions: Ask a Game Dev on Tumblr
  • Frequent questions: The FAQ

Game Design What Is A Flaoting Number

Source: https://askagamedev.tumblr.com/post/153263723123/so-the-internet-has-been-a-buzz-about-an

Posted by: blountcomisdazied.blogspot.com

0 Response to "Game Design What Is A Flaoting Number"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel