Which is faster on a geforce: matices or vectors?

Started by
2 comments, last by executor_2k2 22 years, 2 months ago
How do you use hardware acceleration for these? Which is faster? Maybe this is a newbie question but i would appreciate some help. Thanks.
Well, that was a waste of 2 minutes of my life. Now I have to code faster to get 'em back...
Advertisement
Use them for what? Hardware accelerated matrix/vector math? One suggestion: forget about it!

Matrix/matrix multiplication is not hardware accelerated by the GeForce series, but matrix/vector are. This doesn''t mean that it''s fast to get the result from the hardware though. You can do ALOT better with your own code on the CPU.
quote:Original post by Brother Bob
Use them for what? Hardware accelerated matrix/vector math? One suggestion: forget about it!

Matrix/matrix multiplication is not hardware accelerated by the GeForce series, but matrix/vector are. This doesn''t mean that it''s fast to get the result from the hardware though. You can do ALOT better with your own code on the CPU.


Not necessarily.

If you compare the speed that a GeForce card performs a vector transformation with the speed that your CPU does it, then yes, you will find the CPU is a lot faster.

However, if you are doing transformation in software, then you need to transform it before it goes to the video card, and therefore you need to send all your vertices to the card every frame.

Alternatively, you can store your vertex buffers in video memory and use TnL. While the transformations may be slower, there is far less data sent to the card which may well be a limiting factor with complex scenes.

Finally, using TnL frees the CPU from this extra task and therefore gives it more cycles to spend doing physics and AI. This is one good reason why certain demos are poor benchmarks for TnL performance - these demos do nothing but graphics, so doing the transformations in software is actually quicker. In practical applications e.g games, TnL is usually a lot faster.

I was talkning about using the hardware as a math library to perform your matrix and vector operations. Not that you should do all the vertex processing in software.

The hardware is more or less a one way street. Everything is fine as long as you only put things into the beginning of the pipe. But when you try to get results from the hardware, either in the middle on in the end, you are likely to have some performance hit. Processing vertices for drawing is good, you stuff then into the pipe, and don''t expect anything in return (as the values of the processed vertices for example). But if you intend to process vertices, and expect to get the result back, you can do it yourself.

This topic is closed to new replies.

Advertisement