T.Ishii's Software Library

HTML5 レトロ風ゲーム館

無料ブログはココログ

« 2009年6月 | トップページ | 2009年8月 »

2009年7月

色々と面倒だ

MirrorCommanderのBasic版でカーソル描画をそれなりのものにしようと作り込んでみたが、色々と面倒な処理が必要になった。最終的には思った通りのものにできそうではあるが、時間がかかったので、明日もう少し継続する。

続きを読む "色々と面倒だ" »

マウスカーソルの描画

MirrorCommanderのBasic版は、基本性能についてはほぼ満足なところにまで達しているが、マウスカーソルの描画を何とかしなければならない。現状ではサーバー側で画面データに描画してクライアント側に送っているが、転送レートが遅いとカーソル位置が判らなくなる。

続きを読む "マウスカーソルの描画" »

ロバストかもしれない

色々とあったが、何とか、開発環境の酷い無線LANでもリモート操作をそれなりに快適に行なえるようになった。無線LANで頻繁にパケットロスが発生することを前提に色々と作りこんだ結果、MirrorCommanderのネットワーク処理は結構ロバストなものになったかもしれない。

続きを読む "ロバストかもしれない" »

さすがに酷過ぎる

開発環境の無線LANについてチェックしてみたところ、どうしようもないくらい酷い状況だということが判った。データ付のPingで32kBの転送を行なうと、10回の内、2,3回は必ずタイムアウトになっている。なので、実際問題としては使えないのだが、もう少し追いかけてみる。

続きを読む "さすがに酷過ぎる" »

100Baseなら動画視聴も可能

MirrorCommanderのネットワークルーチンを最適化した結果、100Baseで接続した初代MacBookを操作して、GatewayのCore2Quadマシン上でMacBook上で動作しているIEのYouTube動画を普通に視聴できるようになった。しかし、無線LAN環境は調査が必要だ。

続きを読む "100Baseなら動画視聴も可能" »

UDP転送のメリット

とりあえずネットワーク層の形はできあがり、CoreAudio経由で採取した音声も途切れることなくクライアント側に転送できるようになった。しかし、開発環境の無線LAN経由だと映像が正しく転送されない。エラー処理ルーチンがまだマトモじゃないからだ。

続きを読む "UDP転送のメリット" »

やっぱりデバックが面倒だ

MirrorCommanderのネットワークルーチンを変更したのでデバックを始めたのだが、中々面倒だ。その理由は、マルチスレッド動作とリアルタイム性にある。これらが災いして、トレースの採取やBeep音確認等の、H/W制御用プログラムのデバック手法を使わなければならない。

続きを読む "やっぱりデバックが面倒だ" »

ネットワーク転送の最適化

MirrorCommanderのBasic版はとりあえず完成度が低い状態でリリースするつもりだが、基本部分を適当に作ってしまうと後で全て作り直し、ということにもなりかねないため、ネットワーク部分については、それなりにしておこうとしている。

続きを読む "ネットワーク転送の最適化" »

64Bit化でコーディングは変わる?

MasterReversiを本格的に使うとデータベースとBookと置換表で多くのメモリが消費される。なので、作者の手元にある対局データやBookデータの全てを読み込ませるとメモリが足りない。まあ、性能的にそれだけのデータを扱うと鬱陶しくなるので読み込ませはしないのだが。

続きを読む "64Bit化でコーディングは変わる?" »

単一機能の方が良い?

AmuseGraphicsをリリースしてから一月たったが、ホームページへのアクセスが殆ど無いところを見ると、Vectorからのダウンロードはあまりなさそうだ。シェアウェアだというだけで避けている人も多いだろうが、何が出来るのか判らないという人も多いだろう。

続きを読む "単一機能の方が良い?" »

詳細機能はイマイチだが

MirrorCommanderのBasic版はCore AudioとDirect3Dの使用によって、今時のリモートアクセスソフトらしくなってきた。以前書いた10年程前に作ったリモートアクセスソフトよりは洗練されている。しかし、それは基本機能についてであって、その他の部分はイマイチだ。

続きを読む "詳細機能はイマイチだが" »

GPUでのスクロールは軽い

昨日書いたDirect3Dによるスクロールの負荷を測定するために、単純に1ドットずつ1000回移動させるテストルーチンを組んで動作させたところ、開発マシンでのCPU負荷は1~2%程度だった。通常時にもこれくらいの負荷はままあるので、ほぼ、無負荷に近い。

続きを読む "GPUでのスクロールは軽い" »

敷居が高過ぎる

何とかDirect3Dを使用してスクロールさせることに成功したが、SDKを見ていても何のことやら判らない。例えば、SetTransform(CONST D3DXMATRIX *pTransform)の説明はpTransformはワールド座標からスプライトへの変換行列へのポインタである、のみだ。

続きを読む "敷居が高過ぎる" »

レイヤードウインドウなら1枚でOk

昨日は複数枚のウインドウで・・・と書いたが、色々とやってみた所、ポップアップウインドウ属性ならデスクトップよりも大きなウインドウが作れた。しかし、XPでは移動しようとしても正しく表示されなかった。ところが、レイヤード属性をつけるとこれもOkになった。

続きを読む "レイヤードウインドウなら1枚でOk" »

複数ウインドウで画面を構成

ノートPCの小さな画面でデスクトップPCの大きな画面を縮小せずに見たければスクロールするしかない。しかし、単純にスクロールさせたのではBitBltを使った画面描画が必要になって遅くなる。しかし、画面を移動する分には、BitBltは必要なかったような気がするのだが。

続きを読む "複数ウインドウで画面を構成" »

画面のスクロール

このブログの読者なら作者がVectorにリモートデスクトップソフトを登録したとしても、MirrorCommanderのBasic版だと判るとは思うが、他の人は普通のリモートデスクトップソフトとしてしか見ないだろう。それではツマラナイ。なのでもう少し特徴を入れたいと思っている。

続きを読む "画面のスクロール" »

やっぱりC++クラスにした

Core Audio用の外部モジュールを作ってみたが、ちょっと大げさ過ぎるので、C++のクラスとして実装しなおした。Core Audioを使ってしまうと、XPではプログラムロード時にライブラリのロードエラーが発生すると思っていたが、COM構成のため、気にしなくて良かったからだ。

続きを読む "やっぱりC++クラスにした" »

Vista用WaveOut録音モジュール

XPマシンでは普通に録音できたWaveOutがVistaマシンの多くでは録音できない。これはミキサにWaveOut Mixが存在しないからだ。ネットで検索すると、コントロールパネルのサウンドで「無効なデバイスの表示」をやれば良いという指摘も見つかるが、作者から見れば都市伝説だ。作者所有の3台の異なるマシンの全てで出てこない。しかし、もっと良い方法がある。

続きを読む "Vista用WaveOut録音モジュール" »

大きな問題なく復旧

結局、初代MacBookには目出度くLepardがインストールでき、BootCampを使ってVistaもインストールできた。BootCampはWindows7に未対応なので、若干の問題はあるが、実機の評価環境も欲しかったので、Windows7RC版をVistaに上書きインストールした。

続きを読む "大きな問題なく復旧" »

HDDとかを買ってきた

初代MacBookを修理するために、HDDを買ってきた。日立製の5400rpm-250GB。これしか在庫が無かった。もっと容量が大きいのにしたかったが、まあ、安かったので良しとしよう。今パーティションを作成してインストール作業を始めたが、実は、色々と面倒なことがある。

続きを読む "HDDとかを買ってきた" »

MacBookが壊れた

今日、MacBookの電源を入れると、立ち上がらなくなっていた。昨晩までは問題なかったので突然死だ。インストールDVDからは立ち上がるので、多分HDDが壊れたのだろう。丁度、二年前に一度壊れて入れ替えていたのだが、最近のHDD寿命は二年程度なのだろうか?

続きを読む "MacBookが壊れた" »

形を整えた

今は、MirrorCommanderのBasic版を開発中だが、元々、既存ルーチンを繋ぎ合わせて動かしていたので、内部構造が汚かった。なので、少し構造を綺麗にしてみた。形が綺麗になれば、開発スピードも上がるだろう。

続きを読む "形を整えた" »

今日は色々と調べ物

Vista用のCore Audioが結構使えるにも関わらず、今まで使ったことが無かったため、今日は、他にも何か無いか、と色々とネットで調べ物をしてみた。まあ、そうそう良いものは見つからないのだが、今はそう思っていても何ヵ月後かには役に立っているかもしれない。

続きを読む "今日は色々と調べ物" »

最新版DirectX SDKをアンインストール

開発マシンには最新版のDirectX SDKをインストールしていたが、出来上がったバイナリを他マシンで動かすと「DLLがありません」状態となってプログラムが起動しなかった。なので、アンインストールした。代わりに2003年頃のものをインストールし、問題は解決した。

続きを読む "最新版DirectX SDKをアンインストール" »

2D表示をDirect3Dで

画面描画を軽くしたいから、ということで、DirectDrawを使ってみたが、VistaではAeroが使えなくなるし、画面はチラつくし、と、いうことで諦めた。昔、DirectDrawが出た頃は忙しくて弄れなかったので使ってみたかったのだが、今や、2DでもDirect3Dの時代のようだ。

続きを読む "2D表示をDirect3Dで" »

実は少しだけ面白い

MirrorCommanderのシェアウェア化は先延ばしにして、とりあえず、普通のフリーソフトとして来週リリースすることにしたが、だからと言って、全く面白みが無いという訳ではない。それなりに面白い所もあるので、フリーソフト化に踏み切ったのだ。

続きを読む "実は少しだけ面白い" »

MirrorCommanderの予定は変更

AmuseGraphicsの開発に手間取り、6月中に作り込みが出来なかったため、このままではMirrorCommanderのリリースは10月以降になりかねない。ちょっと考えてみたのだが、今年中に後二つの新プログラムをリリースするためには、これでは遅過ぎる。なので、MirrorCommanderのシェアウェア化は先送りすることにした。

続きを読む "MirrorCommanderの予定は変更" »

音声の圧縮

MirrorCommanderで音声伝送時にデータの圧縮を行うかどうかは今の所未定。44kHzサンプリングでも176kB/Sec、8kHzサンプリングにすれば32kB/Sec。今や56kモデムの時代ではないので、どうということもない。しかし、1円を笑うものは1円に泣くかもしれない。

続きを読む "音声の圧縮" »

課題が見えてきた

少し無駄な処理を取り除き、BitBltの高速化のためにテーマを変更すると、サーバー側のデュアルコアの片方の半分以下の負荷で10FPSでの画面転送も可能になった。これなら、動画もそれらしく見れるし、それなりに使えるのだが、カーソルのレスポンスが少し気になる。

続きを読む "課題が見えてきた" »

何もしないと当然重い

MirrorCommanderの開発の手始めとして、普通のリモートアクセス部分を作っているが、今の所何の細工もしていないので、処理が重い。デスクトップ映像の圧縮は行うようにしてあるので、100Baseなら数FPS程度は楽に出るが、その分、CPUメータが大きく振れる。

続きを読む "何もしないと当然重い" »

送受信バッファ

MirrorCommanderはコーディングを行いつつ、試しに動かしては開発項目を検討したりしているのだが、MasterReversi用に作ったUDPルーチンを最適化せずに使っていたため、少しトラぶった。送受信バッファが小さめに設定してあったため、パケットが消失していたようだ。

続きを読む "送受信バッファ" »

« 2009年6月 | トップページ | 2009年8月 »

2025年2月
            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  

広告

プライバシーポリシー

  • 当サイトでは、第三者配信による広告(Google Adsense)サービスを利用しています。

    Google を含む第三者配信事業者は、Cookie を使用して、ユーザーのウェブサイトでの閲覧履歴に基づく広告を配信します。 Google 広告 Cookie を使用することにより、Google や Google のパートナーは当サイトや他のサイトへのアクセス情報に基づく広告をユーザーに表示できます。

    収集された情報がGoogleによってどの様に使用されるか、収集される情報をユーザーが管理する方法については、以下のリンクを参照下さい。

    ポリシーと規約 - Google