forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Blitz3D (http://forum.boolean.name/forumdisplay.php?f=45)
-   -   Синхронизация (http://forum.boolean.name/showthread.php?t=4153)

moka 16.08.2007 20:04

Re: Синхронизация
 
Почему такие задержки? Логика то просчитывается, инпут тоже с ней стабильны. Если используються алгоритмы которые заставляют машину просто умирать, то задача оптимизировать алгаритмы. При этом у меня небыло таких проблемм, если игра лагует, то постоянно, а не такими рывками.

HolyDel 16.08.2007 20:07

Re: Синхронизация
 
смотри FkashShooter, там вис происходит когдавзрывается корабль.

moka 16.08.2007 20:13

Re: Синхронизация
 
Ну вот, пример, чтобы не допускать таких ошибок! Это как в CellFractor, кидаешь магнитную гранату, и потом подстволку туда, и если нету PPU, то рывок - что есть плохо. Какраз тут не в синхронизации дело, нужно уже оптимизировать сами игровые процессы и визуальные действия в игре.

FLashMP 17.08.2007 00:36

Re: Синхронизация
 
Я тоже задействовал систему, которую отписал в примере H@NON. Всё работает на ура, но небольшое мерцание всё же есть, особенно при поворотах камеры. Его возможно побороть?
Цитата:

тогда вопрос в другом,почему никто неограничивает нижний фпс?
Если я не ошибаюсь, то единственный способ, которым это можно сделать - это замедление логики, т.е. самой игры.
Разве интересно будет играть в "плавную" кваку при 25фпс ?

FLashMP 17.08.2007 00:49

Re: Синхронизация
 
Цитата:

смотри FkashShooter, там вис происходит когдавзрывается корабль
Сказать, что во FlashShooter идеальные алгоритмы - это все равно, что не сказать ничего. Также подкачивают модели. А при взрыве - число поликов увеличивается, вот и тормоза появляются.

Leito 17.08.2007 01:24

Re: Синхронизация
 
а я делаю как жимон тока просчитываю дельтаа не за 30 предудущих кадров а за 1. ибо за 30 слишкм много. можно сделать скажем за 5 кадров..

moka 18.08.2007 03:17

Re: Синхронизация
 
FLashMP, это VSync отключен - вывод изображения на экран, не ждёт пока картинка полностью сверху вниз обновиться, а продолжает обновлять, поэтому в играх с быстрой камерой - Action\Racings не советую выключать VSync. Выключается он просто: "Flip 0". А чтобы обратно включить, как и по стандарту тогда "Flip", но при этом показатель ФПС будет идеально реальным, т.к. будет учитываться только те кадры, которые полностью выводили на экран изображение.

HolyDel 18.08.2007 16:57

Re: Синхронизация
 
FlashMP, число поликов тут ни при чем. Рендер то происходит редко (4 раза в секунду) при 4 ФПС.
в чем суть. Допустим у нас маленький фпс, тогда логика игры выполняется много раз , это еще больше замедляет игру, и некотое время идет эдакая цепная реакция)

MoKa, посмею возразить, что отключать VSYnc все же надо, ставьте цикл который дает ту же задержку что и Flip 0. просто когда мы ставим 1-цу то игра стоит и ничегошеньки не делает, пока наконец перерисовка не закончится, а это ни есть гуд.

jimon 18.08.2007 20:51

Re: Синхронизация
 
Leito
если не смазывать DeltaTime то у меня все равно были рывки
к примеру по таблице render time идут такие числа :
12 ms, 12 ms, 100 ms, 11 ms, 10 ms
в таком случае когда рендер зашкалит под сотню мс то дельта тайм тоже резко увеличится .... а следуйший кадр рендерится уже только 11 мс что приведет к резкому рывку

дело в том что дельта тайм должен показывать предположительное изменение скорости для следуйшего кадра

Leito 19.08.2007 00:13

Re: Синхронизация
 
jimon, а если 10мс, 11мс,100мс,110мс,99мс,11 мс, 12 мс?? или такого не бывает...

всетаки думаю нада ставить 5 кадров... 30 кадров слишком долго будит
"отмазываться" на шустрых рендерах + логика.

jimon 19.08.2007 00:25

Re: Синхронизация
 
Leito
не принципиально особо
я просто говорю что не надо юзать без учета предыдущих результатов :)

johnk 19.08.2007 11:33

Re: Синхронизация
 
А я просто завожу переменную, равную времени, что прошло с прошлого вызова метода Update и умножаю ее на все переменные, что управляют сдвигом, вращением и т.п.

Leito 19.08.2007 12:53

Re: Синхронизация
 
JohnK, одно и тоже что делаю я. но у тя скорости тогда псевдочисла....
я умножаю на число к примеру 1.1 0.92
тоесть изменение от нормального состояния(при 50 ФПСах).
а у тя 20,30,34...
лучше сделай как у меня. удобнее будит.

johnk 19.08.2007 13:14

Re: Синхронизация
 
Ну дык мне и так удобно :)

tormoz 19.08.2007 14:52

Re: Синхронизация
 
Я перепробовал все.
И вернулся к банальному, примитивному WaitTimer


Часовой пояс GMT +4, время: 18:21.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot