Срачи
|
|
drm | Дата: Среда, 21.04.2010, 18:28 | Сообщение # 1 |
Sooooo sloooo...oooooow
Группа: Администрация
Сообщений: 2420
Статус: Оффлайн
| Тут just for fun будет размещен архив срачей. Чтобы сюда попасть нужно устроить срач в одной из тем нашего форума. Всем сюда попавшим будут выданы призы и подарки
Споры в интернете — это как Олимпиада для умственно отсталых: даже если ты победил — ты все равно дебил! click ________________________________ Anything you can do, I can do better. I can do anything better than you.
|
|
| |
bimulyk | Дата: Среда, 21.04.2010, 18:28 | Сообщение # 2 |
Merida team
Группа: Разработчики (secondary)
Сообщений: 47
Статус: Оффлайн
| Товарищ Тарас! Есть конструктивное предложение на тему карт для трамгейма. В связи с тем, что игра должна во время езды обрабатывать и просчитывать все объекты - при некотором количестве трёхмерных моделей начинаются лаги, в соответствии с чем предлагаю сделать так, чтобы МАПэдитор просчитывал и прорисовывал карту и сохранял её уже готовой, дабы самой игре её осталось только отобразить.
|
|
| |
TarasB | Дата: Среда, 21.04.2010, 18:28 | Сообщение # 3 |
Директор станкостроительного завода
Группа: Разработчики (primary)
Сообщений: 1372
Статус: Оффлайн
| Quote (bimulyk) В связи с тем, что игра должна во время езды обрабатывать и просчитывать все объекты А что - их не надо просчитывать? Они ж все движутся. Quote (bimulyk) дабы самой игре её осталось только отобразить. А игра и так всё отображает. А что касается лагов статики - дык модели скромнее задавайте.
|
|
| |
drm | Дата: Среда, 21.04.2010, 18:29 | Сообщение # 4 |
Sooooo sloooo...oooooow
Группа: Администрация
Сообщений: 2420
Статус: Оффлайн
| Quote (TarasB) А что касается лагов статики - дык модели скромнее задавайте. Модели и так скромные, а лагает - жуть Над оптимизацией пора думать
Споры в интернете — это как Олимпиада для умственно отсталых: даже если ты победил — ты все равно дебил! click ________________________________ Anything you can do, I can do better. I can do anything better than you.
|
|
| |
TarasB | Дата: Среда, 21.04.2010, 18:29 | Сообщение # 5 |
Директор станкостроительного завода
Группа: Разработчики (primary)
Сообщений: 1372
Статус: Оффлайн
| Откуда я знаю, чего они лагают. Там в коде ничего хитрого нет.
|
|
| |
bimulyk | Дата: Среда, 21.04.2010, 18:29 | Сообщение # 6 |
Merida team
Группа: Разработчики (secondary)
Сообщений: 47
Статус: Оффлайн
| Вот потому что хитрого нет - поэтому всё тупым просчётом и тормозится, а нужно чтоб статика МАПэдитором отсчитывалась и была готова и не грузила своим просчётом саму игру.
|
|
| |
TarasB | Дата: Среда, 21.04.2010, 18:29 | Сообщение # 7 |
Директор станкостроительного завода
Группа: Разработчики (primary)
Сообщений: 1372
Статус: Оффлайн
| Умник хренов, вот тебе код, вот и смотри - где тут узкое место, и где тут оптимизировать. procedure Show3DObject; var j, k: integer; M: PModel; l, l2, c, s, a: double; oX, oY: double; R: integer; begin with Map do with Lines[i]^ do begin SetTrumAttr(ObjTrum); M := Models[Attr[0]]; if (M <> nil) and (M.Static) then begin R := RandSeed; RandSeed := Attr[1] shl 8 or Attr[2]; l := Sqrt(Sqr(X2 - X1) + Sqr(Y2 - Y1)); c := (X2 - X1) / l; s := (Y2 - Y1) / l; a := ArcTg(c, s) * 180 / Pi; l2 := M.FLen[0] + M.BLen[0]; k := Trunc(l / l2); oX := X1; oY := Y1; for j := 0 to k - 1 do begin ObjTrum.IsNight := Light_ < 0.1 + Random * 0.3; if M.Color >= 0 then ObjTrum.Color := M.Color else ObjTrum.Color := random($1000000); if M.DarkColors then ObjTrum.Color := ObjTrum.Color and $7F7F7F; glPopMatrix; glPushMatrix; glTranslateF(oX, -oY, 0); glRotateF(90, 1, 0, 0); glRotateF(-a, 0, 1, 0); ScrDist := Abs(X - oX) + Abs(Y - oY); if ScrDist > 1E-7 then begin ScrDist := 0.0625*Screen.Width/ScrDist; if ScrDist > LW then ScrDist := LW; end else ScrDist := LW; ShowModel(M^); oX := oX + l2 * c; oY := oY + l2 * s; end; RandSeed := R; glPopMatrix; glPushMatrix; end; end; end; Добавлено (07.02.2010, 22:24) --------------------------------------------- Подсказка - самая жрущая строчка тут - ShowModel(M^) И толку от того, что всё заранее просчитается?
|
|
| |
TarasB | Дата: Среда, 21.04.2010, 18:29 | Сообщение # 8 |
Директор станкостроительного завода
Группа: Разработчики (primary)
Сообщений: 1372
Статус: Оффлайн
| Оптимизировать действительно надо. И в первую очередь - перейти на одностороннюю отрисовку. Но к той хне, что тут пишут, это не имеет отношения.
|
|
| |
bimulyk | Дата: Среда, 21.04.2010, 18:29 | Сообщение # 9 |
Merida team
Группа: Разработчики (secondary)
Сообщений: 47
Статус: Оффлайн
| Тарас, я тебе пишу не про "узкое место", а про то, что надо убрать просчёт статики в мапэдитор!
|
|
| |
TarasB | Дата: Среда, 21.04.2010, 18:30 | Сообщение # 10 |
Директор станкостроительного завода
Группа: Разработчики (primary)
Сообщений: 1372
Статус: Оффлайн
| 1. Что такое "просчёт статики"? Вот я тебе дал кусок кода, делающий этот "просчёт". Нет в нём ничего реально грузящего процессор. Если думаешь, что дело именно в просчёте - нарисуй стену из пустых 3Д-объектов длиной 0.1. Что, нету логов? Где же они??? И это несмотря на то, что тупо делается дохрена голых просчётов? Удивительно, правда? 2. > Тарас, я тебе пишу не про "узкое место" Тогда вообще разговаривать не о чём, потому что именно узкие места и надо оптимизировать.
|
|
| |
bimulyk | Дата: Среда, 21.04.2010, 18:30 | Сообщение # 11 |
Merida team
Группа: Разработчики (secondary)
Сообщений: 47
Статус: Оффлайн
| Тогда почему лаги появляются, когда я и дрм играли на насыщенной им карте набережными, уникальными деревьями и проч. 3 Д объектами? Откуда они берутся?
Сообщение отредактировал bimulyk - Воскресенье, 07.02.2010, 23:38 |
|
| |
TarasB | Дата: Среда, 21.04.2010, 18:30 | Сообщение # 12 |
Директор станкостроительного завода
Группа: Разработчики (primary)
Сообщений: 1372
Статус: Оффлайн
| А ты замени все эти уникальные деревья пустыми объектами. Лаги исчезли? Значит лаги именно во время отрисовки объекта происходят? Удивительное открытие. И что изменится, если координаты просчитать заранее? ВНИЗАПНЕ уменьшится число полигонов? Вершин? Просчёт координат происходит абсолютно одинаково что для объекта, видимого в редакторе, что для объекта, видимого в игре. Всё, что меняется - матрица преобразований. Короче, учи матчасть.
|
|
| |
bimulyk | Дата: Среда, 21.04.2010, 18:30 | Сообщение # 13 |
Merida team
Группа: Разработчики (secondary)
Сообщений: 47
Статус: Оффлайн
| Так бы сразу и сказал, что не просчёт вешает, а отрисовка! А можно ли что-то придумать с отрисовкой?
|
|
| |
TarasB | Дата: Среда, 21.04.2010, 18:30 | Сообщение # 14 |
Директор станкостроительного завода
Группа: Разработчики (primary)
Сообщений: 1372
Статус: Оффлайн
| Quote (bimulyk) Так бы сразу и сказал, что не просчёт вешает, а отрисовка! А я сразу и сказал вообще-то: Quote (TarasB) Подсказка - самая жрущая строчка тут - ShowModel(M^) Quote (bimulyk) А можно ли что-то придумать с отрисовкой? Можно забить на опенгл и рисовать руками. На моём компе это действительно ускорит процесс, добавить кучу возможностей и решит кучу проблем.
|
|
| |
bimulyk | Дата: Среда, 21.04.2010, 18:30 | Сообщение # 15 |
Merida team
Группа: Разработчики (secondary)
Сообщений: 47
Статус: Оффлайн
| А окромя OpenGL каким методом можно делать отрисовку? В CS видел некие D3D и Software режимы... лучше ли они и можешь ли ты использовать их?
|
|
| |
TarasB | Дата: Среда, 21.04.2010, 18:31 | Сообщение # 16 |
Директор станкостроительного завода
Группа: Разработчики (primary)
Сообщений: 1372
Статус: Оффлайн
| "Руками" - это и есть Software Что это такое - в википедию. Для меня от него плюсы везде, всё равно видяха никакая. Для вас же плюс будет только один - будет гарантировано рисоваться та же картинка, что и у меня. Не будет сюрпризов.
|
|
| |
drm | Дата: Среда, 21.04.2010, 18:31 | Сообщение # 17 |
Sooooo sloooo...oooooow
Группа: Администрация
Сообщений: 2420
Статус: Оффлайн
| Просто возникает вопрос, что почему модель парапета для набережной (всего 6 полигонов) просто вешает в ступор комп c процом С2D Е8400, видяхой АТИ 4850 и 4 Гб оперативки. Все деревья уже заменил на стандартные. Снос парапетов качественно влияет на скорость отрисовки кадров (16 фпс, против 4-5, когда лагает). Неужели отрисовка модели из 6 полигонов такая сложная для ОпенГла задача
Споры в интернете — это как Олимпиада для умственно отсталых: даже если ты победил — ты все равно дебил! click ________________________________ Anything you can do, I can do better. I can do anything better than you.
|
|
| |
17748 | Дата: Среда, 21.04.2010, 18:31 | Сообщение # 18 |
Директор трамвайного завода
Группа: Пользователи
Сообщений: 1247
Статус: Оффлайн
| А сколько сегментов по 6п приходится на метр линии? И сколько метров линий "в поле зрения"? Ещё показательнее модель "куст".
|
|
| |
drm | Дата: Среда, 21.04.2010, 18:31 | Сообщение # 19 |
Sooooo sloooo...oooooow
Группа: Администрация
Сообщений: 2420
Статус: Оффлайн
| На метр линии 10 сегментов в поле зрения около полутора километров линий Всего-то 15000 объектов, НО в идеале программа должна не рисовать каждый из 15000, а нарисовав один, копировать его в следующие координаты
Споры в интернете — это как Олимпиада для умственно отсталых: даже если ты победил — ты все равно дебил! click ________________________________ Anything you can do, I can do better. I can do anything better than you.
|
|
| |
bimulyk | Дата: Среда, 21.04.2010, 18:31 | Сообщение # 20 |
Merida team
Группа: Разработчики (secondary)
Сообщений: 47
Статус: Оффлайн
| Quote (TarasB) Для меня от него плюсы везде, всё равно видяха никакая. Для вас же плюс будет только один - будет гарантировано рисоваться та же картинка, что и у меня. Не будет сюрпризов. А какие тогда минусы?
|
|
| |