Comments (4)
A component's Tick() method begins by populating its input bus from its input wires. To insure that these inputs are up-to-date, that component first calls all of its input components' Tick() methods - hence recursively called in all components going backward through the circuit.
A call to Tick() on a component that has already been Tick()ed since its last Reset() is ignored.
This means that regardless of the order of the components in p->components
the circuit will always process from left to right.
from dspatch.
Sorry for the slow reply for the two issues, I was trying to understand your answers according the source code of this project and dspatchables.
Now I think I have a deeper understanding about this project, thank you very much for your quick reply.
I have studied some other DP framework for media processing, such as FFmpeg, gstreamer, flexcore, and in my opinion gst maybe is the most powerful one. But gst has it's drawback, suck as the rarely used glib, so I think is it possible to rewrite a gst-like framework based on cpp? Or I want to know what's the goal or the role model of dspatch?
from dspatch.
DSPatch at its core is just a simple pull system. This has always been the goal of the project, and I don't have any plans to change it.
More generally though, the overarching reason behind why things are done the way they are done here, is simplicity - both in how it is used and how it is implemented. I'm rather proud of the balance this project strikes between being both efficient and maintainable (which leads to better stability and usability too).
from dspatch.
DSPatch at its core is just a simple pull system. This has always been the goal of the project, and I don't have any plans to change it.
got it, thank you again, learned a lot from your design principle
from dspatch.
Related Issues (20)
- sort out git version tags HOT 1
- Crash the program HOT 1
- feature request HOT 3
- [Plugin Load] How do we distinguish between debug and release libraries? HOT 2
- Can a component output be wired to multiple component inputs? HOT 2
- is there a way to define parameters for a component? HOT 5
- spurious auto-ticking when pipeline depth is greater than one but ticking manually HOT 3
- Suggest renaming ReleaseThread() to ReleaseNextThread() HOT 1
- Error when building HOT 2
- Does the project's flow graph support subgraphs? HOT 2
- Async data/event HOT 6
- The Signal.h file is missing, resulting in an error in compiling the Inout project HOT 1
- SocketIn.cpp(26,1): error C2059: syntax error: "}" HOT 1
- aec and agc, Compile Error HOT 2
- Is there any way to get whether the operation of circuit->Tick() is completed? HOT 2
- Is the data structure used in this project DAG? HOT 2
- Why does multithreading get stuck? The program cannot continue to run HOT 7
- Can you add a function interface to save the circuit diagram as a graphviz file format?
- Is it possible to add an exception handling method?
- MoveValue without copy constructor HOT 2
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 dspatch.