HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2014
0728
sumiaHSP起動時にtimeBeginPeriod(1)が実行されることについて24解決


sumia

リンク

2014/7/28(Mon) 01:38:10|NO.63141

過去ログのこの件なんですがRC版になっても特に変わってないようです
結局現状維持ということなんでしょうか
http://hsp.tv/play/pforum.php?mode=pastwch&num=57602

以下のサイトなどを見ると消費電力的にも、問答無用で精度を上げるのは問題があると思うのですが。
http://blogs.msdn.com/b/e7jp/archive/2009/02/01/9387968.aspx
>エネルギー効率の大幅な向上が要求される領域は、デバイス以外にもあります。アプリケーションとサービス ソフトウェアも、電力消費に大きな影響を及ぼす可能性があります。たとえば、timeBeginPeriod API を使用してプラットフォームのタイマーの精度を向上させるアプリケーションについて考えてみましょう。その場合、プラットフォームのタイマー チックの精度が向上し、プロセッサが低消費電力のアイドル モードを効率的に使用できなくなります。1 つのアプリケーションでタイマー精度が 1ms まで向上した状態が保たれると、一般的なノートブック PC の場合は、バッテリの寿命に最大 10% の影響が及ぶことが観察されました。



この記事に返信する


Tetr@pod

リンク

2014/7/28(Mon) 01:59:58|NO.63142

普通はタイマーの精度なんて誰も気にしませんから、ゲーム用言語としては
精度を上げといたほうがいいのかもしれませんけど、たしかに気になりますね。
(今は知りませんがGoogle Chromeもタイマーの精度上げてましたし。)

現在出来る対策はHSPランタイムのソースコードをいじるかuserdef.asに

#uselib "Winmm.dll" #func __timeEndPeriod "timeEndPeriod" int __timeEndPeriod 1
って感じのソースコードを追加するかしかありませんね。

今後start.axのbootoptionあたりにでも設定を追加してくださればいいなと思います。
#packopt prectimer 0
みたいな感じに指定して。



おにたま(管理人)

リンク

2014/7/31(Thu) 22:20:52|NO.63250

>sumia さん

ご指摘ありがとうございます。
タイマー精度の問題については、Tetr@podさんが書かれているように
起動時オプションとして別途設定できるよう進めていますが、
大きな変更となるため、今後のβ版にて実験をしていきたいと考えています。
また、現在新しいHSPのバグトラッキングシステムを準備していますので、
この項目はそちらで今後取り扱っていく予定です。



sumia

リンク

2014/8/3(Sun) 07:20:46|NO.63343

今後対応してもらえるということで安心しました。

ただ、私が一番問題だと思うのはこういうグローバルに影響を与える設定変更を起動時に行っていることについてのアナウンスが全然ないことだと思います。
これだとHSPプログラマが全然自覚なしに、そういった影響を与えるプログラムを作って配布することになります。
プログラマは自分が作って配布するプログラムがグローバルな設定変更を行っているならちゃんと認識しておくべきだと思います。

ここまでの書き方だと誤解されそうなので言いますが、タイマーの精度を上げること自体は悪いことだとは思っていません。
ゲーム等ではタイマーの精度を上げるのは当たり前でしょうから、Tetr@podさんの言われるようにHSPをゲーム用言語として考えると起動時にタイマーの精度を上げるのは自然な考えなのは理解できます。



八神太一

リンク

2014/8/3(Sun) 15:17:14|NO.63349

こういう無駄な事で容量増えるのはやだなー



ONION software Copyright 1997-2021(c) All rights reserved.