プチコン3号 SmileBASIC コミュニティトピックすっとこどっこい suttokodokkoy2016/01/02 03:59:34情報交換3DSのフレームレートプチコン3号のTIME$は、基本的に60フレームごとに秒を改めるのですが、3DSのフレーム数自体が、厳密には60fpsよりも微妙に少ない(59.8fps強)ので、約90秒ごとに「45フレーム」で秒が改まるという謎仕様を持っています。 よって、3DSの1秒あたりのフレーム数は、概算ですが、 (1-0.25/90)*60= 約59.833333… ということになります。2そうだね 7返信プレイ済み2017/11/03 18:27:14に取得
プチコン3号 SmileBASIC コミュニティ返信[1]親投稿MIKI ifconfig2016/1/2 8:09vsync の周期は 0.016715[s] くらいとのこと。(約59.827Hz) ソースはネットで見た、じゃなくて、れいさん。↓ https://miiverse.nintendo.net/replies/AYMHAAACAAADVHkgWMTkxg 周期をどうやって測ったは不明。オシロとかで見たのかな? 90秒ごとに 45フレームの理由は ・vsync 割り込み(CRTC由来?)と time$ (RTC由来) はそもそも同期してない ・time$ の更新が vsync 15 回に一回だけ という仕様による復号技。 2そうだね プレイ済み2017/11/03 18:27:14に取得
プチコン3号 SmileBASIC コミュニティ返信[2]親投稿MIKI ifconfig2016/1/2 8:20あ、一般の水晶発振器は普通に +-10~20ppm(=+-10^-5~20^-5[s]) くらいの誤差があるし、温度特性も悪いので、上記数値は目安ね。 冬など電源入れて温まってくるとどんどん周期がかわったりします。安定した速度を得るには電源投入後 1 時間くらいしてから測定するといいです。 1そうだね プレイ済み2017/11/03 18:27:14に取得
プチコン3号 SmileBASIC コミュニティ返信[3]親投稿おちゃめ ochame_nako2016/1/2 10:43以前、私が計測した時には1秒≒VSYNC 59.835回でした。(3回計測してすべて値が一致) 個体差、計測誤差、環境による違いがあるため小数第3位の信頼性は低いので59.83~59.84程度という感じでしょうね。 したがって、秒単位でしか表示しない時計だからメインループにVSYNC 60を入れると正しく表示されない場合が出てきます。0そうだね プレイ済み2017/11/03 18:27:14に取得
プチコン3号 SmileBASIC コミュニティ返信[4]親投稿すっとこどっこい suttokodokkoy2016/1/2 12:00いやあ、なにせ作ったプログラムが「時報」あってのアプリなので、まさかTIME$にこんな罠が仕掛けられてるとは思いませんでした…0そうだね プレイ済み2017/11/03 18:27:14に取得
プチコン3号 SmileBASIC コミュニティ返信[5]親投稿MIKI ifconfig2016/1/2 12:07あらら、指数間違ってました。 × +-10~20ppm(=+-10^-5~20^-5[s]) ○ +-10~20ppm(=+-10^-6~20^-6[s]) 失礼しました。0そうだね プレイ済み2017/11/03 18:27:14に取得
プチコン3号 SmileBASIC コミュニティ返信[6]親投稿ひろ yf2mn2762016/1/2 17:39VSYNC/WAITでは45f割り込みがあるので若干「60f=1sec」とは言えないかも知れませんね。 MICでの同期をするとしても、いずれPOW(2,x)fpsになってしまいます。 MAINCNTも45fずれるのでしょうか?そうだとすればジャイロに断面差ができて崖のようになると思います。 どうすれば60fpsぴったりになるのでしょうか…?0そうだね プレイ済み2017/11/03 18:27:14に取得
プチコン3号 SmileBASIC コミュニティ返信[7]親投稿れい rei-nntnd2016/1/4 15:10みき氏 10ppmで温度特性がわるい…だと… 測定はtektroのスペクトルアナライザ。 型番は…まぁなんでもいいだろ。 ひろ氏 世界にピッタリの時計なんて無いんだよ1そうだね プレイ済み2017/11/03 18:27:14に取得