![]() |
|
Модераторы: Snowy, Alexeis, MetalFan |
![]()
|
|
| Yura_Matsuk |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 101 Регистрация: 16.5.2004 Репутация: нет Всего: нет |
Выложил модули своего 3д движка. Но фпс на примере простенького треугуольника не превышает 60-ти. Откуда такие тормоза?
Присоединённый файл ( Кол-во скачиваний: 33 )
3d.rar 6,04 Kb--------------------
Смех смехом, а ОНА кверху мехом... |
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 16 Всего: 112 |
SwapBuffers может ждать синхронизации (это зависит от драйвера/настроек драйвера), поэтому скорость ограничена...
-------------------- С уважением, г-н Посол. |
|||
|
||||
| Yura_Matsuk |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 101 Регистрация: 16.5.2004 Репутация: нет Всего: нет |
Но если размер окна увеличить, то фпс и вовсе падает до 20..
--------------------
Смех смехом, а ОНА кверху мехом... |
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 16 Всего: 112 |
Какие FPS у тебя будут в следующих случаях:
1) Если убрать SwapBuffers (видеть ничего не будешь) 2) Оставить SwapBuffers, но убрать PFD_DOUBLEBUFFER (видеть будешь, но с мерцаниями) 3) Убрать SwapBuffers, и рисовать не 1 треугольник, а тысячу (for i := 1 to 1000 do Scene.Draw) (+ во всех случаях нужно убрать вызов Randomize) -------------------- С уважением, г-н Посол. |
|||
|
||||
| Yura_Matsuk |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 101 Регистрация: 16.5.2004 Репутация: нет Всего: нет |
Измерил в уменьшенном окне.
Без изменений - 110 Без СвапБуфферсов - (192-384) - скачет ступенчатым образом убрать PFD_DOUBLEBUFFER - (136-156) Без Буфферсов и с 1000 треугольников - (8-12) --------------------
Смех смехом, а ОНА кверху мехом... |
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 16 Всего: 112 |
Хм... Скорее всего у тебя OpenGL работает в программном режиме...
Чтобы это проверить, проведи ряд испытаний: Какое число покажет эта функция ?
И что у тебя возвращают: glGetString(GL_RENDERER); glGetString(GL_VERSION); glGetString(GL_VENDOR); И еще, для кучи: Какой FPS будет, если в Draw оставить только inc(fps) ? -------------------- С уважением, г-н Посол. |
|||
|
||||
| Yura_Matsuk |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 101 Регистрация: 16.5.2004 Репутация: нет Всего: нет |
Если оставить только inc(fps), то где-то 35000
Renderer: GDI Generic Version: 1.1.0 Vendor: (пустая строка) Функция выдает: 00000465 Software emulation Хех, а че делать-то? --------------------
Смех смехом, а ОНА кверху мехом... |
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 16 Всего: 112 |
А винда какая и видяха ? Дрова надо ставить, чтоб с поддержкой OpenGL были...
Можешь проверить свою прогу на других компьютерах... -------------------- С уважением, г-н Посол. |
|||
|
||||
| Гость_Yura_Matsuk |
|
|||
|
Unregistered |
А может это быть инициализация виновата?
|
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 16 Всего: 112 |
Попробуй разные примеры OpenGL, как они у тебя пойдут...
Можешь попробовать GLScene... -------------------- С уважением, г-н Посол. |
|||
|
||||
| Vetos |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 312 Регистрация: 4.4.2005 Репутация: нет Всего: 4 |
GLScene вообще ужасает своим фпс,около 300 , не знаю как они умудрились так сделать,
а прога написанная на чистом ОГЛ не дает больше 90 -------------------- Строить нужно так, чтоб никто не сломал! А ломать, чтоб никто не знал 8) :ne_huliganit |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 55 Всего: 459 |
Vetos, это смотря как писать, если рисовать прямоугольник, то легко получается FPS 3000 и более.
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Vetos |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 312 Регистрация: 4.4.2005 Репутация: нет Всего: 4 |
ну вот допустим я писал, вернее доправлял исходник из книги М.Красного, водопад.
Вообще если использовать Invalidate как и есть в примере то фпс всего 30, а я убрал инвалидат и поставил Paint;фпс стало больше 80-90.Вот так -------------------- Строить нужно так, чтоб никто не сломал! А ломать, чтоб никто не знал 8) :ne_huliganit |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 55 Всего: 459 |
Vetos, не нужно путать тот FPS который в памяти рисуется и тот котрый реально на экран попадает. На экране FPS вообще не может превышать частоту экрана. А если рисовать по invalidatом по таймеру, то получим FPS зависящую от частоты таймера, тока лучше тогда уж юзать мультимедийный таймер, тогда равномерность кадров будет выше.
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Vetos |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 312 Регистрация: 4.4.2005 Репутация: нет Всего: 4 |
Можно по подробнее про мультимедийный таймер если это не касается GLScene, просто пишу свой движок на OpenGL, если можешь кинь ссылку про мультимедийный таймер, это как раз то что мне нехватает на начальной стадии развития движка, просто нехочу новую тему создавать
-------------------- Строить нужно так, чтоб никто не сломал! А ломать, чтоб никто не знал 8) :ne_huliganit |
|||
|
||||
![]()
|
| Правила форума "Delphi: Звук, графика и видео" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делится вскрытыми компонентами
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |