[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[OSASK 599] Re: knimu1.



  こんばんは、川合です。


橋 さんは 2000/05/07 01:19:23 の「[OSASK 594] Re: knimu1.」で書
きました:

>川合>  だって、リリースしてから半日以内で確実にダウンロードしてくれる
>川合>んだもん。今や、テスターとしては鏡のような存在です。
>だってだって、やんないとすねそうなんだもん、川合さん(笑)

  うーん、確かに、せっかく急いでリリースしたのに、何日待っても誰
もなにも言わなかったら、いじけそうだなあ。・・・今は、非常にレス
ポンスが速いので、いじけることはありません。焦ることはあります。

>川合>  結局、knimu1でのマウス表示のアルゴリズムはこんなものです。
>川合>・実際の表示解像度とは無関係に800x600というVRAM構成にする(だか
>川合>  ら、表示が640x480でも、VRAM上は800x600になる・・・ここも640x4
>川合>  80で処理した方がVRAMの未使用領域が増えるんだけど、処理は複雑
>川合>  になる。640x480は主流にならないと思っているのであまり考慮して
>川合>  いない)。
>この場合、800*600が標準になっているけど、さらに大きな解像度を
>サポートするとしたら、当然その解像度でVRAM確保ってことになるのかな?

  もちろん、VRAMは解像度に応じてたくさん確保しないといけないんで
すが、800x600x4bitよりも解像度が高くなったら、VRAMの構成やアクセ
ス方法が変わるのでアルゴリズムは考え直しです。たいてい、解像度が
高いモードにすれば、VRAMの構成がパックドピクセルになるので、描画
速度は上がります。ビデオチップが持っているアクセラレーターが使え
れば、うんと速くなりそうなんですが・・・資料が・・・。

>川合>  この機能を使ってカウントスピードを上げています。これが第3の
>川合>変更点です。
>要するにあのカウンターのスピードアップはずるをしていないんだ、ってことだね。

  そう。疑いたくなるほど速くなっちゃったからね。

>時間管理の厳密なタスクのような場合はどうなるの?問題でない?

  そういう場合は、むしろタイマーシグナルを積極的に使って時間を把
握するのではないでしょうか?

  なんていうか、OSASKはどうにでもできるわけです。knimu0のような
同期性を追い求めたければ、カウントタスクと2スレッドに分ければい
いし、同期が乱れても効率を優先するなら、knimu1(knimu2)のようにす
ればいいわけです。それに、本当に同期が必要な場合は、実行時間比な
どというあいまいなものに頼らずに、タスク間通信によって相互に調整
しながら同期を取ります。OSASKはそういうプログラミングが充分可能
ですし、難しくもありません。

>川合>  また、マウスカーソルと文字表示が重なると重ねあわせ処理を行ない
>川合>ますから、時間がかかります。そのため、タスク時間を余計に消耗する
>川合>ことになり、カウントが遅れます。たとえば、タスク2のカウンタの上
>川合>にマウスカーソルをおけば、タスク3との差が少しずつついていくこと
>川合>でしょう(すぐには分からないので、1分以上待ってみてください)。
>試してみました。結構差が出るね。でもバグ報告にも書いたけど、
>ほっぽっといても差が出てます。
>・・・もしかして私の「ズレ」ってコレのせいかな?

  うーん、そうですか。確かに原理的に差がないわけではありません。
カウンターが非常に速くなってしまったために、わずかな時間差でも結
構カウント値の差として表れやすいのです。・・・でも、それを見極め
られるなんて・・・。よほど長い時間走らせたか、目がいいか・・・。


  それでは。

--
    川合 秀実(KAWAI Hidemi)
川合堂社長 / OSASK計画総指揮 / カーネル開発班
E-mail:kawai !Atmark! imasy.or.jp
Homepage http://www.imasy.or.jp/~kawai/