Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.11.2011, 13:21   #1
MaratZahidyl
Пользователь
 
Аватар для MaratZahidyl
 
Регистрация: 18.08.2011
Сообщений: 70
По умолчанию Частота кадров падает до 7 к/с - это нормально?

Чтоб проверить сколько могу разместить моделей, я сделал в 3д максе 1 квадрат и скопировал чтоб получилось 2048 штук. Когда загружаю в игру - частота кадров падает до 7 к/с - это нормально?

Мне кажеться что и тут чтото не так я сделал -что должно быть без тормозов с таким колличеством поллигонов.
Изображения
Тип файла: jpg 3dsmax 2011-11-05 11-19-26-48.jpg (108.8 Кб, 140 просмотров)
MaratZahidyl вне форума Ответить с цитированием
Старый 05.11.2011, 14:14   #2
An1ka
C++,DirectX/OpenGL
Форумчанин
 
Регистрация: 09.01.2011
Сообщений: 422
По умолчанию

Медленно, да. Но тут еще не только от количества полигонов зависит, но и от количества объектов тоже. При каждом рендере объекта происходит синхронизация с видео картой, а так как объектов много, то и расходы на синхронизацию будут большие. В таких случаях надо все мелкие объекты в один буффер загонять и обрабатывать как один объект, это будет в разы быстрее.
An1ka вне форума Ответить с цитированием
Старый 05.11.2011, 15:17   #3
Selestis
Форумчанин
 
Аватар для Selestis
 
Регистрация: 21.01.2009
Сообщений: 719
По умолчанию

Либо можно еще почитать про geometry batching
главная соль в том, что нарисовать 10 объектов по 1000 полигонов гораздо бытсрее, чем 1000 объектов по 10 полигонов.
Изобретатель велосипедов
Selestis вне форума Ответить с цитированием
Старый 05.11.2011, 21:26   #4
MaratZahidyl
Пользователь
 
Аватар для MaratZahidyl
 
Регистрация: 18.08.2011
Сообщений: 70
По умолчанию

Спасибо за ответы -все так как вы и писали.

Для начала нужно уточнить "Face" в 3д максе это ведь треугольник, то есть полигон, да?

Создал плоскость 200*200 сегментов (80000 треугольников). В игре 60 к/с.
Потом разместил 30 таких плоскостей в игре (80000*30=2400000) получил 35 к/с.

С кубиками частота меньше. Я все кубики обьденил в один обект, но каждый кубик остался отдельным элементом (надеюсь понимаете).
В результате 2560 кубиков= 60к/с (раньше было 7к/с). Потом опять размещаю в игре 30 таких групп: 2560*30=76800 кубиков. Это равно 76800*12=921600 треугольников - а частота кадров 23к/с.

как видно во втором случае теряестся производительность. Значит составные обьекты всегда намного проигрывают в производительности перед цельными, например террайном, или сферой.

А в целом это ведь уже нормальные показатели? Интересно сколько в современных играх в среднем треугольников на одном уровне.
Изображения
Тип файла: jpg 2.jpg (217.1 Кб, 132 просмотров)
MaratZahidyl вне форума Ответить с цитированием
Старый 06.11.2011, 01:02   #5
An1ka
C++,DirectX/OpenGL
Форумчанин
 
Регистрация: 09.01.2011
Сообщений: 422
По умолчанию

60 fps - это скорее всего стоит вертикальная синхронизация. Для замеров fps ее лучше отключать. Когда заполняем структуру D3DPRESENT_PARAMETERS, то PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE // без вертикальной синхронизации
На моделях в современных играх 5к - 10к полигонов. При большом их количестве любая система помрет Для большей детализации используют normal mapping (bump) - технология, которая увеличивает детализацию модели без увеличения количества полигонов на ней. Плоской поверхности можно придавать шероховатости, вмятины и тд. Для игр делают хайполи и лоуполи модели, а с помощью проекции в том же 3d max с хайполи на лоуполи получаем карту нормалей. С ней уже наша лоуполи модель будет визуально выглядеть как хайполи
An1ka вне форума Ответить с цитированием
Старый 06.11.2011, 13:56   #6
MaratZahidyl
Пользователь
 
Аватар для MaratZahidyl
 
Регистрация: 18.08.2011
Сообщений: 70
По умолчанию

Действительно - была включена вертикльная сихроницация.
Теперь FPS = 2700 к/с.
MaratZahidyl вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Падает компьютер. docbrain Компьютерное железо 53 19.09.2010 13:00
падает сервер(( AlexJan Работа с сетью в Delphi 0 11.09.2010 13:04
DSPack: размер буфера, частота кадров RGV Мультимедиа в Delphi 3 20.11.2009 13:23
разъясните терминалогию,референсная частота,частота чипа,памяти,шейдерного блока Jesus2.0 Компьютерное железо 5 04.05.2009 07:54