|
30.07.2009, 15:03
|
#1
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Синхронизация PhysX
Пора бы наверное уже разрешить эту проблему.
Я думаю КАЖДЫЙ встречался с тем, что физика медленее когда фпс меньше или наоборот реактивная когда их больше оптимального значения.
Что делать? Многократный рендер физики в зависимости от дельтатайма ещё сильнее фпс убъёт. С михиной потоковой либой у меня вылетало - проверю ещё в с++ с потоками. Увеличивать силы и гравитацию в зависимости от дельта тайма - не натурально. pxSetTiming может только замедлить а не ускорить физику.
Предлагайте свои варианты)
|
(Offline)
|
|
30.07.2009, 15:07
|
#2
|
|
Ответ: Синхронизация PhysX
по-идее pxSetTiming может принимать тогда дробные значения, попробуй 0.1
|
|
|
30.07.2009, 15:13
|
#3
|
Злобный Админ
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений (для 9,330 пользователей)
|
Ответ: Синхронизация PhysX
Если точно ускорить нельзя физику, то настраиваем физику например на 10 фпс ..тогда при большем фпс можно замедлять физику
__________________
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
30.07.2009, 19:40
|
#4
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: Синхронизация PhysX
то настраиваем физику например на 10 фпс
|
а так нельзя кстати))
|
(Offline)
|
|
30.07.2009, 20:01
|
#5
|
Злобный Админ
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений (для 9,330 пользователей)
|
Ответ: Синхронизация PhysX
это почему низзя?
__________________
|
(Offline)
|
|
30.07.2009, 20:41
|
#6
|
Гигант индустрии
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений (для 4,437 пользователей)
|
Ответ: Синхронизация PhysX
На таких настройках она аццки глючит
есть узкие рамки в которых работает любая физика. По массам, скоростям, скорости обновления.
__________________
|
(Offline)
|
|
30.07.2009, 22:20
|
#7
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: Синхронизация PhysX
Так, получилось пустить рендер физики отдельным потоком под с++. ОДНАКА, слишком быстро. Sleep(1) в потоке - наоборот слишком жирный. Нужно что-то вроде Sleep(0.1), но слип принимает только интегеры. Гугл не хочет раскрывать мне нычки хитрых кодеров, так что спрашиваю здесь - никто не знает как ждать флоатинговое время в с++?
Если удастся - выложу здесь готовый синхронизатор).
|
(Offline)
|
|
30.07.2009, 22:25
|
#8
|
|
Ответ: Синхронизация PhysX
Mr_F_
Sleep вообще время системе отдаёт, Sleep(1) действительности может занимать хоть 10 мс
попробуй цикл крутить какой-то
я не понимаю в чём трабла то
мучай входящий параметр gScene->simulate так чтобы он зависил времени между вызовами этой функции, тогда будет работать при широком диапазоне фпс, попробуй домножать время на некий коеф., к примеру 5
|
|
|
30.07.2009, 22:29
|
#9
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: Синхронизация PhysX
в общем та юзаю Рендеровский физыкс.
параметр то параметром, но всё же зачем делать рендер так часто когда можно с перерывами?
http://forum.boolean.name/showthread...ght=jMillisecs
вот это кажется что надо, спасибо, Джимон)
OOPS не работает ссылка!
|
(Offline)
|
|
30.07.2009, 23:31
|
#10
|
Бывалый
Регистрация: 19.06.2008
Сообщений: 679
Написано 264 полезных сообщений (для 450 пользователей)
|
Ответ: Синхронизация PhysX
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 5 сообщение(ий)):
У вас нет прав, чтобы видеть скрытый текст, содержащийся здесь.
|
?
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
30.07.2009, 23:34
|
#11
|
|
Ответ: Синхронизация PhysX
Mr_F_
ага, подправил ссылки
|
|
|
Сообщение было полезно следующим пользователям:
|
|
31.07.2009, 17:37
|
#12
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: Синхронизация PhysX
Потестите кто может:
http://tempfile.ru/file/1014784
Стрелки влево-вправо на клаве - уменьшать-увеличивать фпс.
пишите сюда свой средний Cube time.
--
хмм похоже у всех разный куб тайм... что логично ведь рендерфизики на каждой системе занимает разное время. надо ща переделать чтоб слип зависел от времени затраченного на рендер ато чето я ступил
Последний раз редактировалось Mr_F_, 31.07.2009 в 18:00.
|
(Offline)
|
|
31.07.2009, 18:58
|
#13
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: Синхронизация PhysX
Так, кое-что пофиксил, тестите теперь с этим ехе. длл с прошлого архива.
Предпологаемый cube time - в районе 280. кричите и материтесь если это не так.
Аттач переименуйте в rar если так не откроется.
ща попробую в длл запихнуть всё это.
|
(Offline)
|
|
31.07.2009, 20:34
|
#14
|
злобный флудер
Регистрация: 10.07.2007
Сообщений: 2,585
Написано 789 полезных сообщений (для 1,476 пользователей)
|
Ответ: Синхронизация PhysX
ХРЕНЬ ПОЛНАЯ !!! ЧЕМ БОЛШЕ ФПС ТЕМ БОЛЬШЕ КУБЕ ТАЙМ НА !!!! ну и наоборот соответственно
|
(Offline)
|
|
31.07.2009, 21:11
|
#15
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: Синхронизация PhysX
хм странно. у других 5 поциентов такого не наблюдается и куб тайм всегда одинаковый. да и вообще если синхронизатор не работает, чем больше фпс тем МЕНЬШЕ куб тайм должен быть. странно-странно.
вот в общем собрал либу:
http://webfile.ru/3810550
внутри длл, деклс и пример под блиц. развлекайтесть и ПОСТЬТЕ пожалуйста, надо понять что общего у тех людей у которых он пашет некорректно)
----
чето как-то лажово вышло.
когда много сил применяешь всё виснет.
приходится пока ставить на паузу поток перед такими делами.
апдейт:
http://webfile.ru/3810609
добавлено:
- параметр time в pxStartThead (time это первый параметр pxRenderPhysic)
pxPauseThread()
pxResumeThread()
pxSetDelayTime(t#) - установить максимальную задержку для цикла в котором рендер физики. по умолчанию = 5.0
---
билять, чето на практике какими-то рывками идёт((
Последний раз редактировалось Mr_F_, 31.07.2009 в 22:16.
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 03:14.
|