忍者ブログ

めもめも ...〆(。_。)

認知心理学・認知神経科学とかいろいろなはなし。 あるいは科学と空想科学の狭間で微睡む。

2025/07    06≪ 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  ≫08
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

ここのところ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つかってるとエラーでるかもよ(そんときは再起動してね)ってヘルプが言ってたし、これで完全に対応できたかどうかはぶっちゃけようわからん。
まあエラーが出ないならいいとしよう。
とりあえず描画ができるようになったのでよかった。
(志低いな、というツッコミは自動で却下されました)
かねてより公言しているとおり、わたしはニンジャヘッズ(ニンジャスレイヤーの読者・ファン)なのですが、ニンジャスレイヤーの実況ログや考察などを読むとニンジャヘッズの知識の広さ深さ・層の厚さに驚かされます。
(それはとりもなおさず、原作者/翻訳者の知識も相当なものであることをうかがわせます)
この間知ったのですが、ニンジャヘッズの一人がニンジャスレイヤーの中で出てくるセリフ(「コトダマ」と呼ばれる)を駆使したプログラミング言語を開発していたそうです。
詳細はこちら

…すげえ。
はろーわーるどいうだけでこの長さ。
……でも扱える気がしない。
わたしは説明を読むだけでも爆発四散レベルのへっぽこさなので手を出せませんが、誰かプログラミングにつよいひといたら試してみてください。


…いやあでも本当に層が厚いなニンジャヘッズ。
わたしも何かヘッズにおもしろい貢献をしたいのだけど、今んとこいいアイディアが思いつかないなあ。
なんか思いついたら◆しよう◆
……思いつくかなあ?
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下のやつにシンボリックリンクさせてしまえ。

これでいけるはず。
重複でまくりになったりしないかは、これから検証していく予定。
一日が週末だったのでひさしぶりに映画館いってきた。
まあ「一日が週末」なことに気付いたのは先月一日(非うるう年だと三月は曜日いっしょだよね)で、先月はしっかり逃してたんですけど。

せっかくだから大画面大音量を楽しむやつにしようぜ!というわけで、わたしには珍しく大作映画を見たのでした。
(ジョニーイングリッシュはある意味大作だけどな)
今回見たのは『ゼロ・グラビティ(原題:Gravity)』。
公式ページはこちら


…いやーこれすごいわ。
これは確かに映画館向きだわ。

ストーリーとしては、そんなに複雑じゃない。
話自体は、ブラッドベリの『万華鏡』と似ている。
というか話だけなら『万華鏡』のが重層的で複雑か。いや身贔屓か。
それなり「ご都合」なところもいくつかある。
しかし、圧倒的な迫力で映像化されたなら屈服せざるを得ない。
要するに、宇宙船の保護をなくして宇宙空間に取り残されるのである。

宇宙には空気がない。
だから音がない。

そういうようなこと(うろおぼえ)がイントロ、字幕で表示される。
そして、それが忠実に映画に反映されるのである。

宇宙空間に出ているとき、主に聞こえるのは宇宙服内の主人公の呼吸と心拍。
隔絶された、内にこもった音。
宇宙船に入れば、自分の外の音が戻ってくる。
宇宙服を着なくてもいいので、呼吸や心拍は響かない。

これを基本ルールとして、緊迫感や不安を煽る音楽が随所につきまとってくる(褒め言葉)のである。
その上、宇宙に出たことを意識せざるを得ない瞬間、無音になる。
ふだん経験しない、音のない世界に放り込まれる。
そして主人公の視界もたびたび現れる。
常に死が迫ってきており、ナーバスにはりつめた主人公の音とともに。
否が応にも主人公の不安がつきささってくる。
気が付いたら本当に手に汗握っている。
こわいのだ、本当に。

ましてやこっちはブラッドベリ読み。
『日付のない夜と朝』みたいな、何も確かなものなどない寄る辺ない無辺の闇を読んできているわけで。
その闇がすぐ隣に。
そしてその闇の中での死がすぐそばに。
かつて読んで慄然とした恐怖が。
こわくないわけがあるものか。

とりあえずブラッドベリ読みじゃない人には、『万華鏡』と『日付のない夜と朝』が読める『刺青の男』をおすすめしておこう。

どっちかは他の短編集にも収録されてたような気がしたけど忘れた。
ちなみに『万華鏡』と『ゼロ・グラヴィティ』は別の結末をたどる。
どちらも美しい。

結末の話をするならば、邦題は失敗だったなーと思う。
いやさすがにネタバレはしませんけど、でも、まあ。
まあ映画みてる間は心臓ばくばくしてて気にする余裕なかったからいいや。

そいや『万華鏡』を思い出したのはわたしだけではなかったようで、検索すると結構言及しているひとも多いようす。
なかには「イリノイ州」もブラッドベリではということを言ってるひともいた(参照)。
いやさすがにそれは…と思ったけど(ブルースブラザーズだってイリノイ州やん!)、ありえそうでもある。
ブラッドベリの描くイリノイ州とアイルランドってやたらすてきな場所だもんなあ。

そんなかんじで、ブラッドベリ読みなら楽しめる(こわがれる)こと請け合いの映画。
いやーこれよかったよ。
音の効果を楽しむためにも、音響装置のすぐれた映画館で見るといいよ。
…ってもう、公開されて長いからわたしの近場の映画館ではそろそろ公開終了になるっぽいけどね。
音を楽しむ映画ですよこれは。
音楽もいいけどSE重点。
水とかね。
ああもう。

そいや映画とリンクしたショートムービーが公開されておるね(わたしが見たのはこのページで)。
映画観終わったあとに見るとまた感慨深いものがあります。
その場で、その生を営むしかないんだよなあ。

おまけといえば公式の宇宙遊泳もなかなかおもしろかった。
画像もすごくきれいなので、これはちょっとあそぶのたのしい。
でも音声は例の緊迫感なアレなので、こわくなってきたら音きったりもした。
なんでかハッブルに近づけないんだけど…バグなのか環境依存のエラーなのか。
コンプしたがりのわたしとしてはそこだけ残念。

しかしCG本当にすごいな。
スタッフロールでもものすごい数の人がCG仕事に従事していた。
CGはそこまで大仕事になってるんだなあ。
スタッフロールのキャストの少なさ、スタッフの多さも見といてほしいくらいだ。
技術ってすごいね。
それだけでもSFマインドを堪能できるよ!


あと、正直に告白すると、はじめてジョージ・クルーニーをかっこいいと思った。
…吊り橋効果といわれたら否定できないけど。
オーシャンズシリーズでは「はいはい、きざなおっさん」としか思わなかったのに。
ていうか、TVや映画の俳優をめったにかっこいいと思わないのに。
今回のジョージ・クルーニーはめちゃめちゃかっこよかった。
『ゴールドフィンガー』ぐらいんときのショーン・コネリーぐらいかっこよかった。
……あれこれわたしがおっさん趣味なのか?
いや映画俳優でかっこいいっつったら若いときのショーン・コネリー鉄板だろ!鉄板どころかキングオブキングだろ!
まあそれはともかく、わたしの好みが「基本的には穏やかで、ふだんは飄々と軽口なんかを叩いていて、どっちかってーと昼行燈なくらいなのに、いざというときはバリバリ活躍してピンチには手を差し伸べてくれるタイプ」なので、今回ジョージ・クルーニーが演じた役どころがぴったり好みにはまったのであろう。
それだけに、それだけにあのシーンは……ああ。
いやネタバレしたくないから詳細は述べないが。
やっぱり美学の感じられるキャラはすばらしい。



そんなかんじで某顔本の観た映画リストにも付け加えておいたんだけど、某顔本のSuggestionはぽんこつすぎるな。
SFマインドあふれる映画もB級の香り漂う映画もすすめてこないんだもの。
単に有名作品だけ出してくるのならいらんぞ。
なんで最初に『アタック・オブ・ザ・キラートマト』を登録するようなやつに『シュレック』とかすすめてくるのか。
せめて『チアリーダー忍者』くらい出してこいや。
まあ映画に限らず顔本の学習はしょぼい(市役所のお知らせをフォローしたら、なぜかわたしのきらいなエッセイストをいつも出してくる。特にゆかりはないのに)ので、期待はしていないのだけど、名作(迷作もか)との出会いってどこにころがってるかわからんからなあ。

まあいいや。またなんか面白いものがあったら見よう。
映画を見た夜、わたしはアモンティリャードの杯を乾した。
無限の夜を隔てた向こう、どこかの想像上の火星にいる、叙情的な宇宙の描き手を偲んで。

カレンダー
06 2025/07 08
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を含むコメントと英語のみのコメントを禁止しました※
[01/20 NONAME]
[05/07 ぱるぱる]
[05/06 ぱるぱる]
[05/06 ぱるぱる]
[08/29 初見名無し]
最新トラックバック
プロフィール
HN:
az
性別:
非公開
自己紹介:
興味のあるトピックス
 分野は視覚認知。視知覚にがて。
 あと記憶全般。
 カテゴリ (semanticsか?) とかも。
 最近デコーディングが気になる。
 でも基本なんでもこい。
 好奇心は悪食。

好きな作家(敬称略)
 川上弘美
 小林秀雄
 津原泰水
 森茉莉
 レイ・ブラッドベリ
 イタロ・カルヴィーノ
 グレッグ・イーガン
 シオドア・スタージョン
バーコード
ブログ内検索
カウンター
フリーエリア
PR
<< Back  | HOME |   Next >>
Copyright ©  -- めもめも ...〆(。_。) --  All Rights Reserved
Designed by CriCri / Material by もずねこ
忍者ブログ  / Powered by [PR]