Sign in to follow this  
sriniatig

what does texel per second mean?

Recommended Posts

sriniatig    151
I would like to know exactly, what is texels per second? How is it related to the screen size and resolution? How does one take it as a benchmark result?

Share this post


Link to post
Share on other sites
TDragon    679
A "texel" is an abbreviated form of "texture pixel", and texels per second is a measure of how fast the video can transform textures in video memory onto surfaces in video memory.

Share this post


Link to post
Share on other sites
CTar    1134
Quote:
Original post by TDragon
A "texel" is an abbreviated form of "texture pixel",


I'm pretty sure:
pixel = picture element
texel = texture element

Share this post


Link to post
Share on other sites
CTar    1134
Quote:
Original post by TDragon
Well, considering textures are composed of pixels...


They aren't, they are composed of texture elements(texels). A 256x256 texture doesn't have to be 256x256 pixels when drawn.

See this if you think it is texture pixels.

But when first introduced to texels it is easiest to think of them as pixels in a texture.

Share this post


Link to post
Share on other sites
TDragon    679
So textures as stored on the hard drive or in memory are not composed of sequential numeric values representing various color levels? Referencing an article that contradicts itself doesn't go very far toward clearing things up...

Not that I don't believe you, but it seems like you're making a distinction that depends on semantics.

Share this post


Link to post
Share on other sites
moeron    326
I'd have to agree with CTar on this one. I've always heard them referred to as texture elements and it definately is possible for more than one pixel to map to one texture element or vice versa. (Hence the need for mip/mag mapping).

As far as Dragon's contention- of course they are represented as color values on the disk. So I'd say your both right, but CTar is a little more explicit in his description.

Share this post


Link to post
Share on other sites
sriniatig    151
Suppose I have a 256x256 texture and my screen resolution is 200x200. After profiling if I get a higher count of texels, what does it actually mean in terms of performance? i.e. is the screen rendering is based on this texel performance and if yes how? Can you'll give me a more detailed analysis.

Share this post


Link to post
Share on other sites
CTar    1134
Quote:
Original post by TDragon
So textures as stored on the hard drive or in memory are not composed of sequential numeric values representing various color levels? Referencing an article that contradicts itself doesn't go very far toward clearing things up...

Texels and pixels are in most cases represented 100 % the same, I personally cant see any difference between them in memory or on a file, but a texel is just the term you use for a element in a texture and a pixel is the term you use for the element in a picture, even though they are similar.

Just like a pixel and texel, there is also a voxel which is a volume element and are also represented the same way as pixels and texels, but still got a different name. So you could argue a voxel is a volume texel, but it is pretty clear that it isn't and then it would also be "extracted" to:
volume texture picture element.
Or in the case of the texel it would be like this:
texel =
texture pixel =
texture picture element

Quote:

Not that I don't believe you, but it seems like you're making a distinction that depends on semantics.


I'm not making a distinction I have just read that there were a difference and pointed it out. I dont hope you are offended in any way, just wanted to make sure all info was correct.

Share this post


Link to post
Share on other sites
moeron    326
Quote:
sriniatig
Suppose I have a 256x256 texture and my screen resolution is 200x200. After profiling if I get a higher count of texels, what does it actually mean in terms of performance? i.e. is the screen rendering is based on this texel performance and if yes how? Can you'll give me a more detailed analysis.

texels/ second basically is measuring how fast you can apply the textures of the scene to the screen. I believe it is basically saying how many triangles can be textured per second. (I could be mistaken about this)

So if you are doing a complicated texture layering algorithm or some sort of multipass texturing you will most likely have a drop in texels/sec. If you are just doing simple one pass texturing then you will have a higher texel/sec rate.

[edit]
fixed some typos

Share this post


Link to post
Share on other sites
TDragon    679
Without the intent of derailing the thread, the Wikipedia articles on Mipmaps and Texture mapping go a bit more in depth. I reference Wikipedia only because 3d texturing is such a modern subject that many other reliable sources don't have sufficient information yet. Just finished reading them myself for clarification. Apparently my original answer explains things fairly well.

Share this post


Link to post
Share on other sites
sriniatig    151
So basically I can assume that a higher texel per second value means that it can render the texture to the screen much faster. So if this is true, thus this imply that a higher resolution texture can decrease the texels per second using the same screen size?

Share this post


Link to post
Share on other sites
vNistelrooy    140
Quote:
Original post by sriniatig
So basically I can assume that a higher texel per second value means that it can render the texture to the screen much faster. So if this is true, thus this imply that a higher resolution texture can decrease the texels per second using the same screen size?


No. The higher the texture resolution the more memory bandwidth is being used.

Share this post


Link to post
Share on other sites
RAZORUNREAL    567
Quote:
Original post by moeron
I believe it is basically saying how many triangles can be textured per second. (I could be mistaken about this)


That's not what I remember. Your right on most counts, but texels/second (as far as I know) has nothing to do with the number of polygons (except of course because of overdraw). It has more to do with the resolution, because a texture (or several) will be looked up for each pixel. The texel/second rate will probably change depending on texture size. This is because of the cache - when a texel is looked up, neighbouring ones are cached (as they will probably be needed in a moment). If the texture is high resolution, these cached texels will only be looked up by a few pixels, and so not much will be gained. This actually has to do with how large the texture appears on screen too. So, to re-iterate:

Things to do when your texel/second rate is too low and is giving you bad performance:
1. Lower your resolution
2. Use multi-texturing less
3. Lower the texture detail
4. Use mipmapping (actually, do it anyway, it looks better. But the reason for this one is also to do with the cache).

Share this post


Link to post
Share on other sites
coolblue    162
How can graphics cards list their performance in texels per sec if the size of the textures being used has an effect of this value?

I thought texels were textured pixels and therefore texels per second was the number of textured pixels rendered in 1 second. This would mean that no matter what the screen resolution or texture size, the texels per second would not change but the amount that are being rendered would. This would also lead to the framerate falling for a larger screen size.

I however could be very wrong....

Share this post


Link to post
Share on other sites
Agony    3452
My uneducated understanding:

Texels per second does not measure anything relating to writing texels/pixels. It has everything to do with reading texels from a texture.

Every time the GPU, somewhere in one of its pixel pipelines, has to ask for the color of a texture at a certain location, this adds one to the texel count. Some cards might simply have a very high memory bandwidth/speed, and can look up these values very quickly. This results in a large number of texel lookups per second. Some cards might have very intelligent cache systems, such that even if the memory is slow or has a narrow bus, the cache does a great job of providing texels quickly anyway. This again results in an increased number of texel lookups per second.

When is a high texel/sec rate useful? If you use bilinear or trilinear filtering, you will be grabbing more texels per pixel, and thus assuming the otherwise exact same scene, you'll be needing more texels per second. If you use multiple textures or multiple passes, then assuming the same scene in terms of geometry, you'll again be grabbing more texels from memory per frame, and thus could use a higher texel/sec rate. If you have a high degree of overdraw, and don't care to fix it, again, you'll need more.

Using less detailed textures probably won't help much, as the card will still need to do a lookup for every single texture for every single pixel, or multiple lookups when using some form of filtering. It might help the cache system, though, because the same texel will be requested more often.

Share this post


Link to post
Share on other sites
Sneftel    1788
Quote:
Original post by sriniatig
i had assumed that the more resolution of the texture, the more texture lookups are required. is this true?

No. A certain number of values is retrieved from a texture (including its mipmap chain) for each fragment, and that number is dependent on the filtering mode, not the texture resolution. Think of it this way: Does it take you longer to read page 23 of a 50 page book, or page 23 of a 5000 page book?

Share this post


Link to post
Share on other sites
sriniatig    151
I understood about the number of texture lookups but what i had meant about texture lookups was that more pixel read cycles will be required. So provided the texture resolution will be high, would it take more time to read a high resolution texture than a low res one?

Share this post


Link to post
Share on other sites
Sneftel    1788
Again, no more reads will be required. If a given blend mode causes you to read 4 different values from a 16x16 texture, it will cause you to read exactly 4 values for any fragment which does this lookup, and it will cause you to read exactly 4 values from a 1024x1024 texture as well. (And, of course, if a triangle takes up 50 fragments on screen, it'll do so regardless of the resolution of the texture on it.) It doesn't use any more reads just because there's more detail. That's actually why mipmaps are used.

Share this post


Link to post
Share on other sites
kburkhart84    3187
can clarify the issue about the difference between pixels and texels. They are close to the same, one for the screen and one for textures. The difference is that depending on the size of the polygon being textured, a texel may span more than one pixel, or the other way around. The texture may get either larger or smaller than it is. 256 pixels are just that, but 256 texels might be all 1024 pixels on tghe screen. In memory, I'm not too sure, but they should be stored kind of the same since they are similar.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this