Форма входа

Наш опрос

Какой версией ТГ пользуетесь
Всего ответов: 102

Мини-чат

500

Статистика

Срачи - Форум

[ Личные сообщения() · Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Срачи
drmДата: Среда, 21.04.2010, 18:28 | Сообщение # 1
Sooooo sloooo...oooooow
Группа: Администрация
Сообщений: 2420
Награды: 0
Статус: Оффлайн
Тут 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
Награды: 0
Статус: Оффлайн
Товарищ Тарас! Есть конструктивное предложение на тему карт для трамгейма. В связи с тем, что игра должна во время езды обрабатывать и просчитывать все объекты - при некотором количестве трёхмерных моделей начинаются лаги, в соответствии с чем предлагаю сделать так, чтобы МАПэдитор просчитывал и прорисовывал карту и сохранял её уже готовой, дабы самой игре её осталось только отобразить.
 
TarasBДата: Среда, 21.04.2010, 18:28 | Сообщение # 3
Директор станкостроительного завода
Группа: Разработчики (primary)
Сообщений: 1372
Награды: 0
Статус: Оффлайн
Quote (bimulyk)
В связи с тем, что игра должна во время езды обрабатывать и просчитывать все объекты

А что - их не надо просчитывать? Они ж все движутся.

Quote (bimulyk)
дабы самой игре её осталось только отобразить.

А игра и так всё отображает.

А что касается лагов статики - дык модели скромнее задавайте.

 
drmДата: Среда, 21.04.2010, 18:29 | Сообщение # 4
Sooooo sloooo...oooooow
Группа: Администрация
Сообщений: 2420
Награды: 0
Статус: Оффлайн
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
Награды: 0
Статус: Оффлайн
Откуда я знаю, чего они лагают. Там в коде ничего хитрого нет.
 
bimulykДата: Среда, 21.04.2010, 18:29 | Сообщение # 6
Merida team
Группа: Разработчики (secondary)
Сообщений: 47
Награды: 0
Статус: Оффлайн
Вот потому что хитрого нет - поэтому всё тупым просчётом и тормозится, а нужно чтоб статика МАПэдитором отсчитывалась и была готова и не грузила своим просчётом саму игру.
 
TarasBДата: Среда, 21.04.2010, 18:29 | Сообщение # 7
Директор станкостроительного завода
Группа: Разработчики (primary)
Сообщений: 1372
Награды: 0
Статус: Оффлайн
Умник хренов, вот тебе код, вот и смотри - где тут узкое место, и где тут оптимизировать.

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
Награды: 0
Статус: Оффлайн
Оптимизировать действительно надо. И в первую очередь - перейти на одностороннюю отрисовку. Но к той хне, что тут пишут, это не имеет отношения.
 
bimulykДата: Среда, 21.04.2010, 18:29 | Сообщение # 9
Merida team
Группа: Разработчики (secondary)
Сообщений: 47
Награды: 0
Статус: Оффлайн
Тарас, я тебе пишу не про "узкое место", а про то, что надо убрать просчёт статики в мапэдитор!
 
TarasBДата: Среда, 21.04.2010, 18:30 | Сообщение # 10
Директор станкостроительного завода
Группа: Разработчики (primary)
Сообщений: 1372
Награды: 0
Статус: Оффлайн
1. Что такое "просчёт статики"? Вот я тебе дал кусок кода, делающий этот "просчёт". Нет в нём ничего реально грузящего процессор. Если думаешь, что дело именно в просчёте - нарисуй стену из пустых 3Д-объектов длиной 0.1. Что, нету логов? Где же они??? И это несмотря на то, что тупо делается дохрена голых просчётов? Удивительно, правда?
2. > Тарас, я тебе пишу не про "узкое место"
Тогда вообще разговаривать не о чём, потому что именно узкие места и надо оптимизировать.
 
bimulykДата: Среда, 21.04.2010, 18:30 | Сообщение # 11
Merida team
Группа: Разработчики (secondary)
Сообщений: 47
Награды: 0
Статус: Оффлайн
Тогда почему лаги появляются, когда я и дрм играли на насыщенной им карте набережными, уникальными деревьями и проч. 3 Д объектами? Откуда они берутся?

Сообщение отредактировал bimulyk - Воскресенье, 07.02.2010, 23:38
 
TarasBДата: Среда, 21.04.2010, 18:30 | Сообщение # 12
Директор станкостроительного завода
Группа: Разработчики (primary)
Сообщений: 1372
Награды: 0
Статус: Оффлайн
А ты замени все эти уникальные деревья пустыми объектами. Лаги исчезли? Значит лаги именно во время отрисовки объекта происходят? Удивительное открытие. И что изменится, если координаты просчитать заранее? ВНИЗАПНЕ уменьшится число полигонов? Вершин? Просчёт координат происходит абсолютно одинаково что для объекта, видимого в редакторе, что для объекта, видимого в игре. Всё, что меняется - матрица преобразований.
Короче, учи матчасть.
 
bimulykДата: Среда, 21.04.2010, 18:30 | Сообщение # 13
Merida team
Группа: Разработчики (secondary)
Сообщений: 47
Награды: 0
Статус: Оффлайн
Так бы сразу и сказал, что не просчёт вешает, а отрисовка! А можно ли что-то придумать с отрисовкой?
 
TarasBДата: Среда, 21.04.2010, 18:30 | Сообщение # 14
Директор станкостроительного завода
Группа: Разработчики (primary)
Сообщений: 1372
Награды: 0
Статус: Оффлайн
Quote (bimulyk)
Так бы сразу и сказал, что не просчёт вешает, а отрисовка!

А я сразу и сказал вообще-то:
Quote (TarasB)
Подсказка - самая жрущая строчка тут - ShowModel(M^)

Quote (bimulyk)
А можно ли что-то придумать с отрисовкой?

Можно забить на опенгл и рисовать руками. На моём компе это действительно ускорит процесс, добавить кучу возможностей и решит кучу проблем.
 
bimulykДата: Среда, 21.04.2010, 18:30 | Сообщение # 15
Merida team
Группа: Разработчики (secondary)
Сообщений: 47
Награды: 0
Статус: Оффлайн
А окромя OpenGL каким методом можно делать отрисовку? В CS видел некие D3D и Software режимы... лучше ли они и можешь ли ты использовать их?
 
TarasBДата: Среда, 21.04.2010, 18:31 | Сообщение # 16
Директор станкостроительного завода
Группа: Разработчики (primary)
Сообщений: 1372
Награды: 0
Статус: Оффлайн
"Руками" - это и есть Software
Что это такое - в википедию.
Для меня от него плюсы везде, всё равно видяха никакая.
Для вас же плюс будет только один - будет гарантировано рисоваться та же картинка, что и у меня. Не будет сюрпризов.
 
drmДата: Среда, 21.04.2010, 18:31 | Сообщение # 17
Sooooo sloooo...oooooow
Группа: Администрация
Сообщений: 2420
Награды: 0
Статус: Оффлайн
Просто возникает вопрос, что почему модель парапета для набережной (всего 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
Награды: 0
Статус: Оффлайн
А сколько сегментов по 6п приходится на метр линии?
И сколько метров линий "в поле зрения"?
Ещё показательнее модель "куст".
 
drmДата: Среда, 21.04.2010, 18:31 | Сообщение # 19
Sooooo sloooo...oooooow
Группа: Администрация
Сообщений: 2420
Награды: 0
Статус: Оффлайн
На метр линии 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
Награды: 0
Статус: Оффлайн
Quote (TarasB)
Для меня от него плюсы везде, всё равно видяха никакая. Для вас же плюс будет только один - будет гарантировано рисоваться та же картинка, что и у меня. Не будет сюрпризов.

А какие тогда минусы?
 
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск: