-
> а у меня почему-то проигрывает на 150 фпс...
«Этого не может быть, потому что этого не может быть» © Очень интересный результат. :) Я бы понял, если бы 8-й жифорс сравновали, там что-то говорили о переводе логики из режима работы с плавающей точкой в целочисленый, ито это для шейдеров, а так вообще не понятно. Может кто еще попробует и скажет, какой вариант выдает сколько фэпээсов?
ЗЫ XProger, может что-нить в фоне работает, забыл отключить? У меня даже винамп с диспетчером задачь напару сотню попугаев съедают.
-
У меня test[homm] тоже проигрывает test[XProger] на полсотни кадров. А на G80, AFAIK, основан на скалярных (а не векторных, как раньше) процессорах с плавающей точкой. R600 - на суперскалярных с плавающей точкой, но тоже не векторных.
-
homm, я сравнивал наши демки по очереди... твоя вроде не запускает вторичных процессов? )
-
-
Мдя. А мож даже и 1900
-
> Vga ©
Может тогда так? :) procedure Render;
const
W = 640 div 8;
H = 480 div 8;
D = 1/8;
var
i: Integer;
X, Y: Integer;
begin
for i:=0 to 4799 do
begin
TCB[4*i].X:=Random(8)*D;
TCB[4*i].Y:=Random(8)*D;
TCB[4*i+1].X:=TCB[4*i].X+D;
TCB[4*i+1].Y:=TCB[4*i].Y;
TCB[4*i+2].X:=TCB[4*i].X+D;
TCB[4*i+2].Y:=TCB[4*i].Y+D;
TCB[4*i+3].X:=TCB[4*i].X;
TCB[4*i+3].Y:=TCB[4*i].Y+D;
end;
glTexCoordPointer(2, GL_FLOAT, 0, @TCB[0]);
glEnableClientState(GL_VERTEX_ARRAY);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glDrawArrays(GL_QUADS, 0, 19200);
glDisableClientState(GL_VERTEX_ARRAY);
glDisableClientState(GL_TEXTURE_COORD_ARRAY);
end;
-
Кстати да :D
-
У меня как раз 1900 и вышло, а без этого исправления писовался ккой-то бред и было не более 1300.
-
Тото картинка странная. И ФПС теперь 2100
-
> Тото картинка странная. И ФПС теперь 2100
Ну вот, а автор той темы, с которой все и началось хотел все-то 30 :D
-
-
Ну и победные для моей системы 2 килогерца, если заменить glVertexPointer(2, GL_FLOAT, 0, @VB[0]); на glVertexPointer(2, GL_SHORT, 0, @VB[0]); Ура! :) Спасибо, друзья, узнал сегодня много интересного, все-же грфика не основное мое занятие :)
-
А с GLint? По идее, в 32бит системе должно быть быстрее, но требуется больше данных гонять по шине
-
И кстати, у тебя что за система? Видяха, ее шина, проц?
-
> А с GLint?
Посредине между GL_FLOAT и GL_SHORT.
> В отрисовке здесь работает GPU, так что я спокойно могу > крутить циклы до 100000 сложений в рендере и FPS даже не > просядет )
Ну 100000 это конечно ты загнул, а вот 10000 да, работает практически без ущерба для основной сцены :)
-
Sempron2800+ (разогнан с 1600 до 1760) память ДДР-2 около 600 что-то. PCI-E GF-7600GT.
-
> память ДДР-2 около 600
это частота :)
-
Гм. Видимо влияет пропускная способность шин памяти и возможно карты. И проц видимо быстрее работает с целочисленной математикой.
-
http://opengl.gamedev.ru/articles/?id=124Лучше положения вершин, нормали, текс. координаты и др. атрибуты хранить в 16-битных целых (GL_SHORT) - это не даёт perfomance penalty начиная с Radeon 9200 и GF4Ti, зато существенно экономит память (при этом такие числа обладают гораздо большей точностью, чем half float) и снижает время загрузки геометрии (как с жёсткого диска в оперативную память, так и в буферы в видеопамяти).
-
Гм. Статью я читал, однако это благополучно забыл :) Но вообще-то, я имел в виду CPU
|