Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.08.27;
Скачать: CL | DM;

Вниз

Как реализовать графику на 2D движке   Найти похожие ветки 

 
homm ©   (2007-06-02 18:26) [40]

> а у меня почему-то проигрывает на 150 фпс...

«Этого не может быть, потому что этого не может быть» ©
Очень интересный результат. :) Я бы понял, если бы 8-й жифорс сравновали, там что-то говорили о переводе логики из режима работы с плавающей точкой в целочисленый, ито это для шейдеров, а так вообще не понятно.
Может кто еще попробует и скажет, какой вариант выдает сколько фэпээсов?

ЗЫ XProger, может что-нить в фоне работает, забыл отключить? У меня даже винамп с диспетчером задачь напару сотню попугаев съедают.


 
Vga ©   (2007-06-02 19:29) [41]

У меня test[homm] тоже проигрывает test[XProger] на полсотни кадров.
А на G80, AFAIK, основан на скалярных (а не векторных, как раньше) процессорах с плавающей точкой. R600 - на суперскалярных с плавающей точкой, но тоже не векторных.


 
XProger ©   (2007-06-02 19:50) [42]

homm, я сравнивал наши демки по очереди... твоя вроде не запускает вторичных процессов? )


 
Vga ©   (2007-06-02 20:29) [43]

Хех, я тоже переписал демку :) ~1800FPS
http://vgacich.narod.ru/test.7z


 
Vga ©   (2007-06-02 20:32) [44]

Мдя. А мож даже и 1900


 
homm ©   (2007-06-02 20:48) [45]

> 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;


 
Vga ©   (2007-06-02 20:49) [46]

Кстати да :D


 
homm ©   (2007-06-02 20:50) [47]

У меня как раз 1900 и вышло, а без этого исправления писовался ккой-то бред и было не более 1300.


 
Vga ©   (2007-06-02 20:54) [48]

Тото картинка странная. И ФПС теперь 2100


 
homm ©   (2007-06-02 20:56) [49]

> Тото картинка странная. И ФПС теперь 2100

Ну вот, а автор той темы, с которой все и началось хотел все-то 30 :D


 
Vga ©   (2007-06-02 21:07) [50]

Залил с фиксом homm"а, http://vgacich.narod.ru/test_fix.7z


 
homm ©   (2007-06-02 21:13) [51]

Ну и победные для моей системы 2 килогерца, если заменить
glVertexPointer(2, GL_FLOAT, 0, @VB[0]);
на
glVertexPointer(2, GL_SHORT, 0, @VB[0]);

Ура! :)

Спасибо, друзья, узнал сегодня много интересного, все-же грфика не основное мое занятие :)


 
Vga ©   (2007-06-02 21:28) [52]

А с GLint? По идее, в 32бит системе должно быть быстрее, но требуется больше данных гонять по шине


 
Vga ©   (2007-06-02 21:31) [53]

И кстати, у тебя что за система? Видяха, ее шина, проц?


 
homm ©   (2007-06-02 21:38) [54]

> А с GLint?

Посредине между GL_FLOAT и GL_SHORT.


> В отрисовке здесь работает GPU, так что я спокойно могу
> крутить циклы до 100000 сложений в рендере и FPS даже не
> просядет )

Ну 100000 это конечно ты загнул, а вот 10000 да, работает практически без ущерба для основной сцены :)


 
homm ©   (2007-06-02 21:40) [55]

Sempron2800+ (разогнан с 1600 до 1760) память ДДР-2 около 600 что-то. PCI-E GF-7600GT.


 
homm ©   (2007-06-02 21:40) [56]

> память ДДР-2 около 600

это частота :)


 
Vga ©   (2007-06-02 21:41) [57]

Гм. Видимо влияет пропускная способность шин памяти и возможно карты. И проц видимо быстрее работает с целочисленной математикой.


 
homm ©   (2007-06-02 23:00) [58]

http://opengl.gamedev.ru/articles/?id=124
Лучше положения вершин, нормали, текс. координаты и др. атрибуты хранить в 16-битных целых (GL_SHORT) - это не даёт perfomance penalty начиная с Radeon 9200 и GF4Ti, зато существенно экономит память (при этом такие числа обладают гораздо большей точностью, чем half float) и снижает время загрузки геометрии (как с жёсткого диска в оперативную память, так и в буферы в видеопамяти).


 
Vga ©   (2007-06-02 23:46) [59]

Гм. Статью я читал, однако это благополучно забыл :) Но вообще-то, я имел в виду CPU


 
gray_falcon ©   (2007-06-03 00:00) [60]


> Ну вот, а автор той темы, с которой все и началось хотел
> все-то 30 :D


Ладно, считайте что уговорили, BitBlt, как говорится, хорошо, а OGL лучше. Тогда никто не покажет простой пример применения этой библиотеки (или DX) наподобие "загрузил бмп-вывел на экран и все". Желательно если хоть с какимито комментариями. А то с этими экзаменами времени изучать справочники нету.
заранее благодарен :}


 
homm ©   (2007-06-03 00:05) [61]

> > Ну вот, а автор той темы, с которой все и началось хотел все-то 30 :D
> Ладно, считайте что уговорили, BitBlt, как говорится, хорошо, а OGL лучше.

Имлся ввиду другой автор(вроде бы) другой ветки :) Не могу я ее найти что-то :) А вообше, бери за основу как раз ХПрогеровскую демку, движек вполне хорош для маленьких проектов. Тока код движка наверное для D7 был написан, в D5 мне много чего править пришлось )


 
Vga ©   (2007-06-03 01:25) [62]

Пишет XProger вообще-то уже в D10 (если не 11) и планирует обломать более старые дельфи совсем, методом использования новых фич.
Для 2D там AFAIK непосредственно ничего нету, кроме общих инструментов и установки ортографической проекции. В этом плане лучше движок DGLE, хотя он довольно таки кривоват...
А вообще, AFAIK, Asphyre (экс PowerDraw) - вполне таки хороший двухмерный движок.
Если есть API для дельфи, то я слышал, что еще хорош PopCap Framework.

Ну а в качестве примера вполне сойдут исходники соответствующих функций из DGLE (http://dron.mirgames.ru)


 
Sapersky   (2007-06-04 14:41) [63]

За мерянием некими девайсами (которое, каюсь, я же и спровоцировал :)) никто не вспомнил про

http://www.igdc.ru/

Имеется множество игр с исходниками, и на аппаратных, и на софтверных движках. Аппаратных, впрочем, больше, из софтверных могу вспомнить космосим (или это называлось "скроллер", точно не помню) antonn"а и арканоид Imp"а.
+ готовые движки. Помнится, Darthman выкладывал простенький 2D-движок на OGL - DL-FX2, кажется, он назывался.


 
имя   (2007-06-17 15:33) [64]

Удалено модератором


 
имя   (2007-06-17 15:33) [65]

Удалено модератором


 
имя   (2007-06-17 15:33) [66]

Удалено модератором


 
имя   (2007-06-20 23:17) [67]

Удалено модератором


 
имя   (2007-07-25 06:51) [68]

Удалено модератором



Страницы: 1 2 вся ветка

Текущий архив: 2010.08.27;
Скачать: CL | DM;

Наверх




Память: 0.6 MB
Время: 0.125 c
2-1267790032
Sairex
2010-03-05 14:53
2010.08.27
Как обойти подводный Камень приведения к типу


9-1186749096
@!!ex
2007-08-10 16:31
2010.08.27
Наложение спецэффектов на объекты.


2-1270827005
User
2010-04-09 19:30
2010.08.27
Можно ли записывать в папку


15-1266662604
oldman
2010-02-20 13:43
2010.08.27
Майкрософт прикалывается?


2-1267590008
cwl
2010-03-03 07:20
2010.08.27
адрес - property с индексом