Comments (3)
A good starting point for this would be to profile an application (e.g the
Testbed) to determine which areas are most expensive given a particular
simulation. This would enable you to determine where to focus optimization
efforts.
If you're running on Linux boxes consider using
https://perf.wiki.kernel.org/index.php/Main_Page
If you're using OS X you could profile using XCode Instruments
On Windows there is a huge selection VTune, AMD CodeX, Visual Studio
Profiling Tools etc.
Jason (see the git log) - after profiling - spent a lot of time rewriting
the particle simulation in ARM SIMD which yielded significant gains. An
x86_64 version using intrinsics may be reasonable and maintainable. You
could also try plumbing MathFu https://github.com/google/mathfu in to get
SIMD optimization across the library to see whether that yields a gain.
Cheers,
Stewart
On Tue, Oct 6, 2015 at 12:17 PM, Patrick Drumm [email protected]
wrote:
Hello all,
Similarly to Jim Hye (who posted an issue about a year and a half ago), my
team and I found LiquidFun very intriguing and have selected it as the
subject of our final project. Rather than parallelizing the code however,
we are looking for ways to make LiquidFun run faster or more efficiently
relating to data stuctures. Basically we are looking for anywhere in the
program that might slow up a little bit - where we might be able to
implement an alternative, more efficient sorting algorithm, searching
algorithm, or data structure to store things.We would appreciate any advice as to where in the program these
optimizations might be most useful!Thanks,
Patrick Drumm—
Reply to this email directly or view it on GitHub
#57.
from liquidfun.
Valgrind is also a pretty good tool for this (Unix-ish systems):
http://c.learncodethehardway.org/book/ex41.html . Keep in mind though, the
base of Liquid fun is Box2D. So any performance tuning in the base code
could be contributed back to that project. Maybe you're just talking about
the "Liquid" features though.
On Tue, Oct 6, 2015 at 1:13 PM, Stewart Miles [email protected]
wrote:
A good starting point for this would be to profile an application (e.g the
Testbed) to determine which areas are most expensive given a particular
simulation. This would enable you to determine where to focus optimization
efforts.If you're running on Linux boxes consider using
https://perf.wiki.kernel.org/index.php/Main_Page
If you're using OS X you could profile using XCode Instruments
On Windows there is a huge selection VTune, AMD CodeX, Visual Studio
Profiling Tools etc.Jason (see the git log) - after profiling - spent a lot of time rewriting
the particle simulation in ARM SIMD which yielded significant gains. An
x86_64 version using intrinsics may be reasonable and maintainable. You
could also try plumbing MathFu https://github.com/google/mathfu in to get
SIMD optimization across the library to see whether that yields a gain.Cheers,
StewartOn Tue, Oct 6, 2015 at 12:17 PM, Patrick Drumm [email protected]
wrote:Hello all,
Similarly to Jim Hye (who posted an issue about a year and a half ago),
my
team and I found LiquidFun very intriguing and have selected it as the
subject of our final project. Rather than parallelizing the code however,
we are looking for ways to make LiquidFun run faster or more efficiently
relating to data stuctures. Basically we are looking for anywhere in the
program that might slow up a little bit - where we might be able to
implement an alternative, more efficient sorting algorithm, searching
algorithm, or data structure to store things.We would appreciate any advice as to where in the program these
optimizations might be most useful!Thanks,
Patrick Drumm—
Reply to this email directly or view it on GitHub
#57.—
Reply to this email directly or view it on GitHub
#57 (comment).
from liquidfun.
Obviously, profile what you are about to optimize, but if you're after learning how to optimize, might I (not so) humbly suggest my GDC talk about optimization strategies?
https://www.youtube.com/watch?v=Nsf2_Au6KxU
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.