ПрограммированиеФорумФизика

Непонятная потеря скорости (PhysX).

Страницы: 1 2 Следующая »
#0
21:26, 12 янв 2010

100 кубиков, 100 сфер и 100 капсул падают на плоскость, на выходе 85 фпс (7300gt), в упор не пойму куда девается скорость, вот исходник проекта и враппера, помогите разобратся.
http://depositfiles.com/files/qq8ciuk55
http://depositfiles.com/files/1qody7l89

#1
0:04, 13 янв 2010

>>85 фпс
VSync?

#2
0:13, 13 янв 2010

> 85 фпс
слабый проц (ноут)?

#3
0:50, 13 янв 2010

VSync отключен, хотя при включении на выходе фпс то же самой, процесор - пентиум4 3Ггц (загрузка проца 1-6%), впрочем исходник проекта скомпилирован - можете скачать и посмотреть у себя на производительность. Кстати для такого "проекта" сколько фпс нормально (чтоб я знал на что ориентироватся)?

#4
2:09, 13 янв 2010

У меня в районе 110-130 крутится, жрёт 66-70 процентов судя по диспетчеру задач. Может у тебя комп всё таки слабоват? У тебя там физикс софтварно или хардварно работает? Наконец возми какой-нить профайлер и посмотри, может и не в физике дело...

PS. athlon 5400 + 8800gts

#5
2:22, 13 янв 2010

Без символов собранный проект профайлить чисто по вершкам, а ставить делфи и собирать как нада я конечно не стану. Ну в общем тормозит походу всё таки физика.

#6
8:42, 13 янв 2010

  object Cadencer: TGLCadencer
    Scene = GLScene
    SleepLength = 1                              <---------------
    OnProgress = CadencerProgress
    Left = 40
    Top = 8
  end

Думаю причина в этом...
Попробуй поставить 0...

А вообще апдейт физики желательно бы зафиксировать...

#7
17:15, 13 янв 2010

SleepLength поставил в ноль и правду фпс поддалось, апдейт зафиксировал но результата никакого не было заметно, физикс софтварно работает, то  для такой сцены сколько фпс нормально? И еще вопрос можно ли юзать для твердых тел gpu физику и если да то как (желательно отрывок кода).

#8
17:33, 13 янв 2010

karuy
> SleepLength поставил в ноль и правду фпс поддалось, апдейт зафиксировал но
> результата никакого не было заметно, физикс софтварно работает, то для такой
> сцены сколько фпс нормально? И еще вопрос можно ли юзать для твердых тел gpu
> физику и если да то как (желательно отрывок кода).

То что ты в физх выставил фиксированный, этого ещё не достаточно...
Тебе надо руками писать код, который будет проверять сколько времени прошло, если прошло больше определённого количества, только тогда обновлять...

#9
18:47, 13 янв 2010

а может визуализация шейпов включена?
флаги NX_VISUALIZE_...

#10
20:01, 13 янв 2010

>> И еще вопрос можно ли юзать для твердых тел gpu физику и если да то как
Нельзя. Будет только в SDK 3.0

#11
19:45, 14 янв 2010

Флажки убрал, десяток фпс добавилось. Еще вопрос, вот код:
export CreateCloth(NxActor** Actor, float thickness, float bendingStiffness, float w, float h, float d, char* texture)
{

  NxClothDesc clothDesc;
  clothDesc.globalPose.t = NxVec3(0,0,0);
  clothDesc.thickness = thickness;
  clothDesc.bendingStiffness = bendingStiffness;
  clothDesc.flags |= NX_CLF_BENDING;
  clothDesc.flags |= NX_CLF_COLLISION_TWOWAY;

  if (gHardwareCloth)
    clothDesc.flags |= NX_CLF_HARDWARE;

  MyCloth *regularCloth = new MyCloth(gScene, clothDesc, w, h, d, texture);
            if (!regularCloth->getNxCloth())
  {
    delete regularCloth;
  }
  else
  {
    gCloths.push_back(regularCloth);
            }
}
И ошыбки:
1>_PhysXwrap.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: __thiscall MyCloth::~MyCloth(void)" (??1MyCloth@@QAE@XZ) в функции "public: void * __thiscall MyCloth::`scalar deleting destructor'(unsigned int)" (??_GMyCloth@@QAEPAXI@Z)
1>_PhysXwrap.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: __thiscall MyCloth::MyCloth(class NxScene *,class NxClothDesc &,float,float,float,char *,bool)" (??0MyCloth@@QAE@PAVNxScene@@AAVNxClothDesc@@MMMPAD_N@Z) в функции "void __stdcall CreateCloth(class NxActor * *,float,float,float,float,float,char *)" (?CreateCloth@@YGXPAPAVNxActor@@MMMMMPAD@Z)
1>..\PhysXwrap.dll : fatal error LNK1120: 2 неразрешенных внешних элементов
--------------------------------
Ума не приложу что делать, походу все делаю как в примере, а у них компилит у меня нет. Помогите новичку.

#12
23:12, 14 янв 2010

karuy
попробуй добавить MyCloth.h и MyCloth.cpp в свой проект

#13
0:22, 15 янв 2010

Добавил (проект-добавить класс-...), в итоге ловлю еще больше ошыбок, если не трудно взгляни на програмку, может тебе удастся скомпилить. В делфи как-то проще усе...
http://depositfiles.com/files/dj5ebopg7

#14
1:05, 15 янв 2010

Линкёр не находит где у тебя реализованы конструктор и деструктор MyCloth, о чём собсно и пишет прямым текстом. Ты их реализовал? В это же либе/dll-е или в другой?

Страницы: 1 2 Следующая »
ПрограммированиеФорумФизика

Тема в архиве.