aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--NOTES.txt18
-rw-r--r--README.txt10
2 files changed, 27 insertions, 1 deletions
diff --git a/NOTES.txt b/NOTES.txt
new file mode 100644
index 0000000..11b9371
--- /dev/null
+++ b/NOTES.txt
@@ -0,0 +1,18 @@
+scratchpad for the development of iemnet
+========================================
+
+speed & syslocks
+================
+one bottleneck right now is the synchronisation with Pd's
+main thread to register a clock callback.
+doing a sys_lock() whenever a package arrives will slow down things immensely.
+
+alternatives:
+ no sys_lock(): will eventually crash Pd (no option)
+ use sys_trylock(): this might eventually fail to notify Pd of newly arrived
+ packets (bad for throughput)
+ external polling: no syslock needed at all, but more complicated
+ keep track of clock_callback: "notified" flag tells us, whether we have already
+ sent a notification which has not yet been handled...no need to notify again
+
+ #4 looks most promising
diff --git a/README.txt b/README.txt
index 94fd106..4c18979 100644
--- a/README.txt
+++ b/README.txt
@@ -43,7 +43,15 @@ the lib doesn't know anything about the actual transport protocol. it only
interacts with a socket.
easy to run:
-think speed
+think speed, think reliability
+all known implementations for pd are either slow or will freeze Pd when under
+_heavy_ load. most do both.
+iemnet wants to provide objects whih allow you to saturate the network
+connection and still keep Pd reactive.
+(sidenote: saturating even a 100MBit network with Pd might lead to audio
+dropouts; this is not necessarily related to the network but rather to the
+amount of data processed by Pd...)
+