sleep()をはずすとクライアント側がCPU負荷が少なくなり、
サーバ側がCPU負荷が高くなります。
はずさないと逆です。
理想は、<body onload="setInterval('aa()',100);">で指定している
時間で実行したいです。sleep()をいれてしまうと5秒後にリロードされてます。
ソースファイルは;
http://maruta-gr.co.jp/test/cpu/bb.html.txt
になります。
ちなみに、startEvent('test','test1','test1','2')の部分は
どんどん追加書きをしていきます。
startEvent('test','test3','test3','2')
startEvent('test','test4','test4','2')
など、特に上限はありません。
①まず、
1秒毎の呼び出しの場合は、
setInterval()で指定する時間は100ではなく1000です。
これは修正したほうがよいです。
ミリ秒=1/1000秒で、
100ミリ秒=0.1秒
1000ミリ秒=1秒
のため。
0.1秒ごとにsleep(100)を呼び出すとクライアントのCPU負荷は
当然高まり、10倍以上の負荷になります。
②また、質問文のソースのsleep関数は、
負荷をかけるループを使った方式になっているので、クライアントの負荷を下げるためには、値を非常に小さくするか、
外したほうがいいです。
サーバ側では特に何か処理をしていますか?
また、marqueeのための処理ということですが、
実際に使うときの記述方法と位置など、
もう少し詳しく情報をください。
Ajax入りのソースを見たのですが、
ディスパッチャの生成時にcallback関数が設定されておらず、
mode=syncになっていますが、
非同期通信ではなく同期通信をするのでしょうか?
サーバからの値の取得・設定をしてdivを書き換えるだけの場合、
callback関数を設定して非同期通信を行うほうがよいような
気がするのですが、、
サーバからの値の取得・設定が終わったタイミングで
ajaxにdivの書き換えを行うcallback関数を呼んでもらう
といったような
非同期通信で行いたいです。
これはどうしたらいいのでしょうか?
サーバー側のPHPファイルでの設定が必要ですか?
もしくは
test1: function() { return this.dispatcher.doCall('test1',arguments); },を
test1: function(callback) { return this.dispatcher.doCall('test1',arguments); },
とかにしたら非同期になるんでしょうか?
サーバー側は、今回サンプルにあげてある
var test2_val = "33";
などの33部分がHTML_AJAXで値を取りにいくように
なっています。
HTML_AJAX部分のソースも書いての
アップをしました。
http://maruta-gr.co.jp/test/cpu/bb2.html.txt
これでもまだaaという文字列は固まりますね。