From 061e4be1f20ac78e3b52bc6429322d5fadcf5831 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Thu, 28 Apr 2005 00:25:05 +0000 Subject: cleaned up a number of patches; renamed all to the standard -help.pd format; added some more ideas to the style guide; finished up lists_vs_anythings svn path=/trunk/; revision=2841 --- doc/pddp/timer-help.pd | 108 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 doc/pddp/timer-help.pd (limited to 'doc/pddp/timer-help.pd') diff --git a/doc/pddp/timer-help.pd b/doc/pddp/timer-help.pd new file mode 100644 index 00000000..5010abaa --- /dev/null +++ b/doc/pddp/timer-help.pd @@ -0,0 +1,108 @@ +#N canvas 11 8 937 643 10; +#X msg 43 113 bang; +#X msg 18 91 bang; +#X obj 18 135 timer; +#X obj 25 15 timer; +#X floatatom 18 157 0 0 0; +#X text 90 159 Output is in milliseconds; +#X text 65 16 -- measure logical time; +#X text 53 91 Click here to start or reset; +#X text 13 44 The [timer] object measures elapsed logical time. Logical +time moves forward as if all computation were instantaneous and as +if all [delay] and [metro] objects were exact.; +#X text 11 185 [timer] works like essentially like a stop-watch. Once +it starts \, you can continue to "poll" the [timer] to view the elapsed +time.; +#X text 81 114 Click here to get elapsed logical time. Click again...and +again...to see periodic measurements from the start or reset time. +; +#X text 10 282 As stated above \, [timer] measures "logical" time. +This value may be slightly different that CPU time or "real" time. +PD offers two objects which measure CPU time and "real" time. See the +reference documents for those objects for more information.; +#X obj 52 545 time_measurements; +#X obj 52 441 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X floatatom 17 572 0 0 0; +#X floatatom 108 585 0 0 0; +#X floatatom 175 573 0 0 0; +#X text 11 358 In the example below \, I've created an abstraction +which will force each of Pd's stop-watches \, [timer] [cputime] and +[realtime] to measure various processes and report the elapsed time. +Click on each [bng] to begin the process and wait for the results. +Notice the discrepancies in the results.; +#X text 15 587 Logical Time; +#X text 173 587 Real Time; +#X text 107 601 CPU Time; +#X obj 67 477 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X text 72 435 1 Measures elapsed time between two "bangs" from a [trigger] +object.; +#X text 87 469 2 Measures the amount of time Pd requires to turn on +DSP and start an oscillator.; +#X obj 445 484 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 445 17 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X text 472 36 WHY THE DISCREPANCIES BETWEEN CLOCKS?; +#X text 475 59 In a fantasy world \, computers could exist somehow +beyond the restrictions of time and digital computation could be performed +in ZERO time. However \, that is not the case. Instead \, every process +within Pd and within your operating system requires at least a few +nanoseconds of your CPU's time.; +#X obj 111 509 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X text 476 144 The [timer] object is like a clock that is not constrained +to the regular laws of physics and the universal space-time continuum. +It reports "time" measurements as only Pd can see them!; +#X text 477 204 The [cputime] object is like a clock that measures +how much time your CPU actually required to carry out your request. +Keep in mind however that your CPU is busy doing many things simoultaneously +\, so even though a process might take 5 minutes to complete \, your +CPU does not pay full attention to that process for the entire 5 minutes. +Instead \, it simply begins the process \, then refers back to that +process from time to time until the it is complete. In other cases +\, your CPU might require a full 5 minutes while Pd might report that +merely a few milliseconds have passed. This type of discrepancy depends +heavily on your computer's hardware and the type of processing it is +performing.; +#X text 478 368 The [realtime] object is as much like your own wrist +watch as Pd can possibly manage. It measures time according to your +operating system's internal clock.; +#N canvas 0 0 454 304 related_objects_from_other_libraries 0; +#X text 27 63 These objects are offered in Pd only if you have downloaded +and properly installed the appropriate library. These objects may or +may not exist in a single library.; +#X text 26 112 The best places to find information about Pd's libraries +is:; +#X text 23 134 www.puredata.org and click on "Downloads" then "Software" +; +#X text 25 149 or; +#X text 25 164 iem.kug.ac.at/pdb/; +#X obj 44 24 t3_timer; +#X text 469 589 This document was updated for Pd version 0.35 test +26 by Dave Sabine as part of a project called pddp proposed by Krzysztof +Czaja to build comprehensive documentation for Pd.; +#X restore 505 476 pd related_objects_from_other_libraries; +#X text 309 580 This document was updated for Pd version 0.35 test +28 by Dave Sabine as part of a project called pddp proposed by Krzysztof +Czaja to build comprehensive documentation for Pd.; +#X text 11 232 The odd aspect about comparing [timer] to a stop-watch +is that a stop-watch can be stopped! [timer] can only be started or +reset. It cannot be stopped.; +#X obj 625 445 metro; +#X text 504 422 RELATED OBJECTS; +#X obj 504 446 cputime; +#X obj 562 445 realtime; +#X text 132 501 3 Measures the amount of time Pd requires count to +three...please wait for approximately 3 seconds.; +#X connect 0 0 2 1; +#X connect 1 0 2 0; +#X connect 2 0 4 0; +#X connect 12 0 14 0; +#X connect 12 1 15 0; +#X connect 12 2 16 0; +#X connect 13 0 12 0; +#X connect 21 0 12 1; +#X connect 25 0 24 0; +#X connect 28 0 12 2; -- cgit v1.2.1