Форумы на Наша-Life
Home user CP  
Календарь событий Найти других пользователей Часто задаваемые Вопросы Поиск  
Автор
Тема
Создать Новую Тему    Ответить
fake100
(Леплю из брашей ... Недорого)

Зарегистрирован: Jan 2009
Проживает: Россия/Санкт-Петербург
Написал: 528 сообщений

Оценка: 17 Votes 17 чел.

Developer 
Игра вылетает при смене карт
Сообщение #1061509
Итак после 2-х недель борьбы с этой проблемой я таки решил написать сюда в надежде на опыт некоторых юзеров любимого форума.

Суть:
Есть 6 наших карт, формирующих нашу кампанию для Left 4 Dead 1. Первые 4 карты работают прекрасно, смена карт работает как часы, но после добавления последних 2-х карт начались проблемы.
5 и 6 карта при запуске из консоли тоже работают без ошибок и вылетов, но вот при переходе с 4ой карты на 5ую и с 5ой на 6ую игра вылетает всегда с 1 ошибкой:
code:
File:.\memstd.cpp
Line:1641
Assert: *****OUT OF MEMORY! attempted allocation size: 0 ****

Факты:
- вылет происходит в самый последний момент - т.е. я собственно уже вижу 1ый кадр с новой карты и тут же получаю ошибку
- 5ая карта вылетает реже чем 6ая (1 из 3х раз, вместо каждого 2го)
- выключение опции "Многоядерный рендеринг" решает проблему, но только на 1 прогон 3х карт ( переход с 4ой на 5ую, с 5ой на 6ую), если выйти в главное меню и повторить то проблема возвращается
- карты бесспорно перегружены деталями, особенно 6ая, которую мы скорее всего разделим на 2, но вот 5ая по параметрам очень близка к нашей 2ой карте с которой проблем абсолютно нет
- чем больше смен карт произошло перед загрузкой 5ой или 6ой, тем больше вероятность вылета

Попытки исправить:
1) Разделили 6ую карту пополам - не помогло
2) Увеличили lightmap scale до 64 и на 5ой и на 6ой - не помогло
3) Сделали переход с 4ой карты сразу на 6ую (которая теперь в половину легче для рендера чем начальная версия), пропуская 5ую - помогло вылетов не наблюдалось. Таким образом мы пришли к выводу, что проблема на 6ой решена и осталась только на 5ой и решили сосредоточиться как раз на ней
4) Убрали все func_detail на 5ой - не помогло
5) Убрали половину prop_static на 5ой - не помогло
После всех этих действий мы стали сомневаться что проблемма именно в насыщенности карт - ведь теперь 5ая намного легче для обработки чем все остальные карты.

Возникает вопрос что может вызывать столь странные вылеты? Притом именно на смене карт! Очень прошу откликнуться!Хотелось бы услышать ваши истории столкновения с лимитами движка. А главное каковы эти лимиты? Т.к. пока у меня в некоторых аспектах об этом смутные представления.

P.S.: Пока приложу логи всех карт - потом добавлю еще инфы.
Прикрепленный файл: log.zip
Файл был скачан 3 раз(а).

Поправил fake100 14-02-2012 в 11:49

Old Post 14-02-2012 11:37
fake100 отсутствует Посмотреть данные 'fake100' Отправить Приватное Сообщение для 'fake100' Посетить домашнюю страничку fake100 Найти другие сообщения 'fake100' Добавить fake100 в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
INTERACTiVE [h]
Автор сообщения забанен.

Зарегистрирован: Jun 2008
Проживает: KZ/Павлодар
Написал: 3485 сообщений

Сообщение #1061518
Я не эксперт, но мне кажется, что тут лимиты движка не виноваты. Меня настораживает рандомность ошибки.

Возможно, каким-то образом у игры имеются проблемы с кампаниями длинной более чем 5 карт. Дело может быть в подсчёте очков, переносе вещей у персонажей с карты на карту, и так далее в таком духе.

Ещё не хватает информации - вылетает у всех игроков одновременно при игре вдвоём-восьмером? Вылетают все сразу или только часть?

Цитата:
3) Сделали переход с 4ой карты сразу на 6ую (которая теперь в половину легче для рендера чем начальная версия), пропуская 5ую - помогло вылетов не наблюдалось. Таким образом мы пришли к выводу, что проблема на 6ой решена и осталась только на 5ой и решили сосредоточиться как раз на ней

А если шестую убрать?

ап:
В логах заметил только одну значительную на мой взгляд разницу между 1-4 картами и 5-6:

Цитата:
[Reading texlights from 'lights.rad']
[2 texlights parsed from 'lights.rad']

[Reading texlights from 'bts.rad']
Warning: Redundant 'lights/white002' def in 'lights.rad' AND 'bts.rad'!
[48 texlights parsed from 'bts.rad']

Поправил INTERACTiVE [h] 14-02-2012 в 13:20

Old Post 14-02-2012 13:09
INTERACTiVE [h] отсутствует Посмотреть данные 'INTERACTiVE [h]' Отправить Приватное Сообщение для 'INTERACTiVE [h]' Найти другие сообщения 'INTERACTiVE [h]' Добавить INTERACTiVE [h] в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
fake100
(Леплю из брашей ... Недорого)

Зарегистрирован: Jan 2009
Проживает: Россия/Санкт-Петербург
Написал: 528 сообщений

Оценка: 17 Votes 17 чел.

Developer 
Сообщение #1061527
Цитата:
Оригинальное сообщение от INTERACTiVE [h]
Возможно, каким-то образом у игры имеются проблемы с кампаниями длинной более чем 5 карт. Дело может быть в подсчёте очков, переносе вещей у персонажей с карты на карту, и так далее в таком духе.

Ну кампании более чем в 5 карт уже были и работали у меня всегда нормально - на вскидку припомню только кампанию по Silent Hill (7 или 8 карт). Интересно, что ошибка присутствует и когда мы проверяем в vpk архиве (там где прописана принадлежность кампании), и когда просто запускаем например 4ую карту через консоль (прямо из папки игры без всяких vpk) и начинаем менять карты. При переходе на следующий уровень переносятся все динамические энтити (т.е. игроки, оружие, аптечки, физические модели) внутри тригера changelevel - я пробовал убрать всё кроме игроков - тоже не помогло.

Цитата:
Оригинальное сообщение от INTERACTiVE [h]
Ещё не хватает информации - вылетает у всех игроков одновременно при игре вдвоём-восьмером? Вылетают все сразу или только часть?

Честно говоря, мы по сети не проверяли, но показания одинаковые на всех 3х компах в синглплеере (через vpk) и на локальном сервере в одиночку (через команду map).

Цитата:
Оригинальное сообщение от INTERACTiVE [h]
А если шестую убрать?

Вот буквально сейчас переделал так, чтоб после 4ой переходило на 5ую а после 5ой на 4ую (4ая раньше не вылетала). При смене с 5ой на 4ую вылетает, с тем же периодом, что с 6ой картой! 5ая вылетает с обычной переодичностью.

Интуитивно кажется, что 5ая заставляет утекать память и в критические моменты (на смене карт) движок не выдерживает.Но это так - домыслы.
Old Post 14-02-2012 13:47
fake100 отсутствует Посмотреть данные 'fake100' Отправить Приватное Сообщение для 'fake100' Посетить домашнюю страничку fake100 Найти другие сообщения 'fake100' Добавить fake100 в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
INTERACTiVE [h]
Автор сообщения забанен.

Зарегистрирован: Jun 2008
Проживает: KZ/Павлодар
Написал: 3485 сообщений

Сообщение #1061531
Цитата:
Ну кампании более чем в 5 карт уже были и работали у меня всегда нормально - на вскидку припомню только кампанию по Silent Hill (7 или 8 карт)

Ну видишь ли, может у этих модов тоже были такие проблемы, которые теперь у вас)
Цитата:
Вот буквально сейчас переделал так, чтоб после 4ой переходило на 5ую а после 5ой на 4ую (4ая раньше не вылетала)
А если пятая будет заключительной?
Хотя, признаю, какой смысл - если вылетает после пятой...

Хотя можно, пройдя пятую карту, загрузить любой новый уровень. А вообще, ты заставил вспомнить меня похожий случай, когда из-за какой-то перегрузки после загрузки "кривого" уровня утекала практически вся видеопамять, из-за чего потом происходил вылет при загрузке следующей/возврате на предыдущую карту.

Правда там движок был не Сорс...
Old Post 14-02-2012 14:00
INTERACTiVE [h] отсутствует Посмотреть данные 'INTERACTiVE [h]' Отправить Приватное Сообщение для 'INTERACTiVE [h]' Найти другие сообщения 'INTERACTiVE [h]' Добавить INTERACTiVE [h] в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
Triakis
(неванга)

Зарегистрирован: Apr 2007
Проживает: Россия/Москва
Написал: 5472 сообщений

Оценка: 57 Votes 57 чел.

Developer Старожил 
Сообщение #1061549
fake100, а там есть в настройках карты опция "сохранять данные об уровне при переходе на след. карту"? Может из-за этого и вылетает?
Мою офигенную подпись потёрло во время адского пурджа форумного интерфейса, который до сих пор не пофиксили.
Оставлю другую.
私たちは戦い続ける。
いつか罰が下る、その日まで。
Old Post 14-02-2012 17:23
Triakis отсутствует Посмотреть данные 'Triakis' Отправить Приватное Сообщение для 'Triakis' Найти другие сообщения 'Triakis' Добавить Triakis в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
Stridemann
(Инженер-изобретатель)

Зарегистрирован: Jun 2009
Проживает: Украина/Киев/
Написал: 2304 сообщений

Оценка: 95 Votes 95 чел.

Developer 
Сообщение #1061568
1) trigger_transition мы уже не юзаем? (первое что пришло в голову когда открывал тему..)
2) Проверка загружености ресурсов карты.. (там как-то читом включается.. ). Показывается линейной диаграммой.
3) Огромное кол-во физических объектов +при старке карты не указано флаг StartSleep.
4) Оптимизация. функ_порталы в помощь.. (как раз мой тутор.. )
5) Убивать все физ\не физ объекты перед сменой карты.. оО
командой phys_* kill

Пока все.. Это мои варианты...
Old Post 14-02-2012 19:07
Stridemann отсутствует Посмотреть данные 'Stridemann' Отправить Приватное Сообщение для 'Stridemann' Найти другие сообщения 'Stridemann' Добавить Stridemann в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
 
fake100
(Леплю из брашей ... Недорого)

Зарегистрирован: Jan 2009
Проживает: Россия/Санкт-Петербург
Написал: 528 сообщений

Оценка: 17 Votes 17 чел.

Developer 
Сообщение #1061715
Попробовал скопировать все что касается смены уровня с карт разработчиков - не помогло. (как и ожидалось )

Цитата:
Оригинальное сообщение от Triakis
fake100, а там есть в настройках карты опция "сохранять данные об уровне при переходе на след. карту"? Может из-за этого и вылетает?

Не очень понял где это искать можно поподробнее?

Цитата:
Оригинальное сообщение от Stridemann
1) trigger_transition мы уже не юзаем? (первое что пришло в голову когда открывал тему..)

Нет не юзаем, т.к. следуем примеру разработчиков - там используется только trigger_changelevel и info_landmark. Во всяком случае на первых 4-х картах все работает и без trigger_transition и я не понимаю как он может что либо исправить.
Цитата:
Оригинальное сообщение от Stridemann
2) Проверка загружености ресурсов карты.. (там как-то читом включается.. ). Показывается линейной диаграммой.

net_graph что ли? Ну бегло посмотрев - вроде нет никаких отличий особенных от той же 2ой карты (которая по величине схожа), но которая не вылетает. Возможно стоит проанализировать лучше.
Цитата:
Оригинальное сообщение от Stridemann
3) Огромное кол-во физических объектов +при старке карты не указано флаг [b]StartSleep.

Ну физических объектов не особо и много, и да у них всех стоит StartSleep.
Цитата:
Оригинальное сообщение от Stridemann
4) Оптимизация. функ_порталы в помощь.. (как раз мой тутор.. )

Ну тут все тоже все нормально - порталы отделяют все замкнутые помещения (порядка 40 штук), да и если бы дело было в них, то вылетало бы при любых условиях как мне кажется.
Цитата:
Оригинальное сообщение от Stridemann
5) Убивать все физ\не физ объекты перед сменой карты.. оО
командой phys_* kill

Можно попробовать - я уже пробую все подряд у меня ей богу идеи почти на исходе

Иногда я просто ненавижу Source. Ей богу иногда он просто начисто убивает всякое рвение к работе.

Поправил fake100 16-02-2012 в 20:50

Old Post 16-02-2012 20:46
fake100 отсутствует Посмотреть данные 'fake100' Отправить Приватное Сообщение для 'fake100' Посетить домашнюю страничку fake100 Найти другие сообщения 'fake100' Добавить fake100 в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
Stridemann
(Инженер-изобретатель)

Зарегистрирован: Jun 2009
Проживает: Украина/Киев/
Написал: 2304 сообщений

Оценка: 95 Votes 95 чел.

Developer 
Сообщение #1061719
Бесит меня этот VBulletin. Такое рагульное цитирование на этом форуме..-_-

>>Не очень понял где это искать можно поподробнее?
Map -> Properties http://clip2net.com/s/1BlXU

>>Во всяком случае на первых 4-х картах все работает и без trigger_transition и я не понимаю как он может что либо исправить.

Этот триггер указывает какие объекты (которые в триггере) будут переносится на след. уровень.. (а именно только игрок\и) Может у вас там копируется куча зомби, моделей, физики на новый уровень со старого, от этого и краш происходит..


>>net_graph что ли? Ну бегло посмотрев - вроде нет никаких отличий особенных от той же 2ой карты (которая по величине схожа), но которая не вылетает. Возможно стоит проанализировать лучше.

НЕТ, showbudget_texture 1 http://clip2net.com/s/1Bm3b
Old Post 16-02-2012 21:23
Stridemann отсутствует Посмотреть данные 'Stridemann' Отправить Приватное Сообщение для 'Stridemann' Найти другие сообщения 'Stridemann' Добавить Stridemann в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
fake100
(Леплю из брашей ... Недорого)

Зарегистрирован: Jan 2009
Проживает: Россия/Санкт-Петербург
Написал: 528 сообщений

Оценка: 17 Votes 17 чел.

Developer 
Сообщение #1061724
Цитата:
Оригинальное сообщение от Stridemann
>>Не очень понял где это искать можно поподробнее?
Map -> Properties http://clip2net.com/s/1BlXU

Ну собственно про это и подумал. В картах примерах везде стоит - No, keep current, но попробовать стоит. Это может избавить от вылетов, но думаю не решит самой проблемы - мне представляется, что она где-то глубже. Возможно это может сломать подсчет очков команд - надо проверить короче.

Цитата:
Оригинальное сообщение от Stridemann
>>Во всяком случае на первых 4-х картах все работает и без trigger_transition и я не понимаю как он может что либо исправить.

Этот триггер указывает какие объекты (которые в триггере) будут переносится на след. уровень.. (а именно только игрок\и) Может у вас там копируется куча зомби, моделей, физики на новый уровень со старого, от этого и краш происходит..

Ну в л4д система переноса энтить на следующий уровень упрощена похоже. Переносятся игроки, патроны, оружие, аптечки и прочие подобные вещи (коктель молотова например) и больше ничего, притом переносятся только если находятся внутри trigger_changelevel. Ни на одной карте л4д не видел trigger_transition ни у разрабов, ни у модеров.

Цитата:
Оригинальное сообщение от Stridemann
>>net_graph что ли? Ну бегло посмотрев - вроде нет никаких отличий особенных от той же 2ой карты (которая по величине схожа), но которая не вылетает. Возможно стоит проанализировать лучше.

НЕТ, showbudget_texture 1 http://clip2net.com/s/1Bm3b
О, спасибо, попробую проанализировать.
Old Post 16-02-2012 21:59
fake100 отсутствует Посмотреть данные 'fake100' Отправить Приватное Сообщение для 'fake100' Посетить домашнюю страничку fake100 Найти другие сообщения 'fake100' Добавить fake100 в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
Stridemann
(Инженер-изобретатель)

Зарегистрирован: Jun 2009
Проживает: Украина/Киев/
Написал: 2304 сообщений

Оценка: 95 Votes 95 чел.

Developer 
Сообщение #1064095
g_debug_transitions 2
Цитата:
Set to 1 and restart the map to be warned if the map has no trigger_transition volumes. Set to 2 to see a dump of all entities & associated results during a transition.

Отладочная команда показывающая какие энтити проходят на следующий левел (рестартнуть карту).
Логично было бы использовать с командой которая сохраняет события консоли в log файл...

Поправил Stridemann 16-03-2012 в 11:41

Old Post 16-03-2012 11:34
Stridemann отсутствует Посмотреть данные 'Stridemann' Отправить Приватное Сообщение для 'Stridemann' Найти другие сообщения 'Stridemann' Добавить Stridemann в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
Frozen442
(Чёдкий парниша!)

Зарегистрирован: Jul 2008
Проживает: Россия/подмосковье
Написал: 2506 сообщений

Оценка: 39 Votes 39 чел.

Developer Старожил 
Сообщение #1064106
У меня кстати бюджеттекстура почему-то отказывается на картах работать. Включается, но всё пустое, линии загруженности в реалтайме не показывают заполненность(
Old Post 16-03-2012 11:57
Frozen442 отсутствует Посмотреть данные 'Frozen442' Отправить Приватное Сообщение для 'Frozen442' Найти другие сообщения 'Frozen442' Добавить Frozen442 в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
Stridemann
(Инженер-изобретатель)

Зарегистрирован: Jun 2009
Проживает: Украина/Киев/
Написал: 2304 сообщений

Оценка: 95 Votes 95 чел.

Developer 
Сообщение #1064109
Цитата:
Оригинальное сообщение от Frozen442
У меня кстати бюджеттекстура почему-то отказывается на картах работать. Включается, но всё пустое, линии загруженности в реалтайме не показывают заполненность(

Может они зашкаливают?
Old Post 16-03-2012 12:00
Stridemann отсутствует Посмотреть данные 'Stridemann' Отправить Приватное Сообщение для 'Stridemann' Найти другие сообщения 'Stridemann' Добавить Stridemann в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
Frozen442
(Чёдкий парниша!)

Зарегистрирован: Jul 2008
Проживает: Россия/подмосковье
Написал: 2506 сообщений

Оценка: 39 Votes 39 чел.

Developer Старожил 
Сообщение #1064188
На картах сантехника-то?)) сурс 2009*
Old Post 16-03-2012 18:09
Frozen442 отсутствует Посмотреть данные 'Frozen442' Отправить Приватное Сообщение для 'Frozen442' Найти другие сообщения 'Frozen442' Добавить Frozen442 в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
Stridemann
(Инженер-изобретатель)

Зарегистрирован: Jun 2009
Проживает: Украина/Киев/
Написал: 2304 сообщений

Оценка: 95 Votes 95 чел.

Developer 
Сообщение #1064219
По теме.
Упала такая мысля: а что если спавнить игрока в тесном, отрезанном от мира функ порталами пространстве?)

Хотя если спавн объектов на карте происходит раньше (а если верить коду то это так и происходит) отрезания пространства после рендера, то.. это все до жопы.. -_-
Old Post 17-03-2012 00:28
Stridemann отсутствует Посмотреть данные 'Stridemann' Отправить Приватное Сообщение для 'Stridemann' Найти другие сообщения 'Stridemann' Добавить Stridemann в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
Все время в GMT . Сейчас 21:14.
Создать Новую Тему    Ответить

Быстрый ответ
Ваше Имя:
Хотите Зарегистрироваться?
Ваш Пароль:
Забыли свой Пароль?
Вы можете оставлять свои комментарии анонимно, просто введя свои имя и оставив пустым поле пароля.
Ваш ответ:

[проверить размер]
[транслит в win] | [?]
[русская клавиатура]

Дополнительно: Подтверждение по E-Mail


Быстрый переход:
 
Оцените эту Тему:
 

Правила форума:
Создание Тем не разрешено
Создание Сообщений разрешено
Создавать Вложения не разрешено
Редактирование Сообщений не разрешено
Коды HTML запрещены
Коды форума разрешены
Смайлики разрешены
Коды [IMG] запрещены