- - Action.Do method call interval

From: Douglas G. Danforth <"Douglas>
Date: Tue, 19 Jul 2005 23:06:07 -0400

----boundary-LibPST-iamunique-351195142_-_-
Content-type: text/plain

W et al,
Here is what I previously said with regard to HostMenus.idlePeriod (not
exported).
-Doug
(been sick with a nasty flu)

skulski{([at]})nowhere.xy

 > Doug:
 >
 > does this mean that one can simply set idlePeriod to 1 and get 1 ms
 > turnaround time? I cannot investigate timing right now because
 > I am way behind with preparing the experiments we are running
 > at the current timer rate. However, if increasing the speed
 > is as simple as changing one number, that would be great.


You goaded me into trying it! I wasn't sure whether HostMenus was wired
into BlackBox.exe or loaded as a module but anyway I changed the idle

time from 50ms to 1ms recompiled and rebooted BlackBox.
It did change the response and nothing crashed!

The new measured response time was 10ms.

So you can get a factor of 5 but not a factor of 50 speedup.

-Doug




Wojtek Skulski wrote:
> Hi:
>
> there was an active discussion of this topic not long ago.
> Doug Danforth posted a subsystem that uses Windows multimedia.
> Getting down to 1 ms is tough. BlackBox is called from the Windows
> event loop that limits the speed to tens of ms. There is a constant
> in HostMenus (if I recall correctly). When you edit this, you can get
> down to about 10 ms. Getting below 10 ms requires the multimedia timer,
> and that is not part of BB. Let's see what Doug says, or e-mail him
> directly.
>
> Meanwhile, look at XYplane. It has the procedure ReadKey that
> just reads the key from the keyboard. You can call it inside the
> computation. Furthermore, since XYplane source is now available
> in BB 1.5 Beta, you can see how to do such things.
>
> W.
>
> On Mon, 11 Jul 2005, Necati Ecevit wrote:
>
>
>>Hello Blackbox users,
>>
>>
>>Action.Do method is normally called at about 50 ms intervals if its body
>>is empty (measured by PrivTestAction module as shown below) in Blackbox
>>1.5. Is it possible to decrease this dead time 1-3 ms?. i.e., I would
>>like it to be called in 1-3 ms intervals.
>>
>>Alternatively, I can use the following technique;
>>I have a long computation in a FOR loop. When the loop starts the
>>framework is locked until it is finished. If I would like to to stop
>>computation by pressing a command or command button how this can be
>>achieved.
>>(In Delphi, there was an Application.ProcessMessages procedure, when
>>this procedure is called in a loop I could use the buttons to exit from
>>the loop, that increases the computation time also)
>>
>>Thanks for help,
>>
>>- Necati
>>
>>(******************)
>>MODULE PrivTestAction;
>>
>>
>> IMPORT Out, Services;
>>
>> TYPE
>> Action = POINTER TO RECORD (Services.Action) END;
>>
>> VAR i: INTEGER;
>>
>> action: Action;
>> actionalive: BOOLEAN;
>> dt0, time: LONGINT;
>>
>> PROCEDURE (a: Action) Do;
>> BEGIN
>> IF actionalive THEN
>> time := Services.Ticks() - dt0;
>> Services.DoLater(action, Services.now);
>> dt0 := Services.Ticks();
>> END;
>> END Do;
>>
>>
>> PROCEDURE Start*;
>> BEGIN
>> actionalive := TRUE;
>> Out.String('Started'); Out.Ln;
>> Services.DoLater(action, Services.now);
>> dt0 := 0;
>> END Start;
>>
>> PROCEDURE Stop*;
>> BEGIN
>> actionalive := FALSE;
>> Out.String('time (ms): '); Out.Int(time, 0); Out.Ln;
>> END Stop;
>>
>>BEGIN
>>
>> NEW(action);
>> actionalive := FALSE;
>>
>>END PrivTestAction.
>>
>>PrivTestAction.Start
>>
>>PrivTestAction.Stop
>>
>>(* time: 50 - 55 ms *)
>>
>>--- BlackBox
>>--- send subject HELP or UNSUBSCRIBE to blackbox{([at]})nowhere.xy
>>
>>

>
>
> --- BlackBox
> --- send subject HELP or UNSUBSCRIBE to blackbox{([at]})nowhere.xy
>
>

--- BlackBox
--- send subject HELP or UNSUBSCRIBE to blackbox{([at]})nowhere.xy



----boundary-LibPST-iamunique-351195142_-_-
Content-type: application/rtf
Content-transfer-encoding: base64
Content-Disposition: attachment; filename="rtf-body.rtf"

e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbXRleHQgXGRlZmYwe1xmb250dGJsDQp7XGYwXGZz
d2lzcyBBcmlhbDt9DQp7XGYxXGZtb2Rlcm4gQ291cmllciBOZXc7fQ0Ke1xmMlxmbmlsXGZjaGFy
c2V0MiBTeW1ib2w7fQ0Ke1xmM1xmbW9kZXJuXGZjaGFyc2V0MCBDb3VyaWVyIE5ldzt9fQ0Ke1xj
b2xvcnRibFxyZWQwXGdyZWVuMFxibHVlMDtccmVkMFxncmVlbjBcYmx1ZTI1NTt9DQpcdWMxXHBh
cmRccGxhaW5cZGVmdGFiMzYwIFxmMFxmczIwIFcgZXQgYWwsXHBhcg0KSGVyZSBpcyB3aGF0IEkg
cHJldmlvdXNseSBzYWlkIHdpdGggcmVnYXJkIHRvIEhvc3RNZW51cy5pZGxlUGVyaW9kIChub3Qg
XHBhcg0KZXhwb3J0ZWQpLlxwYXINCi1Eb3VnXHBhcg0KKGJlZW4gc2ljayB3aXRoIGEgbmFzdHkg
Zmx1KVxwYXINClxwYXINCnNrdWxza2lAcGFzLnJvY2hlc3Rlci5lZHUgd3JvdGU6XHBhcg0KXHBh
cg0KID4gRG91ZzpccGFyDQogPlxwYXINCiA+ICAgZG9lcyB0aGlzIG1lYW4gdGhhdCBvbmUgY2Fu
IHNpbXBseSBzZXQgaWRsZVBlcmlvZCB0byAxIGFuZCBnZXQgMSBtc1xwYXINCiA+IHR1cm5hcm91
bmQgdGltZT8gSSBjYW5ub3QgaW52ZXN0aWdhdGUgdGltaW5nIHJpZ2h0IG5vdyBiZWNhdXNlXHBh
cg0KID4gSSBhbSB3YXkgYmVoaW5kIHdpdGggcHJlcGFyaW5nIHRoZSBleHBlcmltZW50cyB3ZSBh
cmUgcnVubmluZ1xwYXINCiA+IGF0IHRoZSBjdXJyZW50IHRpbWVyIHJhdGUuIEhvd2V2ZXIsIGlm
IGluY3JlYXNpbmcgdGhlIHNwZWVkXHBhcg0KID4gaXMgYXMgc2ltcGxlIGFzIGNoYW5naW5nIG9u
ZSBudW1iZXIsIHRoYXQgd291bGQgYmUgZ3JlYXQuXHBhcg0KXHBhcg0KXHBhcg0KWW91IGdvYWRl
ZCBtZSBpbnRvIHRyeWluZyBpdCEgIEkgd2Fzbid0IHN1cmUgd2hldGhlciBIb3N0TWVudXMgd2Fz
IHdpcmVkIFxwYXINCmludG8gQmxhY2tCb3guZXhlIG9yIGxvYWRlZCBhcyBhIG1vZHVsZSBidXQg
YW55d2F5IEkgY2hhbmdlZCB0aGUgaWRsZSBccGFyDQp0aW1lIGZyb20gNTBtcyB0byAxbXMgcmVj
b21waWxlZCBhbmQgcmVib290ZWQgQmxhY2tCb3guXHBhcg0KSXQgZGlkIGNoYW5nZSB0aGUgcmVz
cG9uc2UgYW5kIG5vdGhpbmcgY3Jhc2hlZCFccGFyDQpccGFyDQpUaGUgbmV3IG1lYXN1cmVkIHJl
c3BvbnNlIHRpbWUgd2FzIDEwbXMuXHBhcg0KXHBhcg0KU28geW91IGNhbiBnZXQgYSBmYWN0b3Ig
b2YgNSBidXQgbm90IGEgZmFjdG9yIG9mIDUwIHNwZWVkdXAuXHBhcg0KXHBhcg0KLURvdWdccGFy
DQpccGFyDQpccGFyDQpccGFyDQpccGFyDQpXb2p0ZWsgU2t1bHNraSB3cm90ZTpccGFyDQo+IEhp
OlxwYXINCj4gXHBhcg0KPiAgIHRoZXJlIHdhcyBhbiBhY3RpdmUgZGlzY3Vzc2lvbiBvZiB0aGlz
IHRvcGljIG5vdCBsb25nIGFnby5ccGFyDQo+IERvdWcgRGFuZm9ydGggcG9zdGVkIGEgc3Vic3lz
dGVtIHRoYXQgdXNlcyBXaW5kb3dzIG11bHRpbWVkaWEuXHBhcg0KPiBHZXR0aW5nIGRvd24gdG8g
MSBtcyBpcyB0b3VnaC4gQmxhY2tCb3ggaXMgY2FsbGVkIGZyb20gdGhlIFdpbmRvd3NccGFyDQo+
IGV2ZW50IGxvb3AgdGhhdCBsaW1pdHMgdGhlIHNwZWVkIHRvIHRlbnMgb2YgbXMuIFRoZXJlIGlz
IGEgY29uc3RhbnRccGFyDQo+IGluIEhvc3RNZW51cyAoaWYgSSByZWNhbGwgY29ycmVjdGx5KS4g
V2hlbiB5b3UgZWRpdCB0aGlzLCB5b3UgY2FuIGdldFxwYXINCj4gZG93biB0byBhYm91dCAxMCBt
cy4gR2V0dGluZyBiZWxvdyAxMCBtcyByZXF1aXJlcyB0aGUgbXVsdGltZWRpYSB0aW1lcixccGFy
DQo+IGFuZCB0aGF0IGlzIG5vdCBwYXJ0IG9mIEJCLiBMZXQncyBzZWUgd2hhdCBEb3VnIHNheXMs
IG9yIGUtbWFpbCBoaW1ccGFyDQo+IGRpcmVjdGx5LlxwYXINCj4gXHBhcg0KPiBNZWFud2hpbGUs
IGxvb2sgYXQgWFlwbGFuZS4gSXQgaGFzIHRoZSBwcm9jZWR1cmUgUmVhZEtleSB0aGF0XHBhcg0K
PiBqdXN0IHJlYWRzIHRoZSBrZXkgZnJvbSB0aGUga2V5Ym9hcmQuIFlvdSBjYW4gY2FsbCBpdCBp
bnNpZGUgdGhlXHBhcg0KPiBjb21wdXRhdGlvbi4gRnVydGhlcm1vcmUsIHNpbmNlIFhZcGxhbmUg
c291cmNlIGlzIG5vdyBhdmFpbGFibGVccGFyDQo+IGluIEJCIDEuNSBCZXRhLCB5b3UgY2FuIHNl
ZSBob3cgdG8gZG8gc3VjaCB0aGluZ3MuXHBhcg0KPiBccGFyDQo+IFcuXHBhcg0KPiBccGFyDQo+
IE9uIE1vbiwgMTEgSnVsIDIwMDUsIE5lY2F0aSBFY2V2aXQgd3JvdGU6XHBhcg0KPiBccGFyDQo+
IFxwYXINCj4+SGVsbG8gQmxhY2tib3ggdXNlcnMsXHBhcg0KPj5ccGFyDQo+PlxwYXINCj4+QWN0
aW9uLkRvIG1ldGhvZCBpcyBub3JtYWxseSBjYWxsZWQgYXQgYWJvdXQgNTAgbXMgaW50ZXJ2YWxz
IGlmIGl0cyBib2R5XHBhcg0KPj5pcyBlbXB0eSAobWVhc3VyZWQgYnkgUHJpdlRlc3RBY3Rpb24g
bW9kdWxlIGFzIHNob3duIGJlbG93KSBpbiBCbGFja2JveFxwYXINCj4+MS41LiBJcyBpdCBwb3Nz
aWJsZSB0byBkZWNyZWFzZSB0aGlzIGRlYWQgdGltZSAxLTMgbXM/LiBpLmUuLCBJIHdvdWxkXHBh
cg0KPj5saWtlIGl0IHRvIGJlIGNhbGxlZCBpbiAxLTMgbXMgaW50ZXJ2YWxzLlxwYXINCj4+XHBh
cg0KPj5BbHRlcm5hdGl2ZWx5LCBJIGNhbiB1c2UgdGhlIGZvbGxvd2luZyB0ZWNobmlxdWU7XHBh
cg0KPj5JIGhhdmUgYSBsb25nIGNvbXB1dGF0aW9uIGluIGEgRk9SIGxvb3AuIFdoZW4gdGhlIGxv
b3Agc3RhcnRzIHRoZVxwYXINCj4+ZnJhbWV3b3JrIGlzIGxvY2tlZCB1bnRpbCBpdCBpcyBmaW5p
c2hlZC4gSWYgSSB3b3VsZCBsaWtlIHRvIHRvIHN0b3BccGFyDQo+PmNvbXB1dGF0aW9uIGJ5IHBy
ZXNzaW5nIGEgY29tbWFuZCBvciBjb21tYW5kIGJ1dHRvbiBob3cgdGhpcyBjYW4gYmVccGFyDQo+
PmFjaGlldmVkLlxwYXINCj4+KEluIERlbHBoaSwgdGhlcmUgd2FzIGFuIEFwcGxpY2F0aW9uLlBy
b2Nlc3NNZXNzYWdlcyBwcm9jZWR1cmUsIHdoZW5ccGFyDQo+PnRoaXMgcHJvY2VkdXJlIGlzIGNh
bGxlZCBpbiBhIGxvb3AgSSBjb3VsZCB1c2UgdGhlIGJ1dHRvbnMgdG8gZXhpdCBmcm9tXHBhcg0K
Pj50aGUgbG9vcCwgdGhhdCBpbmNyZWFzZXMgdGhlIGNvbXB1dGF0aW9uIHRpbWUgYWxzbylccGFy
DQo+PlxwYXINCj4+VGhhbmtzIGZvciBoZWxwLFxwYXINCj4+XHBhcg0KPj4tIE5lY2F0aVxwYXIN
Cj4+XHBhcg0KPj4oKioqKioqKioqKioqKioqKioqKVxwYXINCj4+TU9EVUxFIFByaXZUZXN0QWN0
aW9uO1xwYXINCj4+XHBhcg0KPj5ccGFyDQo+Plx0YWIgSU1QT1JUIE91dCwgU2VydmljZXM7XHBh
cg0KPj5ccGFyDQo+Plx0YWIgVFlQRVxwYXINCj4+XHRhYiBcdGFiIEFjdGlvbiA9IFBPSU5URVIg
VE8gUkVDT1JEIChTZXJ2aWNlcy5BY3Rpb24pIEVORDtccGFyDQo+PlxwYXINCj4+XHRhYiBWQVIg
aTogSU5URUdFUjtccGFyDQo+PlxwYXINCj4+XHRhYiBcdGFiIGFjdGlvbjogQWN0aW9uO1xwYXIN
Cj4+XHRhYiBcdGFiIGFjdGlvbmFsaXZlOiBCT09MRUFOO1xwYXINCj4+XHRhYiBcdGFiIGR0MCwg
dGltZTogTE9OR0lOVDtccGFyDQo+PlxwYXINCj4+XHRhYiBQUk9DRURVUkUgKGE6IEFjdGlvbikg
RG87XHBhcg0KPj5cdGFiIEJFR0lOXHBhcg0KPj5cdGFiIFx0YWIgSUYgYWN0aW9uYWxpdmUgVEhF
TlxwYXINCj4+XHRhYiBcdGFiIFx0YWIgdGltZSA6PSBTZXJ2aWNlcy5UaWNrcygpIC0gZHQwO1xw
YXINCj4+XHRhYiBcdGFiIFx0YWIgU2VydmljZXMuRG9MYXRlcihhY3Rpb24sIFNlcnZpY2VzLm5v
dyk7XHBhcg0KPj5cdGFiIFx0YWIgXHRhYiBkdDAgOj0gU2VydmljZXMuVGlja3MoKTtccGFyDQo+
Plx0YWIgXHRhYiBFTkQ7XHBhcg0KPj5cdGFiIEVORCBEbztccGFyDQo+PlxwYXINCj4+XHBhcg0K
Pj5cdGFiIFBST0NFRFVSRSBTdGFydCo7XHBhcg0KPj5cdGFiIEJFR0lOXHBhcg0KPj5cdGFiIFx0
YWIgYWN0aW9uYWxpdmUgOj0gVFJVRTtccGFyDQo+Plx0YWIgXHRhYiBPdXQuU3RyaW5nKCdTdGFy
dGVkJyk7IE91dC5MbjtccGFyDQo+Plx0YWIgXHRhYiBTZXJ2aWNlcy5Eb0xhdGVyKGFjdGlvbiwg
U2VydmljZXMubm93KTtccGFyDQo+Plx0YWIgXHRhYiBkdDAgOj0gMDtccGFyDQo+Plx0YWIgRU5E
IFN0YXJ0O1xwYXINCj4+XHBhcg0KPj5cdGFiIFBST0NFRFVSRSBTdG9wKjtccGFyDQo+Plx0YWIg
QkVHSU5ccGFyDQo+Plx0YWIgXHRhYiBhY3Rpb25hbGl2ZSA6PSBGQUxTRTtccGFyDQo+Plx0YWIg
XHRhYiBPdXQuU3RyaW5nKCd0aW1lIChtcyk6ICcpOyBPdXQuSW50KHRpbWUsIDApOyBPdXQuTG47
XHBhcg0KPj5cdGFiIEVORCBTdG9wO1xwYXINCj4+XHBhcg0KPj5CRUdJTlxwYXINCj4+XHBhcg0K
Pj5cdGFiIE5FVyhhY3Rpb24pO1xwYXINCj4+XHRhYiBhY3Rpb25hbGl2ZSA6PSBGQUxTRTtccGFy
DQo+PlxwYXINCj4+RU5EIFByaXZUZXN0QWN0aW9uLlxwYXINCj4+XHBhcg0KPj5Qcml2VGVzdEFj
dGlvbi5TdGFydFxwYXINCj4+XHBhcg0KPj5Qcml2VGVzdEFjdGlvbi5TdG9wXHBhcg0KPj5ccGFy
DQo+PigqIHRpbWU6IDUwIC0gNTUgbXMgKilccGFyDQo+PlxwYXINCj4+LS0tIEJsYWNrQm94XHBh
cg0KPj4tLS0gc2VuZCBzdWJqZWN0IEhFTFAgb3IgVU5TVUJTQ1JJQkUgdG8gYmxhY2tib3hAb2Jl
cm9uLmNoXHBhcg0KPj5ccGFyDQo+PlxwYXINCj4gXHBhcg0KPiBccGFyDQo+IC0tLSBCbGFja0Jv
eFxwYXINCj4gLS0tIHNlbmQgc3ViamVjdCBIRUxQIG9yIFVOU1VCU0NSSUJFIHRvIGJsYWNrYm94
QG9iZXJvbi5jaFxwYXINCj4gXHBhcg0KPiBccGFyDQpccGFyDQotLS0gQmxhY2tCb3hccGFyDQot
LS0gc2VuZCBzdWJqZWN0IEhFTFAgb3IgVU5TVUJTQ1JJQkUgdG8gYmxhY2tib3hAb2Jlcm9uLmNo
XHBhcg0KfX0AIHRpbQ==


----boundary-LibPST-iamunique-351195142_-_---
Received on Wed Jul 20 2005 - 05:06:07 UTC

This archive was generated by hypermail 2.3.0 : Thu Sep 26 2013 - 06:28:11 UTC