![]() |
Re: Синхронизация
Почему такие задержки? Логика то просчитывается, инпут тоже с ней стабильны. Если используються алгоритмы которые заставляют машину просто умирать, то задача оптимизировать алгаритмы. При этом у меня небыло таких проблемм, если игра лагует, то постоянно, а не такими рывками.
|
Re: Синхронизация
смотри FkashShooter, там вис происходит когдавзрывается корабль.
|
Re: Синхронизация
Ну вот, пример, чтобы не допускать таких ошибок! Это как в CellFractor, кидаешь магнитную гранату, и потом подстволку туда, и если нету PPU, то рывок - что есть плохо. Какраз тут не в синхронизации дело, нужно уже оптимизировать сами игровые процессы и визуальные действия в игре.
|
Re: Синхронизация
Я тоже задействовал систему, которую отписал в примере H@NON. Всё работает на ура, но небольшое мерцание всё же есть, особенно при поворотах камеры. Его возможно побороть?
Цитата:
Разве интересно будет играть в "плавную" кваку при 25фпс ? |
Re: Синхронизация
Цитата:
|
Re: Синхронизация
а я делаю как жимон тока просчитываю дельтаа не за 30 предудущих кадров а за 1. ибо за 30 слишкм много. можно сделать скажем за 5 кадров..
|
Re: Синхронизация
FLashMP, это VSync отключен - вывод изображения на экран, не ждёт пока картинка полностью сверху вниз обновиться, а продолжает обновлять, поэтому в играх с быстрой камерой - Action\Racings не советую выключать VSync. Выключается он просто: "Flip 0". А чтобы обратно включить, как и по стандарту тогда "Flip", но при этом показатель ФПС будет идеально реальным, т.к. будет учитываться только те кадры, которые полностью выводили на экран изображение.
|
Re: Синхронизация
FlashMP, число поликов тут ни при чем. Рендер то происходит редко (4 раза в секунду) при 4 ФПС.
в чем суть. Допустим у нас маленький фпс, тогда логика игры выполняется много раз , это еще больше замедляет игру, и некотое время идет эдакая цепная реакция) MoKa, посмею возразить, что отключать VSYnc все же надо, ставьте цикл который дает ту же задержку что и Flip 0. просто когда мы ставим 1-цу то игра стоит и ничегошеньки не делает, пока наконец перерисовка не закончится, а это ни есть гуд. |
Re: Синхронизация
Leito
если не смазывать DeltaTime то у меня все равно были рывки к примеру по таблице render time идут такие числа : 12 ms, 12 ms, 100 ms, 11 ms, 10 ms в таком случае когда рендер зашкалит под сотню мс то дельта тайм тоже резко увеличится .... а следуйший кадр рендерится уже только 11 мс что приведет к резкому рывку дело в том что дельта тайм должен показывать предположительное изменение скорости для следуйшего кадра |
Re: Синхронизация
jimon, а если 10мс, 11мс,100мс,110мс,99мс,11 мс, 12 мс?? или такого не бывает...
всетаки думаю нада ставить 5 кадров... 30 кадров слишком долго будит "отмазываться" на шустрых рендерах + логика. |
Re: Синхронизация
Leito
не принципиально особо я просто говорю что не надо юзать без учета предыдущих результатов :) |
Re: Синхронизация
А я просто завожу переменную, равную времени, что прошло с прошлого вызова метода Update и умножаю ее на все переменные, что управляют сдвигом, вращением и т.п.
|
Re: Синхронизация
JohnK, одно и тоже что делаю я. но у тя скорости тогда псевдочисла....
я умножаю на число к примеру 1.1 0.92 тоесть изменение от нормального состояния(при 50 ФПСах). а у тя 20,30,34... лучше сделай как у меня. удобнее будит. |
Re: Синхронизация
Ну дык мне и так удобно :)
|
Re: Синхронизация
Я перепробовал все.
И вернулся к банальному, примитивному WaitTimer |
Часовой пояс GMT +4, время: 18:21. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot