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


HSPTV!掲示板


未解決 解決 停止 削除要請

2017
0101
てん画像の連続ロード7解決


てん

リンク

2017/1/1(Sun) 12:24:01|NO.77789

いつもお世話になります。

画像の連続表示でアニメーションする場合、
どのような方法が好ましいでしょうか。

一般的には画像ロードを繰り返すのは良くないといった話を
聞いた気がするのですが、例えば、以下のようなプログラムで
\p1フォルダ内の001.png〜040.pngを連続表示させるのは
HDDやPCにとって高負荷(=寿命が縮む)となったりするのでしょうか?
(何が問題となるのかもいまいちよくわからないです。負荷?速度?)

screen 0,320,240
repeat 1000
n+=1
if picno>40 :picno=1
celload "p1\\"+ strf("%03d", n)+".png",1
pos 0, 0 : celput 1
redraw 1:await 16:redraw 0
loop

320x240を40枚程度ならバッファに展開しておくのが
ベターなのかもしれませんね、、リアルタイムアクションじゃなければ
気にしなくてもいいのかな…この辺はメモリとの相談になるのでしょうか
さじ加減みたいなのがありましたらご教示頂けると幸いです。

教えて欲しいのは、連続表示の何が問題かと言うことと、
皆さまならどうされるかと言った点です。
出来れば動画ファイルにして再生するというのは無しで…m(__)m
新年早々すみません、よろしくお願い致します。



この記事に返信する


てん

リンク

2017/1/1(Sun) 12:30:07|NO.77790

スクリプト3行目修正、スミマセン(n→picno)。



スペース

リンク

2017/1/1(Sun) 13:25:28|NO.77792

>>320x240を40枚程度ならバッファに展開がベター
同感です。

問題は1920x1080ぐらいのHD・フルHDの場合ですが、
あまりに数が多い場合・解像度が大きい場合はメモリストリーム機能を使うなどはどうでしょうか?
ファイルをメモリに読み込んでおいて、必要な時picloadでメモリから画像をロードすれば少しはメモリを節約できるかと。
ついでに、bufferに展開するのと違ってpngの場合はαチャンネルにも対応できますね。



Cheesehamburg7273

リンク

2017/1/1(Sun) 22:04:42|NO.77800

最初に画像をバッファにロードしておいて表示するときにgcopyなどでコピーすればいいのでは?



てん

リンク

2017/1/2(Mon) 05:18:19|NO.77804

スペースさま
ご回答ありがとうございます。
なるほどストリームと言う手もHSPにはあるのですね。
扱いはやや難しそうですが…

Cheesehamburg7273さまのご意見も含めて
バッファで進めて、システムがこなれてたらストリームも
視野に入れたいと思います。ありがとうございました。

一旦〆ますが、
単純な画像ロードの繰り返しのリスクについて
ありましたら引き続きご教示頂けますと幸いです。



スペース

リンク

2017/1/2(Mon) 13:41:57|NO.77810

>>単純な画像ロードの繰り返しのリスク
HDDの寿命は書き込みと温度が重要ですが、読み込みに関しては調べましたがよくわかりません。
あまり寿命に影響はないのではないでしょうか。
ですが単純に他のソフトで読み込み速度が低下したりPC全体が重くなると思います。

基本的にそこまで神経質になる必要はなく、
何よりもユーザーが操作した時にストレスを感じないことが重要だと思います。



KA

リンク

2017/1/2(Mon) 16:59:00|NO.77811

その程度のサイズと枚数なら、まず問題には成りません。

問題が有るとすると
1:システムや他のソフトが読み書きしていると遅くなるかも?
2:省電力機能でHDDが止まっていると動き出す。

その前にシステムがキャッシュしてくれるかも?



てん

リンク

2017/1/3(Tue) 03:06:39|NO.77815

スペースさま
追加のご回答ありがとうございます。
HDDの寿命は温度とかの外的要因の方が大きそうですね。
読み込み自体はあまり影響なさそうで安心(?)しました。

KAさまのご意見もあまり気にするなとの事のようなので
速度的に問題が無ければ気にしないことにします。

…とはいっても、素直にバッファに確保が行儀良いですね。。
ご回答ありがとうございました。



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