![]() |
Синхронизация PhysX
Пора бы наверное уже разрешить эту проблему.
Я думаю КАЖДЫЙ встречался с тем, что физика медленее когда фпс меньше или наоборот реактивная когда их больше оптимального значения. Что делать? Многократный рендер физики в зависимости от дельтатайма ещё сильнее фпс убъёт. С михиной потоковой либой у меня вылетало - проверю ещё в с++ с потоками. Увеличивать силы и гравитацию в зависимости от дельта тайма - не натурально. pxSetTiming может только замедлить а не ускорить физику. Предлагайте свои варианты) |
Ответ: Синхронизация PhysX
по-идее pxSetTiming может принимать тогда дробные значения, попробуй 0.1
|
Ответ: Синхронизация PhysX
Если точно ускорить нельзя физику, то настраиваем физику например на 10 фпс ..тогда при большем фпс можно замедлять физику
|
Ответ: Синхронизация PhysX
Цитата:
|
Ответ: Синхронизация PhysX
это почему низзя?
|
Ответ: Синхронизация PhysX
На таких настройках она аццки глючит
есть узкие рамки в которых работает любая физика. По массам, скоростям, скорости обновления. |
Ответ: Синхронизация PhysX
Так, получилось пустить рендер физики отдельным потоком под с++. ОДНАКА, слишком быстро. Sleep(1) в потоке - наоборот слишком жирный. Нужно что-то вроде Sleep(0.1), но слип принимает только интегеры. Гугл не хочет раскрывать мне нычки хитрых кодеров, так что спрашиваю здесь - никто не знает как ждать флоатинговое время в с++?
Если удастся - выложу здесь готовый синхронизатор). |
Ответ: Синхронизация PhysX
Mr_F_
Sleep вообще время системе отдаёт, Sleep(1) действительности может занимать хоть 10 мс попробуй цикл крутить какой-то я не понимаю в чём трабла то мучай входящий параметр gScene->simulate так чтобы он зависил времени между вызовами этой функции, тогда будет работать при широком диапазоне фпс, попробуй домножать время на некий коеф., к примеру 5 |
Ответ: Синхронизация PhysX
Цитата:
Цитата:
http://forum.boolean.name/showthread...ght=jMillisecs вот это кажется что надо, спасибо, Джимон) Цитата:
|
Ответ: Синхронизация PhysX
|
Ответ: Синхронизация PhysX
Mr_F_
ага, подправил ссылки |
Ответ: Синхронизация PhysX
Потестите кто может:
http://tempfile.ru/file/1014784 Стрелки влево-вправо на клаве - уменьшать-увеличивать фпс. пишите сюда свой средний Cube time. -- хмм похоже у всех разный куб тайм... что логично ведь рендерфизики на каждой системе занимает разное время. надо ща переделать чтоб слип зависел от времени затраченного на рендер ато чето я ступил |
Ответ: Синхронизация PhysX
Вложений: 1
Так, кое-что пофиксил, тестите теперь с этим ехе. длл с прошлого архива.
Предпологаемый cube time - в районе 280. кричите и материтесь если это не так. Аттач переименуйте в rar если так не откроется. ща попробую в длл запихнуть всё это. |
Ответ: Синхронизация PhysX
ХРЕНЬ ПОЛНАЯ !!! ЧЕМ БОЛШЕ ФПС ТЕМ БОЛЬШЕ КУБЕ ТАЙМ НА !!!! ну и наоборот соответственно
|
Ответ: Синхронизация PhysX
хм странно. у других 5 поциентов такого не наблюдается и куб тайм всегда одинаковый. да и вообще если синхронизатор не работает, чем больше фпс тем МЕНЬШЕ куб тайм должен быть. странно-странно.
вот в общем собрал либу: http://webfile.ru/3810550 внутри длл, деклс и пример под блиц. развлекайтесть и ПОСТЬТЕ пожалуйста, надо понять что общего у тех людей у которых он пашет некорректно) ---- чето как-то лажово вышло. когда много сил применяешь всё виснет. приходится пока ставить на паузу поток перед такими делами. апдейт: http://webfile.ru/3810609 добавлено: - параметр time в pxStartThead (time это первый параметр pxRenderPhysic) pxPauseThread() pxResumeThread() pxSetDelayTime(t#) - установить максимальную задержку для цикла в котором рендер физики. по умолчанию = 5.0 --- билять, чето на практике какими-то рывками идёт(( |
Часовой пояс GMT +4, время: 23:39. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot