Archiverse Internet Archive
投稿のみ 投稿と返信
前のページ(最近)
1120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140154
次のページ(過去)
返信[3]
親投稿
おちゃめ ochame_nako
New3DSで動作時はA[0]=A[0]+1は2450ナノ秒、A=A+1は345ナノ秒で配列変数の方が7倍以上遅いですからね。配列変数を減らすことで大幅に高速化が可能でしょう。
0そうだね
プレイ済み
返信[4]
親投稿
おちゃめ ochame_nako
BUTTON(0)をBUTTON(2)に変えてGOTOの前の行にVSYNC 1を挿入すると良い感じになりますよ。
0そうだね
プレイ済み
返信[2]
親投稿
おちゃめ ochame_nako
2月の日数はあふあふさんが書いている通りなのですがそれ以外の月も表示したい月の日数が何日かが分からないと正しく表示できません。 そこで年月を入れたらその月の日数を返すDAY関数を作ってみたので良かったら使ってみてください。 DEF DAY(Y,M) RETURN(M+(M>7))MOD 2+30-(M==2)*2+!(Y MOD 4)-!(Y MOD 100)+!(Y MOD 400) END あとFORMAT$はFORMAT$("%02D%S%02D",A,"/",B)のような一纏めの指定も可能です。
0そうだね
プレイ済み
返信[4]
親投稿
おちゃめ ochame_nako
目標を持つのは上達のためには必要不可欠ですが、趣味でやるならば楽しさを最優先すべきだと私は思います。 自作関数を作って楽しければそれでいいし、RPGを作って楽しければそれでもいいです。 そして、それをお手軽に作れて簡単に公開までできるのがプチコン3号の良いところだと思います。
4そうだね
プレイ済み
返信[17]
親投稿
おちゃめ ochame_nako
サイコロの目と何の目が出ているのかをダイアログで変数を使わずに表示するプログラムです。変数を使わないとすごく面倒ですね。
1そうだね
プレイ済み
返信[5]
親投稿
おちゃめ ochame_nako
これは「比較演算(==や!=など)が省略された形」ですね。 「0か」「0以外か」の2通りのみで判断が可能な場合に限り省略が可能になります。 つまり、IF GSPOIT(X,Y)THEN ~はIF GSPOIT(X,Y)!=0THEN ~から「!=」を省略したものとなります。 GSPOITの場合は少し厄介で、負数も正数も取りうるため、IF GSPOIT(X,Y)>0THEN ~とするとまた意味が変わります。
0そうだね
プレイ済み
返信[16]
親投稿
おちゃめ ochame_nako
RND関数は1回ごとに戻り値が変わるためRND関数の値を元に判定を行う必要があるならば変数に入れないと正常に動作しないけどそうでない場合は変数に入れても入れなくてもどちらでも良いですが値を表示して終わりということはないので変数に入れるというのを考慮しておくべきでしょうね。 最初のりゅうまごさんのコメントで何ら問題はないと私は思います。
3そうだね
プレイ済み
返信[8]
親投稿
おちゃめ ochame_nako
公式の初心者講座はまだこれからといった感じですが、Web上を「プチコン3号入門講座」などの検索ワードで検索すればユーザーが作ったプチコン3号の講座が多数見つかります。 最初は覚えることが多いですが、プログラムは少しずつ覚えていけば誰でも作れるようになるため頑張ってください。
0そうだね
プレイ済み
返信[9]
親投稿
おちゃめ ochame_nako
加算ではなく乗算を見てみるとさらに面白い結果が得られます。 A=B*5・・・約580ナノ秒 A=B*C・・・約500ナノ秒(変数Cの値は5) 普通は変数よりも数値の方が速いですが、プチコン3号では乗算においては一旦変数に入れて計算した方が高速になっています。 しかし、これは乗算が遅いだけなのでC=1/5としてA=B/Cとすればさらに高速(約410ナノ秒)になります。 それならばA=B/0.2ではさらに高速になると思いがちですが、こうするとA=B*Cとほぼ同じ速度まで低下します。(定数の処理は整数より実数の方が明らかに遅いため)
0そうだね
プレイ済み
返信[8]
親投稿
おちゃめ ochame_nako
るかかさんへ 整数型は実質数%しか高速化できませんが実数型の半分のサイズで済むので整数型で問題ない場面で整数型にするのがベターでしょうね。 ナツキさんへ 今後はさらに速度について探求していく予定です。 イカさん、ASAさん、ヨッシーさんへ 上記の速度はあくまでver.3.1.0の結果でしかないですからね。 今後のバージョンアップでもこのままであることは保証はできないです。 ver.3.0.0とver.3.1.0の違いを考えるとver.3.2.0でまた変わる可能性が高いです。
0そうだね
プレイ済み
返信[9]
親投稿
おちゃめ ochame_nako
有効桁数が4桁もないTIMER関数で有効桁数が約16桁になるPSTR$を使う意味があるのかというのはおいといてこの実験は私が他所で書いたコメントを検証しているものだと思われるためそのコメントの真意について書いておきます。 変数と数値だと当然ながら数値の方が速いです。 しかし、乗算を行う場合のみ数値よりも変数の方が速くなっているということです。 というか、「*」が遅すぎです。
0そうだね
プレイ済み
返信[2]
親投稿
おちゃめ ochame_nako
あとナノ秒が何なのかが分からない人もいるかもしれないので書いておくと 1秒=1000ミリ秒 1ミリ秒=1000マイクロ秒 1マイクロ秒=1000ナノ秒となっています つまり、1秒=1000000000ナノ秒です。
0そうだね
プレイ済み
返信[1]
親投稿
おちゃめ ochame_nako
ちなみに計測には私が作ったTIMER関数を使い複数回計測した平均を5ナノ秒単位で丸めて表記しています。(5ナノ秒未満の数字は計測誤差による影響が大きいため) TIMER関数については私の活動を参照してください。
0そうだね
プレイ済み
投稿
おちゃめ ochame_nako
実数型と整数型の速度の違いについて少し調べたことを書いておきます。 A=A・・・約315ナノ秒 A=A+1・・・約345ナノ秒 「+1」の部分が約30ナノ秒 A%=A%・・・約320ナノ秒 A%=A%+1・・・約335ナノ秒 「+1」の部分が約15ナノ秒 この結果からすると2倍くらい整数型の方が速いのですが、見ての通り代入処理が遅いので速度差はわずかです。 つまり、実数型を整数型にすれば速くなるのではなく代入処理を少なくする方が速くなるわけです。 ちなみにINC A、INC A%は約585ナノ秒でした。 なぜかA=A+1よりも遅くなっているけどver.3.0.0では同一の速度でした。
13そうだね
プレイ済み
返信[14]
親投稿
おちゃめ ochame_nako
ver.3.1.0はINC I%よりI%=I%+1の方が速くなってるので一部修正しました。 これにより1万回で166フレームから157フレームへと高速化しました。このアルゴリズムではこれがほぼ最速ですが別のアルゴリズムではこの2倍くらいの速さのものが発表されているのでCFILLの速度面のアドバンテージはなくなりましたが。 まぁGRPに拘らないならば昨晩私が発表したSPCIRCLEは高速化したCFILLのさらに27倍といった超高速で表示可能です。
0そうだね
プレイ済み
返信[7]
親投稿
おちゃめ ochame_nako
あとINC A%よりA%=A%+1の方が速いのも不可解な点です。 これはver.3.0.0ではほぼ同じ速度だったです。
1そうだね
プレイ済み
返信[6]
親投稿
おちゃめ ochame_nako
整数型と実数型の速度差があまりないのは一番のボトルネックになっているのが代入処理なので速度差が目立たないだけでしょうね。 あとプチコン3号で不可解な点といえばA=B*5という処理よりもあらかじめC=5としておいてA=B*Cとした方が速いということです。つまり、定数で表記するよりも一見無意味でも変数に入れておいた方が速いということです。
2そうだね
プレイ済み
返信[3]
親投稿
おちゃめ ochame_nako
このSPCIRCLEの公開キーは【 4R3DR4FD 】です。近日中に今まで公開した自作関数をすべて入れたプロジェクトフォルダを公開予定なのでこの公開キーは数日で削除する可能性があります。
0そうだね
プレイ済み
返信[14]
親投稿
おちゃめ ochame_nako
リンクを貼るのはMiiverseの規約でできませんが、「プチコン3号入門講座」でネット検索すれば何か見つかるかもしれませんね。
0そうだね
プレイ済み
返信[2]
親投稿
おちゃめ ochame_nako
原理はあえて説明するまでもないくらい単純で真っ白の円形のスプライトを拡大縮小したり色を付けたりしているだけです。 使用するにはまずSPCICLESETでこのSPCIRCLEで使用するスプライトの管理番号数を設定します(最大512) あとは SPCIRCLE 管理番号,X座標,Y座標,Z座標,横半径,縦横比,描画色 とすればOKです。 見ての通り10万回ループでランダムに表示した場合に60フレーム程度です。 何のためにここまで速く表示させる意味があるのかは疑問ですが、単体でZ座標が設定でき半透明表示もできるためそれなりに意味はあるかもしれません。 ちなみに1ヶ月くらい前にSPTRIも作りましたが全く最適化してない状態で9000ポリゴン/秒くらいの三角形描画速度が出ました。これでもGTRIより遅いのですが、半透明ポリゴンを使いたい人には良いかもしれませんね。
1そうだね
プレイ済み