Начал писать программу на FPC, ну честно говоря в Lazaruse, но без использования VCL и т. д.
В общем проблемы в следующем - моя программа дает очень, очень мало кадров.
Для теста отключил все расчеты, оставил отрисовку только одного sky box-а. Ну то-есть 6 плоскостей на которых соответственно 6 текстур.
Выглядит сиё следующим образом:
- Код: Выделить всё
procedure Display; cdecl;
var
begin
glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);
draw_sky_box;// Сдесь рисуем наш sky_box
glutSwapBuffers;
inc(fpspertime);// А это и до конца процедуры - для подсчета FPS
if (time+1000)< glutget(GLUT_ELAPSED_TIME) then
begin
writeln(fpspertime);
fpspertime:=0;
time:=glutget(GLUT_ELAPSED_TIME);
end;
end;
Отрисовываю так:
- Код: Выделить всё
procedure my_idle; cdecl;
begin
glutPostRedisplay(); // Redraw windows
end;
Дает все это дело:
AthlonXP64//Radeon9200//1Gb - 660 кадров/секунда
Sempron 2300//Интегрированое видео//512Mb - 120 кадров/cекунда
Если включаю еще несколько текстурированных объектов - на второй машине частота падает до 13. Общее количество полигогов - ориентровочно 100.
Хочу сразу сказать что первый Unreal на второй машине идет без проблем. На первой - тем более.
Подскажите в чем проблема.