Git Product home page Git Product logo

Comments (3)

Joncom avatar Joncom commented on May 24, 2024

Found some useful info here:

JavaScript, specifically ECMA-262 Edition 5.1, does not support finalizers or weak references with callbacks. Thus, JavaScript code must explicitly delete any C++ object handles it has received. Otherwise the Emscripten heap will grow indefinitely.

With that in mind, I realized that I was creating new b2Vec2 instances, but never destroying the original one. I'm so used to letting the JavaScript garbage collector do that for me.

So instead of creating a new b2Vec on the last line, I re-used the one that already exists:

velocity.set_x(x);
velocity.set_y(y);
this.body.SetLinearVelocity( velocity, this.body.GetPosition() );

Perfect!

from box2d.js.

jagenjo avatar jagenjo commented on May 24, 2024

But is it possible to delete from Box2D the references we no longer need? because reusing is dangerous, I dont know if the reference I passed to box2D is being used internally so any changes could affect existing objects on the scene.
I guess I could check if the functions use copy, reference or pointer for every call, but maybe there is an easier way to free memory.

from box2d.js.

kripken avatar kripken commented on May 24, 2024

destroy should free the C++ side of things.

On Thu, Jul 18, 2013 at 6:10 AM, jagenjo [email protected] wrote:

But it is possible to delete the references we no longer need? because
reusing is dangerous, I dont know if the reference I passed to box2D is
being used internally so any changes could affect existing objects on the
scene.

β€”
Reply to this email directly or view it on GitHubhttps://github.com//issues/27#issuecomment-21181935
.

from box2d.js.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.