![]() |
Blitz3D и работа с опперативной памятью
То, что Blitz3d на двух компьютерах с почти одинаковыми характеристиками загружает модели 7 минут и достигает 5 фпс, а на втором загрузка длится 30 секунд и летает на 60 фпс. В чем может быть дело? Ос - Шindows XP на двух компах. Кстати говоря, такой ужас происходит на компьютере чуть сильнее, а на по слабее - все норм. Директ икс установлен и обновлен. В чем может быть дело.
Компьютер 1 - лагает, что ужас; Компьютер 2 - летает просто прекрасно; |
Ответ: Blitz3D и работа с опперативной памятью
"Графический адаптер: Intel GMA 4500MHD" - может быть в этом проблема. У меня на встроенном инталовском видео, выдавало неплохой FPS, но не всё корректно работало.
Просто Blitz3D плохо дружит со встроенным видео вообще. |
Ответ: Blitz3D и работа с опперативной памятью
Arton, да проблема не только в ФПС, а и в скорости загрузки функциями LoadMesh и LoadSound. На одних компьютерах это происходит молниеносно, а на других - по полчаса. Можно ли эту нестабильность как-то исправить?
|
Ответ: Blitz3D и работа с опперативной памятью
Цитата:
|
Ответ: Blitz3D и работа с опперативной памятью
Цитата:
|
Ответ: Blitz3D и работа с опперативной памятью
|
Ответ: Blitz3D и работа с опперативной памятью
А ты логически подумай - всё зависит от скорости HDD, да и плюс на втором нет интегрированной, там только аккордеон
|
Ответ: Blitz3D и работа с опперативной памятью
Я пример Terrain (с ходьбой по нему) на компьютере информатики в училище запускал. Правда фпс 3-5 кажется.
Сами представляете какой там комп может быть (древняя в-карта, оперативки наверное 64мб, монитор от мамонта) http://market.yandex.ru/model-spec.x...3551&hid=91013 всё нормально идёт, грузится |
Ответ: Blitz3D и работа с опперативной памятью
Цитата:
|
Ответ: Blitz3D и работа с опперативной памятью
Любой движок будет "лагать" если к нему приложить кривые ручки.
Телепатирую: у тебя кривая медиа. Модели, текстуры, анимация, звук... Если конечно проблема не загрузке внутри цикла (что неоднократно наблюдалось при разборе полетов у жалобщиков на блитц) |
Ответ: Blitz3D и работа с опперативной памятью
Цитата:
|
Ответ: Blitz3D и работа с опперативной памятью
Цитата:
ОС какая, и архитектура? |
Ответ: Blitz3D и работа с опперативной памятью
tormoz, давайте подумаем на счет цикла. У меня загрузка моделей происходит таким образом:
Код:
gcount=bIniGetValue("gmodel","count_model",1,FileMap) |
Ответ: Blitz3D и работа с опперативной памятью
Цитата:
Цитата:
|
Ответ: Blitz3D и работа с опперативной памятью
1: Пикмод 2 на безумно большое количество мешей
2: В фаркрае есть лод и куллинг, а не простой рендер тучи поликов |
Ответ: Blitz3D и работа с опперативной памятью
Код с медией в студию
|
Ответ: Blitz3D и работа с опперативной памятью
А что там в?
ScreenLoadMap() |
Ответ: Blitz3D и работа с опперативной памятью
Цитата:
В моей программе тоже есть подгрузка моделей в зависимости от расстояния к игроку: Код:
.DistanceChange ScreenLoadMap: Код:
Function ScreenLoadMap() |
Ответ: Blitz3D и работа с опперативной памятью
Меня терзают смутные сомнения. Goto у тебя к месту или не к месту стоит...
Цитата:
Если выложишь исходники протестирую на встроенном интале. |
Ответ: Blitz3D и работа с опперативной памятью
в CreateText у тебя что?
|
Ответ: Blitz3D и работа с опперативной памятью
Цитата:
Цитата:
|
Ответ: Blitz3D и работа с опперативной памятью
Понятно что код ты давать не хочешь. Дай хоть готовые exe'шники с медией, потестить. Я на нэтбуке проверю, слабее его врятли что то найдётся. И видео там встроеное, Intel GMA 3150.
|
Ответ: Blitz3D и работа с опперативной памятью
Цитата:
|
Ответ: Blitz3D и работа с опперативной памятью
|
Ответ: Blitz3D и работа с опперативной памятью
Тормоз был прав на счет медии |
Ответ: Blitz3D и работа с опперативной памятью
Кирпи4, ренедерится одновременно не более 50 000 поликов. Систему скрывания моделей ты уже заметил, скорее всего. Но, как вижу, FPS у тебя не ниже 40, что меня радует.
|
Ответ: Blitz3D и работа с опперативной памятью
GF GTS 450 1Gb FPS 60
Встроенный Intel GMA 3100 FPS если смотреть в сторону где пару домишек ~20-30, посмотрел в деревню FPS 8. ХА-ХА! Кирпи4, пожалуйста убери скриншоты под споллер. |
Ответ: Blitz3D и работа с опперативной памятью
Цитата:
|
Ответ: Blitz3D и работа с опперативной памятью
ЧТД. Блитц оказался не при чем
Приведи размерЫ ВСЕХ текстур к степени двойки и сделай их квадратными. Оптимизируй модели. Не проверяй каждый цикл расстояие до 100500 объектов. Не рисуй в 2д. Используй 3д-сам сделай, или подруби одну из десятков существ. библиотек. Также сомнения вызывают звуки. Приведи их в редакторе к стандартному битрейту, не проигрувай одновременно более десяти каналов, и вообще сделай менеджер, который следит за загрузкой, проигрыванием, удалением. |
Ответ: Blitz3D и работа с опперативной памятью
Интересно как часто выполняется DistanceChange
Может лучше будешь screenshot-ами код выкладывать, а скрытую часть замазывать? |
Ответ: Blitz3D и работа с опперативной памятью
Цитата:
Цитата:
|
Ответ: Blitz3D и работа с опперативной памятью
Цитата:
Возможно нвидиа более терпима к этому, а у интела несварение :-) |
Ответ: Blitz3D и работа с опперативной памятью
кстати, раз проверка дистанции юзается только для сравнения с каким-то значением, возможно есть смысл юзать не реал дистанцию, а её аналог без sqrt внутри - т.е. тупо dot(v1-v2, v1-v2), т.е. тупо
diffX# = v1x - v2x difY# = v1y - v2y diffZ# = v1z - v2z sqrDist# = diffX*diffX + diffY*diffY + diffZ*diffZ значения, с которыми сравниваем (200, 400), надо соответственно будет возвести в квадрат. возможно медленность блицевской математики сделает это ещё медленее, чем версию с sqrt, но надеюсь что нет о_0. а ещё можно юзать иерархию объектов (если ещё не юзается) и проверять дистанцию не до каждой модели, а сначала до крайне маленького числа парентов, далее если они прошли проверку - проверяем их чайлды и т. д. проверка в данном случае должна быть не дистанции от центра, а с учётом заранее посчитанных баундинг сфер например (до ближайшей точки на сфере). если и правда дистанции дофига жрут, значит объектов дофига, значит иерархически их структурировать это первое что надо сделать. |
Ответ: Blitz3D и работа с опперативной памятью
Цитата:
|
Ответ: Blitz3D и работа с опперативной памятью
Подвел размеры всех текстур под квадратные и сжал до степени двойки. Можете протестировать? https://dl.dropboxusercontent.com/u/..._with_media.7z
|
Ответ: Blitz3D и работа с опперативной памятью
Цитата:
![]() |
Ответ: Blitz3D и работа с опперативной памятью
Кинь это в папку с игрой.
|
Ответ: Blitz3D и работа с опперативной памятью
Arton, ну что там?
|
Ответ: Blitz3D и работа с опперативной памятью
На Nvidia всё нормально FPS 60. А вот на Intel даже запустить не удалось - "Unable to set graphics mode".
Интересно демка выглядит, побегать где есть, заходить в дома можно. :super: Ссылка на дропбокс дохлая. Альтернатива, но там с примерами BlitzWinApi. |
Ответ: Blitz3D и работа с опперативной памятью
Цитата:
|
Ответ: Blitz3D и работа с опперативной памятью
Цитата:
Тебе действительно так необходим интел? |
Ответ: Blitz3D и работа с опперативной памятью
Цитата:
|
Ответ: Blitz3D и работа с опперативной памятью
Цитата:
Всё работало только в такой связке: Код:
If CountGfxDrivers()>1 |
Ответ: Blitz3D и работа с опперативной памятью
Arton, скидываю исходник.
|
Ответ: Blitz3D и работа с опперативной памятью
Судя по медии, там полно отдельных объектов (например, каждая доска забора).
Каждый объект — отдельный вызов рендера буфера. Много таких вызовов = просадка FPS. Интегрированные видяшки Интелов сделаны из говна и потому захлёбываются от этого. Решения такие: либо не грузить меш как LoadAnimMesh, а грузить как LoadMesh (тогда Блиц объединит всё сам). Либо, если LoadAnimMesh нужен позарез, объединить всё самому в Максе. Нашёл темку на этот счёт: http://forum.boolean.name/showthread.php?t=152 Но, к сожалению, аттач из первого поста пропал за древностию лет. Надеюсь, у кого-то он остался. Не ругайте, пожалуйста, Блиц. Он же послушный. Вы ему сказали рендерить дохрена объектов — он и рендерит. А тормозит это — таковы принципы работы графического ускорения, это везде так. Другое дело, что все это пытаются обходить, "напролом" никто не делает. |
Ответ: Blitz3D и работа с опперативной памятью
Цитата:
|
Ответ: Blitz3D и работа с опперативной памятью
Далее: о размере текстур.
Текстуры могут быть только степени двойки (64, 128, 256, 512, 1024 и т.д.). Так — везде, по-другому их видеокарта не понимает. Что делает Блиц, когда ему суют картинку "не того" размера? Он генерит текстуру ближайшего размера степени двойки в бОльшую сторону и в неё растягивает данное изображение. Например у тебя картинка 513х513, ближайший размер степени двойки - это 1024х1024. Туда-то Блиц и растянет картинку. Получается, что текстуры выходят куда больше, чем надо. И растяжка весьма мерзкая. Поэтому текстуры все надо иметь только степени двойки. Хотя мне кажется основная причина тормозов — в кол-ве объектов. И да, при компиляции в ехе отключай дебаггер, он добавляет тормозов некоторым процедурам. |
Ответ: Blitz3D и работа с опперативной памятью
Ну, ещё по оптимизации: можно создать отдельный меш только для коллизий и пиков, сильно упрощённый. Например, вместо прутьев забора в нём будет одна сплошная поверхности.
Этот меш ставим туда же, где и "визуальный", ставим ему alpha 0 и коллизии. Пик и коллизии — очень "жрущие" операции. Лучше чтобы они "общались" с очень небольшим количеством полигонов. |
Ответ: Blitz3D и работа с опперативной памятью
ABTOMAT, хорошо.
|
Ответ: Blitz3D и работа с опперативной памятью
Цитата:
|
Ответ: Blitz3D и работа с опперативной памятью
ABTOMAT, покушать то (перезалил).
|
Ответ: Blitz3D и работа с опперативной памятью
Цитата:
Так моя идея с ифом не проканала, выставил разрешение вручную. FPS конечно не такой эпичный как тогда 8, но низкий, глядя на деревню 36-46, посмотрел в землю 75 :) |
Ответ: Blitz3D и работа с опперативной памятью
Arton, ну хоть играть можно теперь! Спасибо за тест, сейчас видео делаю про игру.
|
Ответ: Blitz3D и работа с опперативной памятью
Совсем забыл дебагер выключить, но без него результат несильно улучшился, +2 кадра. Заметно тормозит изображение.
P. S. Всё, гружусь на православную nvidia, intel не как не может экран отцентрировать и сглаживание шрифтов глючит. |
Ответ: Blitz3D и работа с опперативной памятью
Цитата:
Итаки да, дело скорее всего в количестве объектов. P. S. Загрузился... Кайф... |
Ответ: Blitz3D и работа с опперативной памятью
Что-то я сразу загружаюсь и мёртвый.
Где FPS смотреть — не понял (слева напротив "FPS" квадратик). Оценить "на глаз" тоже не вышло, т.к. двигаться-то нельзя. Загрузка заняла секунд 30 или даже меньше. Комп с GeForce 660 GTX |
Ответ: Blitz3D и работа с опперативной памятью
Цитата:
Шустро у тебя грузит, я минуту жду. И текст у меня то же квадратиками. |
Ответ: Blitz3D и работа с опперативной памятью
Кому интересна судьба проекта - прошу почитать.
|
Ответ: Blitz3D и работа с опперативной памятью
Цитата:
Надо - "Я оказался в канализационном коллекторе, лестница наверх была разрушена." "После двух дней путешествий пришло время сооружать ночлег." - :4to: это как??? Туристы что, шли два дня без отдыха?! Ололо! ![]() |
Ответ: Blitz3D и работа с опперативной памятью
infuzo, тебе надо свою игру в раздел "Проекты на Blitz3D" выложить.
Выглядит сыро, но с большим потенциалом! :super: |
Ответ: Blitz3D и работа с опперативной памятью
Цитата:
|
Ответ: Blitz3D и работа с опперативной памятью
Проводится набор на тестирование игры. Осталось два свободных места!
|
Часовой пояс GMT +4, время: 21:05. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot