Comments (2)
Hi
I tested liquid fun in my own code. Here's my initial code:
b2ParticleGroupDef pd;
pd.flags = b2_waterParticle;
b2PolygonShape shape;
shape.SetAsBox(hx, hy, vCenter, 0.0);
pd.shape = &shape;
pWorld->CreateParticleGroup(pd);
After this, I got some like 9 or 10 memory leak reports. Using visual leak detector, I was able to track down which buffers are not freed and here's the list (which I free manually):
free(pWorld->m_particleSystem.m_flagsBuffer.data);
free(pWorld->m_particleSystem.m_positionBuffer.data);
free(pWorld->m_particleSystem.m_velocityBuffer.data);
free(pWorld->m_particleSystem.m_accumulationBuffer);
free(pWorld->m_particleSystem.m_colorBuffer.data);
free(pWorld->m_particleSystem.m_groupBuffer);
free(pWorld->m_particleSystem.m_userDataBuffer.data);
free(pWorld->m_particleSystem.m_contactBuffer);
free(pWorld->m_particleSystem.m_proxyBuffer);
free(pWorld->m_particleSystem.m_bodyContactBuffer);
All getting memory through ReallocateBuffer(). I don't know if this is a bug in ReallocateBuffer or box2d's own blockAllocator memory allocation system.
Btw, great API!
Thanks
from liquidfun.
This has been fixed in a couple of ways.
Firstly, we modified b2ParticleSystem to explicitly free all allocated memory. In addition, we fixed b2BlockAllocator to free anything it allocates on destruction since large blocks would be leaked.
https://github.com/google/liquidfun/releases/tag/v1.0.0
from liquidfun.
Related Issues (20)
- In the case of free fall movement, the change value of moving distance in the same time interval cannot be greater than 2, that is to say, it will change from free fall movement to uniform linear movement HOT 1
- I cant compile VS17 HOT 1
- Ñnñlln
- Can't build liquidfun on Ubuntu. HOT 1
- 3D?
- Compacting list is a big problem HOT 2
- read
- Is it possible to simulate falling sand with liquidfun
- Unable to build on Debian SID
- How do I build this on windows? HOT 1
- What's happening on this line? HOT 1
- Applying force or impulse to individual particles? HOT 1
- Particles penetrate regular bodies HOT 3
- Maintained version? HOT 1
- b2PolygonShape::ComputeDistance is inaccurate HOT 1
- How can I make LiquidFun work on macOS 11.6.2 and Xcode 13.2.1?
- Software collision monitoring HOT 1
- LiquidFun not Running on Recent Xcode, Android Studio, and Eclipse Versions HOT 2
- CMake can not find X11 and other Threads
- Move Particles
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from liquidfun.