Pierre-Terdiman / PEEL

Physics Engine Evaluation Lab
http://www.codercorner.com/blog/
150 stars 19 forks source link

That was not the Newton integration i provided, was it? #3

Closed JulioJerez closed 7 years ago

JulioJerez commented 9 years ago

you removed all the callback, the new test I added, and you did even set collision flag. you did the same thing Adrian Boeing and Dirk Gregorius did whet the wrote PAL to promote Bullet, and refused to accept any correct integration despite many people telling it was not correct

Phyxs is faster than Newton yes, but is that the only thing that count? Or are you in a bobble that you fell good by making every one else feel worse.
has the decency of being honest.

here is a proper integration http://newtondynamics.com/forum/viewtopic.php?f=9&t=8836

Pierre-Terdiman commented 9 years ago

I am not quite sure how to respond to this but I will try anyway.

I only received one version from John R, and that's the one included in the PEEL release - verbatim. Maybe you sent him more than one version? In any case this is the only one I ever got.

you removed all the callback, the new test I added, and you did even set collision flag.

No. I did not change anything. I don't know what callback you're talking about. And if there was a new test, I missed it. I was only interested in the "PINT" plugin so if you changed the PEEL code itself, maybe I didn't even notice.

I am a bit puzzled why you accuse people on public websites like this? If this is not the latest/best integration, errr... just... send me a new one? This is what I asked for in the docs, you know.

So I am sure we can do that politely without accusing people of doing X or Y.

you did the same thing Adrian Boeing and Dirk Gregorius did whet the wrote PAL to promote Bullet, and refused to accept any correct integration despite many people telling it was not correct

What? This is ridiculous.

I did not "refuse" a correct integration. Nobody told me anything about the previous one. This is the first time I hear about this.

I have no problem accepting a new version. Again, I asked for contributions in the docs:

"Writing and maintaining the PEEL plugins for each of these engines takes a lot of time and effort. It goes without saying that it also requires a good knowledge of each of these engines’ API, which is something the author does not necessarily have. Thus, these implementations are a “best effort”, and it is possible that some of them are suboptimal or incomplete. A list of current known issues is maintained in a separate text file in the PEEL distribution. The author strongly encourages people familiar with the above APIs to look up the code, double-check it, and submit improvements or bugfixes."

but is that the only thing that count?

Far from it. In fact I even have a blog post about it, which is a copy of the PEEL docs:

http://www.codercorner.com/blog/?p=1182

For example this part:

"Thus, it might actually be reasonable and acceptable to switch to a slower engine if it offers other benefits otherwise (better support, open source, etc)."

If there is a focus on performance in the tests, this is simply because one goal with PEEL was to show that PhysX is not "crippled". This is the kind of stuff we can read over and over and over again online. So I am not trying to show that Bullet or Newton or whatever is slow. I am trying to address the online myths that claim PhysX is not optimized / only uses x87 code / is not using multithreading, by showing that it is in fact as fast or faster than alternative engines.

It looks to me that PhysX has a worse reputation online than Newton, so I'm not sure what you are complaining about.

has the decency of being honest.

I'm probably the most honest guy you'll talk to. I work for PhysX but I don't have a strong emotional attachment to it - it's not "my" engine anymore, far from it.

And I released PEEL. Benchmarks. Numbers. Graphs. Truth. No Internet myths. It's open source. Everybody can have a look. Everybody can contribute.

If I'm doing something wrong, I'll update the code. The Bullet guys already reported a few things I was doing wrong, and it got fixed in PEEL 1.01.

And if I see that engine X is faster than PhysX in some test cases, I will not feel "bad" about it: instead I will be happy to go back to the codebase and optimize things a bit more. It's a lot of fun. In fact, if PhysX is fast these days it's probably because we've been doing exactly this for a while now. We love it. Every benchmark where PhysX is not the fastest is an opportunity for the product to become better, not a reason for feeling bad.

I think we have everything to win by being honest here. Again, for most of the online world PhysX is still "using x87 code", or "only works on NVIDIA GPUs", or is "poorly optimized on CPU", etc. That's all BS. And the best way to prove it is just to open everything and say "see for yourself". Isn't it what we did? How is this not honest? What more do you want?


From my point of view, when I wrote the previous blog posts about the Evolution of PhysX, you complained that Newton was not included in it. And the Bullet people complained that I cheated or whatever, because the code was not public.

But now that the code is public and Newton included.... nothing changed: the same people still complain anyway.

I think it's my turn to ask for some honesty. If PhysX is faster than X or Y, it's not a drama or a crisis or anything. People could be honest indeed and recognize this fact. But no, instead they always come up with some excuse: either "the test is biased", or "the integration of engine X is not optimal", or this, or that. Where is the honesty here? Why is it so hard to say "yep, good job PhysX, now it's my turn to optimize my stuff"?

Pierre-Terdiman commented 9 years ago

So anyway I will happily look at your new version. But give me some time. I have zero free time these days (I have a 3 y.o. kid), and as you very well know it took me forever just to release PEEL. Expect some delay. But I can assure you it will happen.

JulioJerez commented 9 years ago

I only received one version from John R, and that's the one included in the PEEL release - verbatim. Maybe you sent him more than one version? In any case this is the only one I ever got.<<

Oh really? that seem strange since OI was making regular commit to the repository you guys provide me with until I could not do any more.

... What? This is ridiculous.<<

Ridiculous you said? look around in you tube so that you can read about the people that at the time told these guys that were deliberately were misrepresent the library.

http://adrianboeing.blogspot.com/2011/02/newton-physics-engine.html

Still today the man acts like an idiot pretending that he does not know why the engine did what it did but that the engine was "estrange" and he put that in an "internet paper".

He still do not know that the explosion of the Joint Bridge is the correct solution. you actually have some demos that do the same thing.

The hinge bridge and the net of ball and socket, will explode because the initial matrix is singular. Any engine that try to invert that mass matrix with explode because the matrix is too ill conditioned.

You guys keep making these moronic demos that are unsolvable and you pad yourself in bad celebrating how good your technology is, but the only reason engine like

ODE, Physx Bullet and Havok can deal with that is because they do not drive the residual joint acceleration to some arbitrary small value.

I had to modified your demos so that the joints have some wiggle room to operate. It is in fact makes your engine looks better.

I am trying to address the online myths that claim PhysX is not optimized / only uses x87 code / is not using multithreading, by showing that it is in fact as fast or faster than alternative engines.

It looks to me that PhysX has a worse reputation online than Newton, so I'm not sure what you are complaining about.<<

so it does bother you when these internet self appointed engine appraisal experts like Adrian Boeing, Dirk Gregorius, Kenneth Bodin Holmlund and the rest say stuff

that you can only imagine they pulled out of their asses, because you know is not true but they keep doing despite correcting them?

but for some reason when you defend yourself it is seen as contribution, but when I do the same I am seen like an angry person and the you guys took all the

comments an placed then out of context in a thread to make me seem incoherent and them you all pile on and on.

http://www.bulletphysics.org/Bullet/phpBB3/viewtopic.php?f=4 http://www.bulletphysics.org/Bullet/phpBB3/viewtopic.php?f=4&t=1334 &t=1334

From my point of view, when I wrote the previous blog posts about the Evolution of PhysX, you complained that Newton was not included in it. And the Bullet people complained that I cheated or whatever, because the code was not public...<<

Not I did not complained that you cheated, I acknowledge that yes Phys is very fast.

I complained that when for did included you misrepresented me and maybe some others but on that I digress.

You have been on this long enough to know that setting up a physic library takes a lot of effort and tuning. your company spend tens of millions of dollar a year sending

representatives to first party game developer just to do that. So when you come up with such a poor integration job, you publish those graphs, you only focus on one aspect and you make all those snaky comments, I found that very disingenuous at best.

Julio

From: Pierre-Terdiman [mailto:notifications@github.com] Sent: Monday, June 15, 2015 1:49 PM To: Pierre-Terdiman/PEEL Cc: NewtonDynamics Subject: Re: [PEEL] That was not the Newton integration i provided, was it? (#3)

I am not quite sure how to respond to this but I will try anyway.

I only received one version from John R, and that's the one included in the PEEL release - verbatim. Maybe you sent him more than one version? In any case this is the only one I ever got.

you removed all the callback, the new test I added, and you did even set collision flag.

No. I did not change anything. I don't know what callback you're talking about. And if there was a new test, I missed it. I was only interested in the "PINT" plugin so if you changed the PEEL code itself, maybe I didn't even notice.

I am a bit puzzled why you accuse people on public websites like this? If this is not the latest/best integration, errr... just... send me a new one? This is what I asked for in the docs, you know.

So I am sure we can do that politely without accusing people of doing X or Y.

you did the same thing Adrian Boeing and Dirk Gregorius did whet the wrote PAL to promote Bullet, and refused to accept any correct integration despite many people telling it was not correct

What? This is ridiculous.

I did not "refuse" a correct integration. Nobody told me anything about the previous one. This is the first time I hear about this.

I have no problem accepting a new version. Again, I asked for contributions in the docs:

"Writing and maintaining the PEEL plugins for each of these engines takes a lot of time and effort. It goes without saying that it also requires a good knowledge of each of these engines’ API, which is something the author does not necessarily have. Thus, these implementations are a “best effort”, and it is possible that some of them are suboptimal or incomplete. A list of current known issues is maintained in a separate text file in the PEEL distribution. The author strongly encourages people familiar with the above APIs to look up the code, double-check it, and submit improvements or bugfixes."

but is that the only thing that count?

Far from it. In fact I even have a blog post about it, which is a copy of the PEEL docs:

http://www.codercorner.com/blog/?p=1182

For example this part:

"Thus, it might actually be reasonable and acceptable to switch to a slower engine if it offers other benefits otherwise (better support, open source, etc)."

If there is a focus on performance in the tests, this is simply because one goal with PEEL was to show that PhysX is not "crippled". This is the kind of stuff we can read over and over and over again online. So I am not trying to show that Bullet or Newton or whatever is slow. I am trying to address the online myths that claim PhysX is not optimized / only uses x87 code / is not using multithreading, by showing that it is in fact as fast or faster than alternative engines.

It looks to me that PhysX has a worse reputation online than Newton, so I'm not sure what you are complaining about.

has the decency of being honest.

I'm probably the most honest guy you'll talk to. I work for PhysX but I don't have a strong emotional attachment to it - it's not "my" engine anymore, far from it.

And I released PEEL. Benchmarks. Numbers. Graphs. Truth. No Internet myths. It's open source. Everybody can have a look. Everybody can contribute.

If I'm doing something wrong, I'll update the code. The Bullet guys already reported a few things I was doing wrong, and it got fixed in PEEL 1.01.

And if I see that engine X is faster than PhysX in some test cases, I will not feel "bad" about it: instead I will be happy to go back to the codebase and optimize things a bit more. It's a lot of fun. In fact, if PhysX is fast these days it's probably because we've been doing exactly this for a while now. We love it. Every benchmark where PhysX is not the fastest is an opportunity for the product to become better, not a reason for feeling bad.

I think we have everything to win by being honest here. Again, for most of the online world PhysX is still "using x87 code", or "only works on NVIDIA GPUs", or is "poorly optimized on CPU", etc. That's all BS. And the best way to prove it is just to open everything and say "see for yourself". Isn't it what we did? How is this not honest? What more do you want?


From my point of view, when I wrote the previous blog posts about the Evolution of PhysX, you complained that Newton was not included in it. And the Bullet people complained that I cheated or whatever, because the code was not public.

But now that the code is public and Newton included.... nothing changed: the same people still complain anyway.

I think it's my turn to ask for some honesty. If PhysX is faster than X or Y, it's not a drama or a crisis or anything. People could be honest indeed and recognize this fact. But no, instead they always come up with some excuse: either "the test is biased", or "the integration of engine X is not optimal", or this, or that. Where is the honesty here? Why is it so hard to say "yep, good job PhysX, now it's my turn to optimize my stuff"?

— Reply to this email directly or view it on GitHub https://github.com/Pierre-Terdiman/PEEL/issues/3#issuecomment-112206831 . https://github.com/notifications/beacon/AHxHpBBJKx3vJy4wWpMKJ6P0rg2LGAF1ks5oTzGsgaJpZM4FDnuC.gif

jratcliff63367 commented 9 years ago

I apologize, this was my mistake. I created a private depot for Julio to test his Newton integration into PEEL. Julio made numerous additions to this depot which never got integrated back into the internal PEEL depot that Pierre was maintaining. This is on me.

However, now that PEEL is on GitHub is should just be a matter of integrating your latest version and submitted a pull request.

dgregorius commented 9 years ago

Julio, I never worked on PAL. I am not sure how you come up with this. Secondly I never promoted Bullet. I was actually always rather constructively critical and at some point even banned from the Bullet forum and terminated as moderator.

For the record in my opinion Newton is a decent physics engine with good quality and performance characteristics. Writing a direct solver is a very difficult task and you did a great job succeeding with this! Pierre did a great summary about physics engine comparison in his latest post and it is indeed not all about performance. I doubt that anyone questions the quality of Newton here.

jratcliff63367 commented 9 years ago

Yeah, and it was very kind of Pierre to both release PEEL open source as well as to include the initial Newton integration. I realize there was some communications problems between myself and Julio, I should have made it clear that I was not integrating his changes back to our master copy.

At the time Julio was working on that, I was unaware that PEEL would ever be released open source, so I didn't see any point in doing continuous integration. However, now that it is open source, I encourage Julio to update the code and issue a pull request.