Foros - Stratos

Programadores => Programación gráfica => Mensaje iniciado por: Tei en 30 de Octubre de 2004, 11:14:33 AM

Título: Ati Death Perfomance Penalty Found.
Publicado por: Tei en 30 de Octubre de 2004, 11:14:33 AM
 Un tio de los que trabajan en motores de quake ha encontrado la causa de un penalty gordo que se produce al trabajar con OpenGL sobre tarjetas de ATI.

Aqui esta el post:

http://forums.quakesrc.org/viewtopic.php?t=4183

Este es el texto:
QUOTE ("jitspoe")

It took me a couple days to track this down, but here's what's causing the problem:

float attenuations[3] = { 0.0, 0.0, 1.0 };
glPointParameterfEXT(GL_POINT_SIZE_MIN_EXT, 0.1f);
glPointParameterfEXT(GL_POINT_SIZE_MAX_EXT, 40.0f);
glPointParameterfvEXT(GL_DISTANCE_ATTENUATION_EXT, attenuations);


The circle particle things in Q2. Even if no particles are being rendered, just the above initialization code makes the fillrate like 10x's slower. Fortunately they can be disabled:

set gl_ext_pointparameters 0
vid_restart


Should make your framerate 5-10x's higher.
[/quote]
Título: Ati Death Perfomance Penalty Found.
Publicado por: Pogacha en 30 de Octubre de 2004, 02:58:05 PM
 En si cual es el codigo malo?
Pues esa ocurrencia esta solo en el Quake II.
Es la amplitud de tamaño de los POINT_SIZE, la atenuacion o todo junto de esa manera?


Título: Ati Death Perfomance Penalty Found.
Publicado por: Tei en 30 de Octubre de 2004, 09:40:23 PM
Cita de: "Pogacha"En si cual es el codigo malo?
Pues esa ocurrencia esta solo en el Quake II.
Es la amplitud de tamaño de los POINT_SIZE, la atenuacion o todo junto de esa manera?
¿Me prestas una tarjeta ATI de gama alta para poder responderte?
Título: Ati Death Perfomance Penalty Found.
Publicado por: Pogacha en 01 de Noviembre de 2004, 12:19:52 PM
 Me la olvide en el otro pantalon :D  disculpame.