|
![](../images/spacer.gif) |
|
2011/3/21(Mon) 23:23:49|NO.37770
動きがカクカクしてしまいます。
なめらかに動くようにしたいんですが、どうしたら良いですか?
PCは
corei5
GeForceGTS250 を搭載です。
一応スプリクトを載せておきます。
screen 0,1500,800,4,300,100,1300,800
me_maxhp=100
com_maxhp=100
me_hp=100
com_hp=100
//bufferに書きこみ
buffer 1,1500,800
picload"stage1.bmp"
buffer 2,400,50
picload"メーター.bmp"
buffer 3,30,30
picload"HP メーター.bmp"
buffer 4,140,137
picload"キャラ1.bmp"
//黒を透明色にする
gsel 0,1
gmode 2,,,0
*start
redraw 0
pos 0,0
boxf
//ステージコピー
pos 0,0
gsel 0,1
gcopy 1,0,0,1500,800
//HPのメーターのコピー
pos 50,50
gsel 0,1
gzoom me_hp/me_maxhp*400,50,3,0,0,30,30
//上と同じ
pos 800,50
gsel 0,1
gzoom com_hp/com_maxhp*400,50,3,0,0,30,30
//HPのメーターのパーのコピー
pos 50,50
gsel 0,1
gcopy 2,0,0,400,50
//上と同じ
pos 800,50
gsel 0,1
gcopy 2,0,0,400,50
//キャラの描画
pos chara_x,chara_y
gsel 0,1
if leftkey=1:muki=0
if rightkey=1:muki=1
if muki=0:gcopy 4,70,0,70,137
if muki=1:gcopy 4,0,0,70,137
redraw 1
//*****************************************キャラの移動*****************************************************//
//キーの取得
stick key,0
getkey leftkey,37
getkey rightkey,39
//キャラの移動
if leftkey=1:chara_x-=4
if rightkey=1:chara_x+=4
await 2
goto,*start
![](../images/bbs/mark_main.gif)
| |
|
2011/3/22(Tue) 00:03:34|NO.37772
なぜゆえこんなに大きなウィンドウを表示させているのかは知らんが、
どうやらgcopyで大きなサイズのバッファをスクリーンにコピーすると
相当な負荷がかかるようだな。
1行目に#include "d3m.hsp"と書いて、
redraw 1の前にtitle "fps = " + d3getfps()と書いて、FPSを計ってみるといい。
ステージコピーの処理があるのとないのとではうちの環境ではFPSが20ほども違った。
対処法としては、こんなに大きなウィンドウにせずに、
もっと小さいウィンドウにする…などだろうか。
フルスクリーンにしたいのなら他の方法でやればいい。
|
|
2011/3/22(Tue) 08:58:15|NO.37774
repeat
color 255,255,255
boxf
color 0,0,0
pos x, y
mes "●"
x += 3
await 1
redraw 1
redraw 0
loop
このスプリクトでも、かくかくしてしまいます。
パソコンに問題があるんでしょうか?
|
|
2011/3/22(Tue) 11:55:00|NO.37777
先月あった質問と同じ内容なのかな?
それはさておき、何となくですがモニタのリフレッシュレートと
HSPの画像更新タイミングのずれみたいな感じがします(ティアリング問題に近い?)
試しにawaitの値を16以上(リフレッシュレートより表示間隔を遅くする)
にしてみた所、15以下の時よりはカクカクしないような気がします。
なんにしろ、この現象はHSP(というかPC)の仕様だと思うので
そういうものと割り切って使うかDirextXを試してみるのも手かと思います。
|
|
2011/3/22(Tue) 14:10:35|NO.37782
await 20にしてもダメです;;
|
|
2011/3/22(Tue) 14:12:41|NO.37783
あとですけど、カクカクっていうのはキャラクタを動かしたときにぼやける感じがすることを
いっています。
|
|
2011/3/22(Tue) 14:41:01|NO.37785
もしかして描画1回あたりでの●の移動量が大きい、っていうだけの話でしょうか…?
3倍の頻度で移動量を1/3にするとか。
|
|
2011/3/22(Tue) 14:51:49|NO.37786
んー・・・
SYAMさんのいったとおりにやってみましたけど、ダメでした;;
なんかボヤケるんですよね・・・。
はっきりと写したいんですがね。
|
|
2011/3/22(Tue) 14:55:32|NO.37788
ビデオカード無いとぼやけたりしますよね。
|
|
2011/3/22(Tue) 14:57:17|NO.37789
GeForceが入ってます。
グラフィックボードとビデオカードは同じですよね?
|
|
2011/3/22(Tue) 15:06:00|NO.37791
>グラフィックボードとビデオカードは同じですよね?
今の話題だと同じと考えていいでしょう。
・・・液晶モニターの性能の問題だったりしませんか?
液晶モニターは原理上、画面の書き換え自体に時間がかかります。書き換え途中は当然、書き換え前の映像が残像となって重なってくるわけで、ボヤけが生じます。。。
近年のモニターはその時間が非常に短くなってはいますが、0ではないので残像は出ます。
|
|
2011/3/22(Tue) 15:11:21|NO.37793
ディスプレイは2msって書いてありました。
|
|
2011/3/22(Tue) 16:15:27|NO.37798
カクカク→ぼやける ていう表現の食い違いがあるから心配なんだけど・・・
その、ぼやけると言うのは、
残像なのか、アンチエイリアスが掛かっているのか
表現を詳細にしてほしい。
残像なら、ありさんの言うようなボードやモニタの機能かもしれないし、
アンチエイリアスなら解像度の問題になるし・・・。
|
|
2011/3/22(Tue) 16:30:58|NO.37801
残像が残る感じです。
やっぱり、対処法は難しいですかねf^_^;)
|
|
2011/3/22(Tue) 16:58:27|NO.37802
液晶画面の応答速度はとても遅いです。
液晶はCRTの100倍以上遅いです。
ぼやけたりカクカクしたりするのは画面とHSPが原因だと思われます。
|
|
2011/3/22(Tue) 21:13:51|NO.37812
GeForceって書いてましたね、失礼。
スクリーンショット撮ってみれば残像なのかぼやけなのか分かると思いますが
分かったところでだから何だって話ですね。
|
|
2011/3/23(Wed) 00:08:31|NO.37818
確認の為にDirectX使用のスクリプトを作ってみました。
HSPDX版、HGIMG3版共にほぼ同じ動作をするはずです。
(私のPC環境では特別気になるほどの残像は出ませんでした)
; HSPDXサンプル(DirectX7)
#include "hspdx.as"
screen 0, 640, 480
es_ini
es_screen 640, 480, 16, , 0
buffer 1
circle 0,0,16,16
es_buffer 0, 0, $ffffff
gsel 0
*main
es_cls 255, 255, 255
gmode 1, 16, 16
pos x, 0
es_copy 0, 0, 0, 16, 16
x + 3 : x \ 630
es_sync 1
await 0
stick key ; ESCで終了
if key & 128 : es_bye : end
goto *main
ここから別プログラム
; HGIMG3サンプル(DirectX8)
#include "hgimg3.as"
bgscr 0, 640, 480
hgsetreq SYSREQ_DXMODE, 1
hgsetreq SYSREQ_DXWIDTH, 640
hgsetreq SYSREQ_DXHEIGHT, 480
hgini
buffer 1, 64, 64
circle 0, 0, 16, 16
hgsetreq SYSREQ_COLORKEY, $ffffff
settex 16, 16, 0, -1
texid = stat
gsel 0
*main
clscolor $ffffff
hgdraw
gmode 2, 18, 18
pos x, 9
hgrotate texid, 0, 0, 0.0, 16, 16
x + 3 : x \ 630
hgsync 1
await 0
stick key ; ESCで終了
if key & 128 : hgbye : end
goto *main
これらでも同じ症状になるのであればハード依存の問題の可能性が高いので
ソフト的な対処は難しいと思われます。
|
|
2011/3/23(Wed) 06:16:44|NO.37827
白地に黒ってのを別の色を使うことで緩和されるんじゃないの?
液晶モニターで残像を残さないってのは、使ってるモニターが変わるしかないと思う。
|
|