# Does FPS depend on the textures quality?



## lZKoce (Jan 19, 2013)

Hi all, I hope you have a useful weekend. I have this impression and decided to get a firm answer about. Does FPS depend on the texture quality? I am asking in the case of small resolutions- let's say a laptop resolution of 1366x768. The cards of the today's laptops start at 1/2GB minimum and I was wondering does it affect the games if the textures are on low or high>? I tried with StarCraft2 running the textures on low and ultra and it didn't affect the frame rates, but when I try the same with Blacklight Retribution between minimum and maximum it does make a difference. Are the textures of the game solely loaded into the VRAM? or they require some resources from the GPU core as well, which in turn affects the frames?


----------



## lyndonguitar (Jan 19, 2013)

it does, every setting does


----------



## Bo$$ (Jan 19, 2013)

textures will stress GPU's minimally if they have large amount of memory available. hence at your resolution it is easy to run with 512mb of Vram.

Some of the newer games are MUCH more memory intensive hence will take a small hit to FPS


----------



## Kreij (Jan 19, 2013)

It's not exactly the texture quality (texture size) that determines the FPS, but the GC's capability of handling them.
A game will try to load all of the assets it needs for a particular scene into the GC's memory. If all of the assets fit in VRAM then the FPS will be determined by how fast the GC can fill the backbuffers for display to the monitor. If a game can fits all of its assets into a 1GB card, having a 2GB card will not help framerates.
If the VRAM will not hold all of the assets (for instance, really large textures), then you will definiitely see a drop in frame rates due to swapping info into the VRAM from the system to the GC.
Developers deal with these kinds of issues using tesselation and other "tricks" to try to maintain acceptable FPS in varying GC scenarios.


----------



## lZKoce (Jan 19, 2013)

"how fast" it loads them into the backbuffer...so it does depend on other factors than VRAM. I thought that if you have 2GB of VRAM you are pretty much invincible for any game title out there. My case was GT630M- 2GB DDR3 across 128 bit bus width/ 16ROPs/40nm, I don't know which DirectX supports natively- I think 11. So tasselation can make the game run smoother? Should I turn it on when I have the opportunity?


----------



## erocker (Jan 19, 2013)

In some games, textures are loaded directly from the HDD/SSD. So, in some cases a SSD will help.


----------



## Kreij (Jan 19, 2013)

lZKoce said:


> "how fast" it loads them into the backbuffer...so it does depend on other factors than VRAM. I thought that if you have 2GB of VRAM you are pretty much invincible for any game title out there. My case was GT630M- 2GB DDR3 across 128 bit bus width/ 16ROPs/40nm, I don't know which DirectX supports natively- I think 11. So tasselation can make the game run smoother? Should I turn it on when I have the opportunity?



Tesselation algorithms are use to dynamically adjust the level of detail (LOD) given a specific distance of objects from the viewer. The farther away an object is, the less detail it will get. This can help greatly with frame rates, but not everyone likes it as long distance viewing (in the case of a large world) can look grainy and not well defined.

2GB cards, while not "invincible" are adequate at most of the common resolutions. Many tests show that over 2GB do not produce any real advantages over a 3 or 4 GB solution for gaming.

Your best bet is to adjust your setting to get the best combination of frame rates and image quality that you find acceptable. Since I use a 30" monitor, I turn off AA as I really don't need it. This helps frame rates, but would not be so good on a lower res monitor.


----------



## Frag_Maniac (Jan 19, 2013)

There's no real blanket answer to your question. Different games have different results when changing in-game texture resolution.

That said, for the most part lower display resolutions and higher GPU power and VRAM capacity are more resilient to handling games.


----------



## NdMk2o1o (Jan 19, 2013)

lZKoce said:


> "how fast" it loads them into the backbuffer...so it does depend on other factors than VRAM. I thought that if you have 2GB of VRAM you are pretty much invincible for any game title out there. My case was GT630M- 2GB DDR3 across 128 bit bus width/ 16ROPs/40nm, I don't know which DirectX supports natively- I think 11. So tasselation can make the game run smoother? Should I turn it on when I have the opportunity?



When it comes to texture size the larger the VRAM you have will help as it saves having the game to load textures into RAM (which is quite a lot slower than vRAM or GDDR5 which most modern cards have nowadays) however you still need a good GPU to be able to render the game, so having a low end GPU with lots of vRAM makes little difference when running mopdern games, because yes you can fit lots of textures into the vRAM but the GPU isn't strong enough to output them on high settings, high resolution at a decent framerate (FPS) hence why you might not have seen a difference going from low>ultra textures if the GPU you are referring to is the 630 as you later mentioned, if that's the case you will need to reduce the visual qualities to improve FPS.


----------



## Pehla (Jan 19, 2013)

im playin wolr of tanks on my laptop on many detalis on low and some on medium... and i have like min20-max 50 fps...and if i turn fw more deatails to even medium not to mention high i can hardly play the game.. i get like 6fps  maybe more.. so yes higher details more gpu load =lower fps!!


----------



## LAN_deRf_HA (Jan 19, 2013)

Typically high res packs seem to only hit for a frame or 2, unless we're talking about skyrim. The exceptions being if you're going over the ram limit of your card. Then it can hit hard.


----------



## ViperXTR (Jan 20, 2013)

i remember more stuttering when i still have my 1GB 460 for SKyrim with Hi res texture packs installed, seeing it in MSI Afterburner and its using all of the vram hehe, got a 2Gb GTX 660 and its now consuming around ~1.5-1.8Gb 0_0


----------



## desertleaf (Jun 4, 2020)

I have necro posted because I feel this question is still tossed around every few months as of 2020. 

I am a former Biochemist and currently a solo game developer who has studied the background processes over 5 years.

The Frames Per Second is a direct reflection of the time required to produce 1 frame of a rendered image in 1 second. The term Render is the process to make a result through a collection of sub-processes. Whether it is a [still image] or a [Real Time render] , the Frame Per Second is determined by the all the steps required to produce 1 pixel on the screen. The objects that are present within a given Three Dimensional coordinate system will remain invisible unless the area between per 3 vertices are commanded to. The area between 3 vertices is called a triangle. Every 2D and 3D object is made up of a collection of triangles, some overlapping and some sharing adjacent vertices to produce a surface area. Each surface area is then mapped on a new 2D system labeled UV ( L for 3D). 

Identical to the XYZ system, the UVL system is used specifically to describe a surface area. The UVL system undergoes many shader calculations to produce a still image or even a scripted image. This final image is translated on the surface area of a 3D object in a XYZ coordinate system. The image produced on each area within the object's collection of triangles is called a Texel. If a game object is made up of 3 triangles, it respectively has 1 Texel. This texel is then converted to a pixel(s) on screen. According to the size of this single triangle in view of the Render Camera, this single texel can be translated up to 100% of the pixels available on the Height and Width of the screen (Monitor Resolution). The GPU aka graphic card's responsibility is to quickly read Saved Information about the TEXEL's of an Object, find out its position in 3D space, then render it using however many pixels this object encompasses in 2D space(screen space). If this real time Object contains several thousands of texels, the object's size and distance directly impact the time to render a 2D image on screen.

For example, lets say we have a rainbow image used to describe the surface area of 1 million texels of a single object. The further away this object is placed from the Rendering Camera, the fewer pixels it will require to render a 2D result on screen; however, the time to produce the result increase dramatically -- i call this pixel fighting. If the color of the rainbow was to be described in 1 pixel on screen, what color will the GPU pick, Red, blue, white? In other words, if each of the 1 million texels contained a single color fitted in 1 pixel, what color will the GPU choose to represent that Rainbow Object? The time required is a direct reflection of the GPU's speed to calculate a result for 1 million texels jammed into pixel. As this object moves closer the to rendering camera -- the bigger it becomes in 2D space and the more pixels it begins to encompass -- the easier it is to render. In relation, the fewer texels, the quicker it is to produce the "Correct" result within X many pixels. If an object is a single color, red, regardless of where it is in 3D space, it will always be red. The GPU will know to render Red regardless of its size, position in relation to the Render Camera, and the amount of texels it contains. This is why when an entire game is 1 shade of grey, or in our case 1 shade of red, the Frames Per Second is lightning quick. The Frames Per Second is a direct reflection of the number of texels fighting for however many pixels on screen. 

If a Black Cloud moves over a red ball, consider how many pixels is being used to view this interaction (in other words, how close are these 2 objects to the camera), then how many texels are fighting to represent a particular color? Next,take this reality and expand on it for an entire game. How often are objects Pixel Fighting? Don't forget to include the influence of the Lights and their Hue. Are they casting shadows, if so, add in the Time it takes to calculated the shadow and its color. Is this pixel fighting with whatever object this shadow is casting on? Also consider the post process effects such as blurs, glows, distortions. Are the Objects Transparent, are they changing in shape? The GPU handles the result of each pixel. To determine what each pixel should represent is entirely on the speed of the GPU to sort out all the Colors in a given pixel. Is an object overlapping or intersecting? What color is it? 

In short, 

Frames Per Second is the result of pixel fighting and the Time required for the CPU to tell the GPU what to do. 

Memory is just a way to short cut processes that have already been made. For example, every time this 1 object appears on screen, the CPU doesnt have to keep telling the GPU that this object is Blue. Instead, it stores that info in the memory to quick reference that result. The Computer has its own memory to remember the scripts its reading, the GPU has its own memory to remember the data describing the object. 

Im afraid this is all i am going to give (which is  SHIT TON), any more and it will be giving away the secret sauce to how to develop games better. Not all things can be taught.


----------

