めもめも ...〆(。_。)
認知心理学・認知神経科学とかいろいろなはなし。 あるいは科学と空想科学の狭間で微睡む。
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
今回は前回の続きです。
「黎明編」と銘打ってはみたものの、これでほんとにあってるのか若干自信のない方法だったりもする。
なのでこれを参考にする人がいる場合はまあ自己責任ということでお願いします。
自己責任編。
前回、Mac OSXにOctaveをいれようとして、ずいぶんな遠回りをしたあげく沈没いたしました。
でも、よくよく考えてみたら、MacPortsなんてインストールのときにしかつかわないんですよ。
なのにあやつがプロクシをぬけられないと苦しんでいる。
わたしの研究計画に一切関係ないくせに。
……理不尽ですよね?
じゃあ奴を使わない方法を探すしかない!
↓
探した
のが今回です。
1)SourceforgeでMac OS Xに適合しているVerのOctaveインストールファイルをダウンロード
http://sourceforge.net/projects/octave/files/Octave%20MacOSX%20Binary/
ちなみにわたしはPsychtoolboxがMacにおいて32bit版しか対応していないと聞いたので、3.2.3をダウンロードしました。
まあそのへんの状況は今後変わっていくと思うので、最新のPsychtoolbox公式とかを確認して、あらかじめ自分のほしいバージョンを決めておくとよいと思います。
2)ダウンロードしてきたファイルを開いてOctaveをインストールする
これでOctaveはインストールできたよ!!!
3)DownloadLegacyPsychtoolbox.mというMファイルを検索して、Octaveから参照できる位置にダウンロードする
これはPsychtoolboxをインストールするためのファイルな
4)Octaveを起動して、(必要ならばカレントディレクトリも変更して
DownloadLegacyPsychtoolbox
と入力して実行
これでOctaveだけじゃなくてちゃんとPsychtoolboxもインストールできたよ!
なんだったんだよあのMacPortsとかいう悪夢と格闘した日々は……
やっぱ手段が目的になっちゃうような状況だめだわ。そんな手段はとっとと代替した方がいいわ。
……まあインストールできた!ってのはひとつの通過点にしか過ぎないわけで、そこからまた悪夢のようなプログラミングとか始まるのかもしれませんが、それはまた別のお話ということで。
とりあえずこの問題はけりがついたものとみなす。
以上。きりーつ。れーい。ちゃくせーき。
「黎明編」と銘打ってはみたものの、これでほんとにあってるのか若干自信のない方法だったりもする。
なのでこれを参考にする人がいる場合はまあ自己責任ということでお願いします。
自己責任編。
前回、Mac OSXにOctaveをいれようとして、ずいぶんな遠回りをしたあげく沈没いたしました。
でも、よくよく考えてみたら、MacPortsなんてインストールのときにしかつかわないんですよ。
なのにあやつがプロクシをぬけられないと苦しんでいる。
わたしの研究計画に一切関係ないくせに。
……理不尽ですよね?
じゃあ奴を使わない方法を探すしかない!
↓
探した
のが今回です。
1)SourceforgeでMac OS Xに適合しているVerのOctaveインストールファイルをダウンロード
http://sourceforge.net/projects/octave/files/Octave%20MacOSX%20Binary/
ちなみにわたしはPsychtoolboxがMacにおいて32bit版しか対応していないと聞いたので、3.2.3をダウンロードしました。
まあそのへんの状況は今後変わっていくと思うので、最新のPsychtoolbox公式とかを確認して、あらかじめ自分のほしいバージョンを決めておくとよいと思います。
2)ダウンロードしてきたファイルを開いてOctaveをインストールする
これでOctaveはインストールできたよ!!!
3)DownloadLegacyPsychtoolbox.mというMファイルを検索して、Octaveから参照できる位置にダウンロードする
これはPsychtoolboxをインストールするためのファイルな
4)Octaveを起動して、(必要ならばカレントディレクトリも変更して
DownloadLegacyPsychtoolbox
と入力して実行
これでOctaveだけじゃなくてちゃんとPsychtoolboxもインストールできたよ!
なんだったんだよあのMacPortsとかいう悪夢と格闘した日々は……
やっぱ手段が目的になっちゃうような状況だめだわ。そんな手段はとっとと代替した方がいいわ。
……まあインストールできた!ってのはひとつの通過点にしか過ぎないわけで、そこからまた悪夢のようなプログラミングとか始まるのかもしれませんが、それはまた別のお話ということで。
とりあえずこの問題はけりがついたものとみなす。
以上。きりーつ。れーい。ちゃくせーき。
いろいろありまして、Mac OS X (Mountain Lion)にOctaveいれてその上にPsychtoolboxを入れてみようということになりました。
……いや本当いろいろあったのよ。
まあおさいふ事情とかいろいろ。
まずは正統派のやり方を紹介しますが、このやり方では特定の環境(どことはいわないけど某大のネットワーク下とか)で成功しないっぽいことが既にわかっています。
とりあえず、一般解を今後のためにおさえておきます。
言っておくけどこれまでのわたしは基本的にWindowsユーザ(某上記では別大にいたときは、UI用意された環境下でLinuxさわったことあるけどさ…あくまで「さわった」だけで「つかった」とはいえばいレベル)。
Macの操作に不慣れすぎて必要以上のストレスにさらされています。
まあ何事も慣れが必要だよね…。
MacでOctaveを導入するためには、まずMacportsというものが必要で、Macportを入れるためにはXcodeというのが必要で、Xcodeを手に入れるためにはApple IDが必要らしい。
道のり遠い…
まあ1こずつやっていこう。
1)Apple IDを作成する
これはもう「Apple ID 作成」とかで検索かけたらすぐにアップルの公式ページが出るのでさくさくっと指示に従って必要な情報を入力してしまおう。
ここだけならどうということはない。ここだけなら。
んでもって、これだけではなんかIDとしてちゃんとつかえないようだ。
なぜかiTunesにつないで、さっき作成したIDでログインする必要がある。
このiTunesにつながなくてはならん(なんか別の方法もあるっぽいんだけど)のと、iTunesのスパムがアカウント登録したメールにきてしまうのが非常にめんどくさい。
第2世代iPodシャッフルが壊れて(何をどうあがいてもPCと同期できなくなった)からiTunesその他を憎むようになってしまったわたしとしてはひっじょーーーーーにめんどくさい。
けどまあ耐える。
ちなみに音楽再生ソフトならiTunesなんかよりもfoobar2000のがよっぽどいい。って完全脱線なので割愛。
とりあえず耐えよう、ということ。
んでiTunesにログインするときわたしがやらかした失敗は、ID名がアカウント名ではないということ。
ID名は登録メールアドレスになるようす。
だったらなぜ名前を登録させるんだよ…
んでもって、初回ログインだと「レビュー」というやつをさせられるのだけれど、これがまたアカウントをもう一度作り直しているんじゃないかというくらいめんどくさい。
でも耐える。ひたすら耐える。
だってまっくゆーざーはひたすらこういうのに耐えて、ようやくスタ○でドヤ顔してMacひらけるようになるんでしょ?
……ス○バでドヤ顔するのにOctaveは入れないと思うけどな……
ちなみにわたしはさんざっぱら紅茶の話をしているのからも推測できるようにあんましコーヒー屋さんいきません。
あ、耐えるついでにクレジットとか聞かれるけど、別に有料ソフトとか購入しないんでそこらへんはスキップしましょう。
実際スキップできるし。
2)Xcodeを導入
さっきの苦行に耐えると、おめでとう、App Storeというものにログインできるようになったよ!
App Storeはソフトウェア(アプリってよばないかんかね)をインストールするところ。
「アプリケーション」というフォルダ、あるいは青いまるに白い道具っぽい何かが描いてあるアイコンをクリックすると立ち上げることができます。
そこで、さっきの苦行で勝ち得たIDを入力すると、いろんなソフトがずらーっと並んでるのを見られるわけですよ。
その中の「開発ツール」というカテゴリを選択し、Xcodeというカナヅチ/ハンマー/ナグリのイラストがアイコンになっているソフトを選択してインストールだ。
あとはApp Storeにとくに用はない。
(OSとかソフトウェアアップデートはだいたいApp Store経由でやるっぽいけど)
このためにスパムに耐えよう!
……まあここまではいいんだ。
3)Macportsを導入
はいここから茨の道になります。
プロクシない環境の場合は、まあさくさくっといけるらしいんですが、大学などがっちりプロクシ組んでる環境下だとここでしくじることも多いようす。
http://ishwt.net/blog/2011/04/05/use-macports-at-inside-of-proxy/
を参考に、まずMacportsをインストールします。
要するに、
http://www.macports.org/
からdmgファイルとかpkgファイルとかいうのを落とせば、これがインストールファイルらしいのでWindowsと同様にインストールできるって寸法。
まあこれはこれでいいんだけどな…
問題はここから。
Macportsはインストールしたあと、一応アップデートを確認しといたほうがいいらしい。
まあそのへんも含めて、Macports全般は「ターミナル」というものでいじります。
この「ターミナル」はWindowsでいうところの「コマンドプロンプト」みたいなもの。
つまり自分で打ち込んで様子をみてやらねばならない。
で、このターミナルの場所もMacはじめてさわるようなやつにはわからなんだのですが、「アプリケーション」下の「ユーティリティ」下にあるようす。
んでもってここに至るショートカットもあるそうで(参照)、フォルダ探し画面(Finderというそうな)でCommandとShiftとUを押せばいいそうな。
3つ押しショートカットあんまし好きじゃない…
それはともかく、ターミナルでは最初が.(ドットね、念のため)で始まるファイルをいらう必要があるので、それを表示するようにするコマンドを入力しておく。
http://nsdev.jp/mac/osx/22.html
を参考に、要するに
defaults write com.apple.finder AppleShowAllFiles TRUE
をターミナル上で入力すればいいようだ。
んでもって、「.profile」というファイルを作成したらよいらしいのだが、これはターミナル上で作成しなくてはならない。
このページを参考に、
open /Applications/TextEdit.app ~/.profile
と打ち込んでやればよいようだ。
これで.profieを編集できるので、こいつを編集してパスを通してやる。
ここのページを参考にパスを打ち込んでやろう。
ちなみにこのにょろ(~)がホームディレクトリ的ななんかだ。
それと
http://www.comphys.las.shibaura-it.ac.jp/SettingMacPortsBehindProxy
を参照してsources.confを編集しよう。
sudo vi /opt/local/etc/macports/sources.conf
を打ち込んで、iをおすと編集できる。
escおして大文字ZZで終了することができる。
……ちなみにこれをするためには、関連ファイル・フォルダにアクセス権がなければならない。
なんとMacでは管理者権限のあるユーザでも、すべてのファイル・フォルダにアクセス権があるわけではないのだ!
…………なんでだよ!!??
なんのための管理者権限なのよ!!???
と思うし実際ツッコミが声に出たけど(防音されてる実験室で作業してたので誰にも迷惑はかけていないさ)、まあ耐えろ。耐えるんだ。
公式ヘルプを見ながら、アクセスしたいフォルダをCtrlを押しながらマウスクリック(Windowsの右クリックに相当)して「情報を見る」というのを選択、プロパティみたいなやつを出して、「所有権とアクセス権」の三角マークをクリックして展開し、鍵マークを外して自分に読み書き権限を付与するんだ。
た・だ・し!!!
/usr
というフォルダのアクセス権はいらってはならない。
これをいらうとなぜかターミナルで入力ができなくなり、ターミナルは一切の操作を受け付けなくなって詰む。(まあアクセス権デフォルトに戻せばどうにかなるんですけど)
ちなみに、個々のファイル・フォルダへのアクセス権とルート権限は別&デフォルトではルート権限を持つユーザは設定されていない状態なので、ルート権限が必要な操作が生じたらルート権限を持つアカウントを作成しなくちゃならんし(ルート権限を作ってしまえば、そこから既存の別アカウントにルート権限を付与することも可能)、そしてたとえルートであろうともどうもアクセス権は個々に設定する必要があるっぽい(要確認)。
まあだいたいこれをがんばったところで、某大のプロクシ環境下を抜けてMacPortsが動くようになるわけでもない。
一応わたしはSubversionを入れようとするところまでは手を出したが、どうもこれどうにもならんのでは?となってこの方法を放棄した。
違う機関に異動して、違うネットワーク環境下で試す分にはいけるかもしれんので一応めもっておく。
……まああれだ。
まっくなんておされでおかねのかかる機械ですたいりっしゅに研究やりたいならOctaveなんてけちくさいこといわずに円盤のついてくるMatlabとか買いなさいってことだ。
それかE-Primeとか。たしかE-PrimeとMacはそこそこ相性よかったはず(E-Prime未経験なので伝聞)。
じゃあもうMacでOctaveをつかうことを完全にあきらめたかというと…
……ところがどっこいそうでもないんだな。
というわけで、次回、黎明編に期待してくだしゃんせ。
(期待させるほどの大した方法ではないことはあらかじめ明かしておきますが)
……いや本当いろいろあったのよ。
まあおさいふ事情とかいろいろ。
まずは正統派のやり方を紹介しますが、このやり方では特定の環境(どことはいわないけど某大のネットワーク下とか)で成功しないっぽいことが既にわかっています。
とりあえず、一般解を今後のためにおさえておきます。
言っておくけどこれまでのわたしは基本的にWindowsユーザ(某上記では別大にいたときは、UI用意された環境下でLinuxさわったことあるけどさ…あくまで「さわった」だけで「つかった」とはいえばいレベル)。
Macの操作に不慣れすぎて必要以上のストレスにさらされています。
まあ何事も慣れが必要だよね…。
MacでOctaveを導入するためには、まずMacportsというものが必要で、Macportを入れるためにはXcodeというのが必要で、Xcodeを手に入れるためにはApple IDが必要らしい。
道のり遠い…
まあ1こずつやっていこう。
1)Apple IDを作成する
これはもう「Apple ID 作成」とかで検索かけたらすぐにアップルの公式ページが出るのでさくさくっと指示に従って必要な情報を入力してしまおう。
ここだけならどうということはない。ここだけなら。
んでもって、これだけではなんかIDとしてちゃんとつかえないようだ。
なぜかiTunesにつないで、さっき作成したIDでログインする必要がある。
このiTunesにつながなくてはならん(なんか別の方法もあるっぽいんだけど)のと、iTunesのスパムがアカウント登録したメールにきてしまうのが非常にめんどくさい。
第2世代iPodシャッフルが壊れて(何をどうあがいてもPCと同期できなくなった)からiTunesその他を憎むようになってしまったわたしとしてはひっじょーーーーーにめんどくさい。
けどまあ耐える。
ちなみに音楽再生ソフトならiTunesなんかよりもfoobar2000のがよっぽどいい。って完全脱線なので割愛。
とりあえず耐えよう、ということ。
んでiTunesにログインするときわたしがやらかした失敗は、ID名がアカウント名ではないということ。
ID名は登録メールアドレスになるようす。
だったらなぜ名前を登録させるんだよ…
んでもって、初回ログインだと「レビュー」というやつをさせられるのだけれど、これがまたアカウントをもう一度作り直しているんじゃないかというくらいめんどくさい。
でも耐える。ひたすら耐える。
だってまっくゆーざーはひたすらこういうのに耐えて、ようやくスタ○でドヤ顔してMacひらけるようになるんでしょ?
……ス○バでドヤ顔するのにOctaveは入れないと思うけどな……
ちなみにわたしはさんざっぱら紅茶の話をしているのからも推測できるようにあんましコーヒー屋さんいきません。
あ、耐えるついでにクレジットとか聞かれるけど、別に有料ソフトとか購入しないんでそこらへんはスキップしましょう。
実際スキップできるし。
2)Xcodeを導入
さっきの苦行に耐えると、おめでとう、App Storeというものにログインできるようになったよ!
App Storeはソフトウェア(アプリってよばないかんかね)をインストールするところ。
「アプリケーション」というフォルダ、あるいは青いまるに白い道具っぽい何かが描いてあるアイコンをクリックすると立ち上げることができます。
そこで、さっきの苦行で勝ち得たIDを入力すると、いろんなソフトがずらーっと並んでるのを見られるわけですよ。
その中の「開発ツール」というカテゴリを選択し、Xcodeというカナヅチ/ハンマー/ナグリのイラストがアイコンになっているソフトを選択してインストールだ。
あとはApp Storeにとくに用はない。
(OSとかソフトウェアアップデートはだいたいApp Store経由でやるっぽいけど)
このためにスパムに耐えよう!
……まあここまではいいんだ。
3)Macportsを導入
はいここから茨の道になります。
プロクシない環境の場合は、まあさくさくっといけるらしいんですが、大学などがっちりプロクシ組んでる環境下だとここでしくじることも多いようす。
http://ishwt.net/blog/2011/04/05/use-macports-at-inside-of-proxy/
を参考に、まずMacportsをインストールします。
要するに、
http://www.macports.org/
からdmgファイルとかpkgファイルとかいうのを落とせば、これがインストールファイルらしいのでWindowsと同様にインストールできるって寸法。
まあこれはこれでいいんだけどな…
問題はここから。
Macportsはインストールしたあと、一応アップデートを確認しといたほうがいいらしい。
まあそのへんも含めて、Macports全般は「ターミナル」というものでいじります。
この「ターミナル」はWindowsでいうところの「コマンドプロンプト」みたいなもの。
つまり自分で打ち込んで様子をみてやらねばならない。
で、このターミナルの場所もMacはじめてさわるようなやつにはわからなんだのですが、「アプリケーション」下の「ユーティリティ」下にあるようす。
んでもってここに至るショートカットもあるそうで(参照)、フォルダ探し画面(Finderというそうな)でCommandとShiftとUを押せばいいそうな。
3つ押しショートカットあんまし好きじゃない…
それはともかく、ターミナルでは最初が.(ドットね、念のため)で始まるファイルをいらう必要があるので、それを表示するようにするコマンドを入力しておく。
http://nsdev.jp/mac/osx/22.html
を参考に、要するに
defaults write com.apple.finder AppleShowAllFiles TRUE
をターミナル上で入力すればいいようだ。
んでもって、「.profile」というファイルを作成したらよいらしいのだが、これはターミナル上で作成しなくてはならない。
このページを参考に、
open /Applications/TextEdit.app ~/.profile
と打ち込んでやればよいようだ。
これで.profieを編集できるので、こいつを編集してパスを通してやる。
ここのページを参考にパスを打ち込んでやろう。
ちなみにこのにょろ(~)がホームディレクトリ的ななんかだ。
それと
http://www.comphys.las.shibaura-it.ac.jp/SettingMacPortsBehindProxy
を参照してsources.confを編集しよう。
sudo vi /opt/local/etc/macports/sources.conf
を打ち込んで、iをおすと編集できる。
escおして大文字ZZで終了することができる。
……ちなみにこれをするためには、関連ファイル・フォルダにアクセス権がなければならない。
なんとMacでは管理者権限のあるユーザでも、すべてのファイル・フォルダにアクセス権があるわけではないのだ!
…………なんでだよ!!??
なんのための管理者権限なのよ!!???
と思うし実際ツッコミが声に出たけど(防音されてる実験室で作業してたので誰にも迷惑はかけていないさ)、まあ耐えろ。耐えるんだ。
公式ヘルプを見ながら、アクセスしたいフォルダをCtrlを押しながらマウスクリック(Windowsの右クリックに相当)して「情報を見る」というのを選択、プロパティみたいなやつを出して、「所有権とアクセス権」の三角マークをクリックして展開し、鍵マークを外して自分に読み書き権限を付与するんだ。
た・だ・し!!!
/usr
というフォルダのアクセス権はいらってはならない。
これをいらうとなぜかターミナルで入力ができなくなり、ターミナルは一切の操作を受け付けなくなって詰む。(まあアクセス権デフォルトに戻せばどうにかなるんですけど)
ちなみに、個々のファイル・フォルダへのアクセス権とルート権限は別&デフォルトではルート権限を持つユーザは設定されていない状態なので、ルート権限が必要な操作が生じたらルート権限を持つアカウントを作成しなくちゃならんし(ルート権限を作ってしまえば、そこから既存の別アカウントにルート権限を付与することも可能)、そしてたとえルートであろうともどうもアクセス権は個々に設定する必要があるっぽい(要確認)。
まあだいたいこれをがんばったところで、某大のプロクシ環境下を抜けてMacPortsが動くようになるわけでもない。
一応わたしはSubversionを入れようとするところまでは手を出したが、どうもこれどうにもならんのでは?となってこの方法を放棄した。
違う機関に異動して、違うネットワーク環境下で試す分にはいけるかもしれんので一応めもっておく。
……まああれだ。
まっくなんておされでおかねのかかる機械ですたいりっしゅに研究やりたいならOctaveなんてけちくさいこといわずに円盤のついてくるMatlabとか買いなさいってことだ。
それかE-Primeとか。たしかE-PrimeとMacはそこそこ相性よかったはず(E-Prime未経験なので伝聞)。
じゃあもうMacでOctaveをつかうことを完全にあきらめたかというと…
……ところがどっこいそうでもないんだな。
というわけで、次回、黎明編に期待してくだしゃんせ。
(期待させるほどの大した方法ではないことはあらかじめ明かしておきますが)
ここのところPsychtoolboxのScreenについてずっと苦戦していたのだけど、その理由と解決方法がわかったのでめも。
ScreenはPsychtoolboxで何か描画するときにつかうので、たいへん便利&必須なのだけど、こいつが動かないのであった。
最初はScreenの引数が何を指しているのかを確認するだけで手いっぱいだったので、自分がへんな書き方したのだと思っていたのだけども、Psychtoolboxを紹介しているサイトのプログラム(これとか)をべた書きしてもエラーを吐くので、もうちょっと丹念にエラーを読んでみた。
…ちうか最初っからエラーをチェックしろって話ですが、最初はフルスクリーンで描画していたのですよ。
フルスクリーン描画→かたまる→終了コマンド受け付けぬ→詰む→強制終了、というコース。
これだとエラー何言ってるのか読めないのですな。
ScreenつくるときはScreen('OpenWindow'…ってやつから始めるのですが、こいつはデフォルトがフルスクリーンなんですよ。
でふぉのままはじめちゃうといかんですな。
ちゃんと大きさ指定して小さいウィンドウで確認してから試さねばならぬ。
んでエラーメッセージを見てみると、どうも「vertical retrace (VBL) is not working」とかなんとかで、Psychtoolboxと画面の描画の同期がうまくとれてないとかなんとかそういう話らしい。
help SyncTrouble
でヘルプを読んでみろ、とかいうし。
まあ内容はここからでも読めるんですけど。
これはスペックの低いPCだとよくおこるエラーらしくって、
Screen('Preference', 'SkipSyncTests', 1)
で同期チェックをすっとばすことも可能なんだそうですが、これやるとプログラム内のイベントの時間の正確さは担保されないらしい。
おおらかな実験、デモ、とりあえずの確認ならばいいけど反応時間をとる場合は鬼門ですな。
しかし、そんなにスペック優良というわけではないけども一応OpenGL対応のPCつかってるのにスペック原因でエラーになるものだろうか?
という疑問がわいてきて、ちょっとじっくりヘルプを検討してみることにした。
んでヘルプにはいくつか解決策が提案されているんですが、英語でぼんやりとしか書いてないのでちょっと戸惑う。
あとマルチディスプレイの場合起こりやすいエラーみたいですけどわたしは別にマルチディスプレイしてないのでそこの部分は関係ない。
とりあえずやってみた対策(とその方法)としては
1)グラフィックドライバの更新
コントロールパネル→デスクトップのカスタマイズ→ディスプレイを選択
↓
画面の解像度、で出てくるウィンドウの真ん中あたりにある「詳細設定」をクリック
↓
アダプターのタブの「アダプターの種類」ってところの「プロパティ」ボタンをおす
↓
そしたら当該のグラフィックデバイスのプロパティのウィンドウが出てくるから、「ドライバー」のタブを選択
↓
「ドライバーの更新」ぼたんをぽちる。
今の環境はWindows7なので他OSだとコントロールパネルからの名称がちょっと違ったかも。まあでもだいたい雰囲気いっしょのやつを選べばだいたいいける(なんというふわふわした解説)。
2)vertical retrace (VBL)を設定する
これは日本語だと垂直リフレッシュとか垂直同期とかいうらしい。
よくわかってないけど、いわゆるリフレッシュレートにあわせて画面を描画するとかなんとか。
そのへんのことはPythonで心理実験解説サイトのこのページにくわしい。ちゃんと知りたい人は読もう。
まあエラーで指示されてたのはこのへんだろうと目星をつけたというわけです。
これの設定のしかたはどの会社のグラフィックカードをつかってるかによって変わってくる。
まあ一口で言ってしまうと、どの会社だろうと専用のコントロールパネルがあるのでそれで設定しろ、ということになるのだけれど。
ノートPCに多いIntel系だと、インテルHDグラフィックスコントロールパネルとかいうとこで設定できるそうな。
公式に案内があるからそれを読むべし。
あ、注意しないといけないのは、インテルでは垂直同期は「非同期反転」という項目になってるからいじるのはそこな。
NVIDIA系だと、NVIDIAコントロールパネルの3D管理で垂直同期の設定ができるそうな。
わたしのつかってるPCはRadeon系なのですが、Radeon系はコントロールパネルっていうかソフトウェアっぽいかんじ。
あれコントロールパネルもソフトか…?
いやまあとりあえずそのへんはおいといて、コントロールパネルみたいな「設定」から呼び出すというよりも、「すべてのプログラム」から呼び出すという点でよりソフトっぽい。
んでもってこのへんの設定、PCでゲームする人たちはちょくちょくいじるところのようで、ゲーマーの解説が一番わかりやすかった。
わたしが見たのはここ。
…ちょっと世界が違いすぎて気恥ずかしいけどまあいいや。
以前?は「Catalyst Control Center」とかいうソフトがはいってるっぽいけどわたしのは違った。
AMD Vision Engine Control Centerというらしい。
公式によるとCatalystを統合してるっぽいからまあだいたいいっしょだろう。
ぱっと調べたとこUIもだいたいいっしょっぽいし。
んでControl Center起動するのはいいんだけど、デフォルトのままだとなんと垂直同期云々にはたどり着けない。
なのでまず右の「設定」というところ(下図参照)をくりっくして、「詳細表示」にチェックをいれて画面を詳細設定用に切り替える。
そしたら左にいっぱい項目がでるので、「ゲーム」の項目を選択し、3Dアプリケーション設定をクリック。
(描画設定いらうのゲームだけじゃないだろ…)
んで「フレームレートコントロール」の「垂直リフレッシュを待機する」を「常にオン」にしておく。
ついでに「オープンGLトリプルバッファリング」も「オフ」になってるか確認。なってなかったらオフ。
3)なんかエラーがDWMを無効化しろって言ってたからする
DWMはようわからんけどどうもDesktop Windows Manegerというものではないかとあたりをつける。
コントロールパネル→システムとメンテナンス→システム→システムの詳細設定を選択
↓
詳細設定タブの「パフォーマンス」の項目の「設定」ボタンをクリック
↓
視覚効果のタブで、デザインとパフォーマンスに使う設定を「カスタム」選んで、「デスクトップ コンポジションを有効にする」のチェックを外す。
ついでに「これいらんやろ」と思った視覚効果も外しておけばいい。
まあにぎやかしにあってもいい。
そのへんは趣味の問題。
これに関して参考にしたのはhpのページ。
まあこれVistaについての説明なんですけど。
コントロールパネルからのたどり方以外はだいたいいっしょ。
このへんの設定をして、念のために再起動してからScreenつかうやつをはしらせてみたら今のところエラーをはかなくなった。
めでたしめでたし。
あ、でも長時間PCつかってるとエラーでるかもよ(そんときは再起動してね)ってヘルプが言ってたし、これで完全に対応できたかどうかはぶっちゃけようわからん。
まあエラーが出ないならいいとしよう。
とりあえず描画ができるようになったのでよかった。
(志低いな、というツッコミは自動で却下されました)
ScreenはPsychtoolboxで何か描画するときにつかうので、たいへん便利&必須なのだけど、こいつが動かないのであった。
最初はScreenの引数が何を指しているのかを確認するだけで手いっぱいだったので、自分がへんな書き方したのだと思っていたのだけども、Psychtoolboxを紹介しているサイトのプログラム(これとか)をべた書きしてもエラーを吐くので、もうちょっと丹念にエラーを読んでみた。
…ちうか最初っからエラーをチェックしろって話ですが、最初はフルスクリーンで描画していたのですよ。
フルスクリーン描画→かたまる→終了コマンド受け付けぬ→詰む→強制終了、というコース。
これだとエラー何言ってるのか読めないのですな。
ScreenつくるときはScreen('OpenWindow'…ってやつから始めるのですが、こいつはデフォルトがフルスクリーンなんですよ。
でふぉのままはじめちゃうといかんですな。
ちゃんと大きさ指定して小さいウィンドウで確認してから試さねばならぬ。
んでエラーメッセージを見てみると、どうも「vertical retrace (VBL) is not working」とかなんとかで、Psychtoolboxと画面の描画の同期がうまくとれてないとかなんとかそういう話らしい。
help SyncTrouble
でヘルプを読んでみろ、とかいうし。
まあ内容はここからでも読めるんですけど。
これはスペックの低いPCだとよくおこるエラーらしくって、
Screen('Preference', 'SkipSyncTests', 1)
で同期チェックをすっとばすことも可能なんだそうですが、これやるとプログラム内のイベントの時間の正確さは担保されないらしい。
おおらかな実験、デモ、とりあえずの確認ならばいいけど反応時間をとる場合は鬼門ですな。
しかし、そんなにスペック優良というわけではないけども一応OpenGL対応のPCつかってるのにスペック原因でエラーになるものだろうか?
という疑問がわいてきて、ちょっとじっくりヘルプを検討してみることにした。
んでヘルプにはいくつか解決策が提案されているんですが、英語でぼんやりとしか書いてないのでちょっと戸惑う。
あとマルチディスプレイの場合起こりやすいエラーみたいですけどわたしは別にマルチディスプレイしてないのでそこの部分は関係ない。
とりあえずやってみた対策(とその方法)としては
1)グラフィックドライバの更新
コントロールパネル→デスクトップのカスタマイズ→ディスプレイを選択
↓
画面の解像度、で出てくるウィンドウの真ん中あたりにある「詳細設定」をクリック
↓
アダプターのタブの「アダプターの種類」ってところの「プロパティ」ボタンをおす
↓
そしたら当該のグラフィックデバイスのプロパティのウィンドウが出てくるから、「ドライバー」のタブを選択
↓
「ドライバーの更新」ぼたんをぽちる。
今の環境はWindows7なので他OSだとコントロールパネルからの名称がちょっと違ったかも。まあでもだいたい雰囲気いっしょのやつを選べばだいたいいける(なんというふわふわした解説)。
2)vertical retrace (VBL)を設定する
これは日本語だと垂直リフレッシュとか垂直同期とかいうらしい。
よくわかってないけど、いわゆるリフレッシュレートにあわせて画面を描画するとかなんとか。
そのへんのことはPythonで心理実験解説サイトのこのページにくわしい。ちゃんと知りたい人は読もう。
まあエラーで指示されてたのはこのへんだろうと目星をつけたというわけです。
これの設定のしかたはどの会社のグラフィックカードをつかってるかによって変わってくる。
まあ一口で言ってしまうと、どの会社だろうと専用のコントロールパネルがあるのでそれで設定しろ、ということになるのだけれど。
ノートPCに多いIntel系だと、インテルHDグラフィックスコントロールパネルとかいうとこで設定できるそうな。
公式に案内があるからそれを読むべし。
あ、注意しないといけないのは、インテルでは垂直同期は「非同期反転」という項目になってるからいじるのはそこな。
NVIDIA系だと、NVIDIAコントロールパネルの3D管理で垂直同期の設定ができるそうな。
わたしのつかってるPCはRadeon系なのですが、Radeon系はコントロールパネルっていうかソフトウェアっぽいかんじ。
あれコントロールパネルもソフトか…?
いやまあとりあえずそのへんはおいといて、コントロールパネルみたいな「設定」から呼び出すというよりも、「すべてのプログラム」から呼び出すという点でよりソフトっぽい。
んでもってこのへんの設定、PCでゲームする人たちはちょくちょくいじるところのようで、ゲーマーの解説が一番わかりやすかった。
わたしが見たのはここ。
…ちょっと世界が違いすぎて気恥ずかしいけどまあいいや。
以前?は「Catalyst Control Center」とかいうソフトがはいってるっぽいけどわたしのは違った。
AMD Vision Engine Control Centerというらしい。
公式によるとCatalystを統合してるっぽいからまあだいたいいっしょだろう。
ぱっと調べたとこUIもだいたいいっしょっぽいし。
んでControl Center起動するのはいいんだけど、デフォルトのままだとなんと垂直同期云々にはたどり着けない。
なのでまず右の「設定」というところ(下図参照)をくりっくして、「詳細表示」にチェックをいれて画面を詳細設定用に切り替える。
そしたら左にいっぱい項目がでるので、「ゲーム」の項目を選択し、3Dアプリケーション設定をクリック。
(描画設定いらうのゲームだけじゃないだろ…)
んで「フレームレートコントロール」の「垂直リフレッシュを待機する」を「常にオン」にしておく。
ついでに「オープンGLトリプルバッファリング」も「オフ」になってるか確認。なってなかったらオフ。
3)なんかエラーがDWMを無効化しろって言ってたからする
DWMはようわからんけどどうもDesktop Windows Manegerというものではないかとあたりをつける。
コントロールパネル→システムとメンテナンス→システム→システムの詳細設定を選択
↓
詳細設定タブの「パフォーマンス」の項目の「設定」ボタンをクリック
↓
視覚効果のタブで、デザインとパフォーマンスに使う設定を「カスタム」選んで、「デスクトップ コンポジションを有効にする」のチェックを外す。
ついでに「これいらんやろ」と思った視覚効果も外しておけばいい。
まあにぎやかしにあってもいい。
そのへんは趣味の問題。
これに関して参考にしたのはhpのページ。
まあこれVistaについての説明なんですけど。
コントロールパネルからのたどり方以外はだいたいいっしょ。
このへんの設定をして、念のために再起動してからScreenつかうやつをはしらせてみたら今のところエラーをはかなくなった。
めでたしめでたし。
あ、でも長時間PCつかってるとエラーでるかもよ(そんときは再起動してね)ってヘルプが言ってたし、これで完全に対応できたかどうかはぶっちゃけようわからん。
まあエラーが出ないならいいとしよう。
とりあえず描画ができるようになったのでよかった。
(志低いな、というツッコミは自動で却下されました)
Octaveを見よう見まねでこねくりまわす日々ですが、なんか相対参照がうまくいかなくてファイルが読み込めないことに気付いた。
なんだこれどういうことだ?と思って調べてみたら、そういうバグらしい。
修正のしかたを書いてあるページを見つけた(ここ)ので、その方法をめもっておく。
Octaveのfile_in_pathというMファイルを修正すればいいらしい。
これは上記のページにあるとおりC:\Octave\3.2.4_gcc-4.4.0\share\octave\packages\oct2mat-1.0.7のフォルダ内にあった。まあだいたいみんなそんなかんじのフォルダにあるんじゃないかな。
んで、上記のページに従ってMファイルを開いて(Notepad++も、日本語つかわなければけっこうべんり)、中身を以下のように変えればよい。
function name=file_in_path(p,file)
idx=[1 findstr(p,pathsep) length(p)+1];
for i=1:length(idx)-1
if idx(i+1)-idx(i)<=1
dir=strcat(pwd,"/");
else
dir=p(idx(i)+1:idx(i+1)-1);
end
name = fullfile(dir, file);
fid = fopen(name,"r");
if fid >= 0
fclose(fid);
return
end
end
fid = fopen(file,"r");
if fid >= 0,
fclose(fid);
name=file;
return
end
name=[];
これの赤文字部分がつけたし(一部変更)部分。
これ変更して上書き保存してからOctaveつかうと、ちゃんとファイルを読み込めるようになった。
めでたしめでたし。
しかしわたしのプログラムいじりの勉強ってなかなか進まないな…
いやまあわたしのものわかりがよろしくないだけなんだけどもどかしい。
それと、どこまで「できる」ようになったら「習熟した」といえるのだろうか?
何も見ないで、そらで書けるようになったら?
プログラムに関しては、勉強して忘れを繰り返しているので、いつも何か作業するときはネットで検索しながら作るというていたらくのわたしは「習熟」にいたらないかもしれないという恐れがある。
新規プロジェクトごとにカレントディレクトリの変更からぐぐりはじめるしょぼさをなんとかしたい。
…って全部このめもに書いておけばいいよね!
ネット環境なしでプログラム書けってなったら詰むなあ。
その場合に備えて、ちゃんと紙媒体の備忘録を用意すべきだろうか。
まあそんとき対処すればいいか。
なんだこれどういうことだ?と思って調べてみたら、そういうバグらしい。
修正のしかたを書いてあるページを見つけた(ここ)ので、その方法をめもっておく。
Octaveのfile_in_pathというMファイルを修正すればいいらしい。
これは上記のページにあるとおりC:\Octave\3.2.4_gcc-4.4.0\share\octave\packages\oct2mat-1.0.7のフォルダ内にあった。まあだいたいみんなそんなかんじのフォルダにあるんじゃないかな。
んで、上記のページに従ってMファイルを開いて(Notepad++も、日本語つかわなければけっこうべんり)、中身を以下のように変えればよい。
function name=file_in_path(p,file)
idx=[1 findstr(p,pathsep) length(p)+1];
for i=1:length(idx)-1
if idx(i+1)-idx(i)<=1
dir=strcat(pwd,"/");
else
dir=p(idx(i)+1:idx(i+1)-1);
end
name = fullfile(dir, file);
fid = fopen(name,"r");
if fid >= 0
fclose(fid);
return
end
end
fid = fopen(file,"r");
if fid >= 0,
fclose(fid);
name=file;
return
end
name=[];
これの赤文字部分がつけたし(一部変更)部分。
これ変更して上書き保存してからOctaveつかうと、ちゃんとファイルを読み込めるようになった。
めでたしめでたし。
しかしわたしのプログラムいじりの勉強ってなかなか進まないな…
いやまあわたしのものわかりがよろしくないだけなんだけどもどかしい。
それと、どこまで「できる」ようになったら「習熟した」といえるのだろうか?
何も見ないで、そらで書けるようになったら?
プログラムに関しては、勉強して忘れを繰り返しているので、いつも何か作業するときはネットで検索しながら作るというていたらくのわたしは「習熟」にいたらないかもしれないという恐れがある。
新規プロジェクトごとにカレントディレクトリの変更からぐぐりはじめるしょぼさをなんとかしたい。
…って全部このめもに書いておけばいいよね!
ネット環境なしでプログラム書けってなったら詰むなあ。
その場合に備えて、ちゃんと紙媒体の備忘録を用意すべきだろうか。
まあそんとき対処すればいいか。
以前のめもで同期を導入したMendeleyについて。
Mendeleyはいろいろ便利だけど、文献情報をきちんとひろってくれないことも多い。
JEP、QJEP、Psychonimic社の、Journal of Vision、JNSあたりに情報の不具合が多い。
って主力ほとんどやんけー!
なのでちまちまMendeleyで手直ししてたのですが、Mendeley上の情報は文献とは違うところ(Mendeley Desktop用フォルダ)に保存されることを思い出した。
つまりせっかくCopyで同期したのに、同期先PCでは手直ししたMendeley情報が反映されないのだ。
何それがっくり。
Mendeley Desktopのフォルダは動かせないっぽいし、SugarSyncは同期するフォルダを選べたけどCopyやほかのファイル同期ソフトでは同期できるフォルダはソフト用フォルダだけっぽい。
あっれーじゃあ詰みか?と思ったけど、PC側の設定をいらうことで対処できるようす。
このブログを参考に、「シンボリックリンク」なるものを作成すればよいのだー。
Mendeley Desktop用のフォルダをCopyフォルダにもってきて、このフォルダどおしにシンボリックリンクをつけてやればよかろう。
ちなみにわたしのPCではMendeley Desktopのフォルダは、Cドライブ→ユーザーフォルダ→わたしのアカウントフォルダ→AppData→Local→Mendeley Ltd下にありました。
このへんはまあ環境とかによって違うかも。
シンボリックリンクの作り方はこのページ参照。
それとこれを実行するには、管理者権限が必要なんだけど、Vista以降ではなんか管理者権限に設定したつもりでも、一部のプログラムに対しては管理者権限が有効じゃないようになっているらしい。
これを「ユーザーアクセス制御」、頭文字とってUACというそうな。
…なんだそりゃめんどくさい。
そのせいでコマンドプロンプトで設定いじりができない。
つまりこのままではシンボリックリンクを作成できない。
かといってその「ユーザーアクセス制御」を完全無効にするのもちょっとなあ。
アプリケーション単位では、プロパティから管理者権限で実行できるみたいだけど、コマンドプロンプトは「ウィンドウズの一部」であるとかで、この方法は有効にされていない。
じゃあどうするんだ、と思ってたら抜け道のような方法がここで紹介されていた。
以上のことを読みつつふんふんと設定。
1)「すべてのプログラム」→「アクセサリ」→でコマンドプロンプトを見つけ出す(そこからかよ)
2)コマンドプロンプトを右クリックして、「送る」→「デスクトップ(ショートカットを作成)」を選択してショートカットつくる
3)ショートカットを右クリックしてプロパティ→ショートカットの、「詳細設定」をクリック
4)「管理者として実行」にチェックをいれてOK
5)Mendeley LtdフォルダのMendeley DesktopフォルダをCopyフォルダ下にカット&ペースト(カットでいいらしい)
5)コマンドプロンプトひらく
6)mklink /d "C:\Users\(アカウント名)\AppData\Local\Mendeley Ltd\Mendeley Desktop" "C:\Users\(アカウント名)\Copy\Mendeley Desktop" とうちこむ。パスはまあ環境にあわせて。
7)コマンドプロンプトが「~のシンボリックリンクが作成されました」と返してきて、Mendeley LtdんところにMendeley Desktopのショートカットができておることを確認。
8)Copyで同期。
9)同期させたいPCのMendeley DesktopフォルダもCopy下のやつにシンボリックリンクさせてしまえ。
これでいけるはず。
重複でまくりになったりしないかは、これから検証していく予定。
Mendeleyはいろいろ便利だけど、文献情報をきちんとひろってくれないことも多い。
JEP、QJEP、Psychonimic社の、Journal of Vision、JNSあたりに情報の不具合が多い。
って主力ほとんどやんけー!
なのでちまちまMendeleyで手直ししてたのですが、Mendeley上の情報は文献とは違うところ(Mendeley Desktop用フォルダ)に保存されることを思い出した。
つまりせっかくCopyで同期したのに、同期先PCでは手直ししたMendeley情報が反映されないのだ。
何それがっくり。
Mendeley Desktopのフォルダは動かせないっぽいし、SugarSyncは同期するフォルダを選べたけどCopyやほかのファイル同期ソフトでは同期できるフォルダはソフト用フォルダだけっぽい。
あっれーじゃあ詰みか?と思ったけど、PC側の設定をいらうことで対処できるようす。
このブログを参考に、「シンボリックリンク」なるものを作成すればよいのだー。
Mendeley Desktop用のフォルダをCopyフォルダにもってきて、このフォルダどおしにシンボリックリンクをつけてやればよかろう。
ちなみにわたしのPCではMendeley Desktopのフォルダは、Cドライブ→ユーザーフォルダ→わたしのアカウントフォルダ→AppData→Local→Mendeley Ltd下にありました。
このへんはまあ環境とかによって違うかも。
シンボリックリンクの作り方はこのページ参照。
それとこれを実行するには、管理者権限が必要なんだけど、Vista以降ではなんか管理者権限に設定したつもりでも、一部のプログラムに対しては管理者権限が有効じゃないようになっているらしい。
これを「ユーザーアクセス制御」、頭文字とってUACというそうな。
…なんだそりゃめんどくさい。
そのせいでコマンドプロンプトで設定いじりができない。
つまりこのままではシンボリックリンクを作成できない。
かといってその「ユーザーアクセス制御」を完全無効にするのもちょっとなあ。
アプリケーション単位では、プロパティから管理者権限で実行できるみたいだけど、コマンドプロンプトは「ウィンドウズの一部」であるとかで、この方法は有効にされていない。
じゃあどうするんだ、と思ってたら抜け道のような方法がここで紹介されていた。
以上のことを読みつつふんふんと設定。
1)「すべてのプログラム」→「アクセサリ」→でコマンドプロンプトを見つけ出す(そこからかよ)
2)コマンドプロンプトを右クリックして、「送る」→「デスクトップ(ショートカットを作成)」を選択してショートカットつくる
3)ショートカットを右クリックしてプロパティ→ショートカットの、「詳細設定」をクリック
4)「管理者として実行」にチェックをいれてOK
5)Mendeley LtdフォルダのMendeley DesktopフォルダをCopyフォルダ下にカット&ペースト(カットでいいらしい)
5)コマンドプロンプトひらく
6)mklink /d "C:\Users\(アカウント名)\AppData\Local\Mendeley Ltd\Mendeley Desktop" "C:\Users\(アカウント名)\Copy\Mendeley Desktop" とうちこむ。パスはまあ環境にあわせて。
7)コマンドプロンプトが「~のシンボリックリンクが作成されました」と返してきて、Mendeley LtdんところにMendeley Desktopのショートカットができておることを確認。
8)Copyで同期。
9)同期させたいPCのMendeley DesktopフォルダもCopy下のやつにシンボリックリンクさせてしまえ。
これでいけるはず。
重複でまくりになったりしないかは、これから検証していく予定。
カレンダー
02 | 2025/03 | 04 |
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
カテゴリ説明
もっさり:日々の雑感をもっさり。
がっつり:論文や研究関連をがっつり。
びっくり:科学ニュースでびっくり。
まったり:空想科学などでまったり。
ばっかり:デザイン系自己満足ばっかり。
ほっこり:お茶を嗜んでほっこり。
がっつり:論文や研究関連をがっつり。
びっくり:科学ニュースでびっくり。
まったり:空想科学などでまったり。
ばっかり:デザイン系自己満足ばっかり。
ほっこり:お茶を嗜んでほっこり。
最新コメント
※SPAMが多いのでhttpを含むコメントと英語のみのコメントを禁止しました※
最新記事
(05/08)
(04/24)
(04/10)
(02/03)
(11/01)
最新トラックバック
プロフィール
HN:
az
性別:
非公開
自己紹介:
興味のあるトピックス
分野は視覚認知。視知覚にがて。
あと記憶全般。
カテゴリ (semanticsか?) とかも。
最近デコーディングが気になる。
でも基本なんでもこい。
好奇心は悪食。
好きな作家(敬称略)
川上弘美
小林秀雄
津原泰水
森茉莉
レイ・ブラッドベリ
イタロ・カルヴィーノ
グレッグ・イーガン
シオドア・スタージョン
分野は視覚認知。視知覚にがて。
あと記憶全般。
カテゴリ (semanticsか?) とかも。
最近デコーディングが気になる。
でも基本なんでもこい。
好奇心は悪食。
好きな作家(敬称略)
川上弘美
小林秀雄
津原泰水
森茉莉
レイ・ブラッドベリ
イタロ・カルヴィーノ
グレッグ・イーガン
シオドア・スタージョン
ブログ内検索
最古記事
(08/05)
(08/16)
(08/19)
(08/19)
(08/21)
カウンター
フリーエリア
PR