前回の更新から半年近く経ってしまいましたがComfortable PCのアップデートを近日行いたいと思います。
といっても大きな変更はなく、一部のユーザーの方から報告されていた案件の調整と、設定項目の追加のみに留まる小規模なアップデートです。
また併せてこの記事で今後の当サイトのソフトウェア開発方針などについてお話しさせて貰えればと思います。
Comfortable PC Ver 2.9.1での変更点
1,一部のユーザーから報告されていた問題点の修正及び調整
2,設定項目「Windows Update後の自動再起動を無効化」の追加
以上2点です。特別な理由が無ければ緊急にアップデートする必要はありません。
さて、早いものでComfortable PCの初期バージョンを公開してから5,6年ほど経ちました。詳しい統計は取っていないので分からないのですが、ダウンロード数は累計で100万は軽く超えたかと思われます。
もちろんバージョンアップに伴うリピーターの方が多いかと思われますが、それでも大変多くの方にご利用頂いており、作者としては冥利に尽きる思いです。
ソフトウェアの特性上、ともするとお使いのPCに不具合を起こさせたこともあったかと思います。それでもお付き合い頂いている方には感謝の念が尽きません。
このソフトを開発している数年間に私事でも色々とありまして、大学に入学したりお酒が飲めるようになったりと、開発を始めた当初からは環境が随分と変わりました。
それに伴いコンピュータに関わる知識や技術などについても、微量ではあるものの開発開始当初よりは増えました。
しかしComfortable PCについては、今も数年前に作成したコードをベースとしてアップデートしているだけですので、当時の私が書いた見るに堪えないコードや設計のおかげで大規模な変更を加えるのは非常に効率の悪い状況です。
よって、今後の更新については今回のような小規模な機能追加、問題の修正などを主として、大規模な機能追加などは行わない予定です。
完全に新しくソフトウェアを作り直しComfortable PC Ver 3として開発することも考えてはいるのですが、まだまだ私も力不足で、開発を始めるタイミングを計りかねております。
構想としてはインターフェースの刷新、Windows 7以降のより新しいWindowsへの最適化、設定する際のさらなる安全の確保などを考えておりますが、実現がいつになるのかは分からないところです。
とりあえずはもっとプログラムなどについて勉強してから新規開発に取り組みたいと考えていますので、長い目で見て頂ければ幸いです。
先日、武蔵野ワークス様からコーヒーを頂きました。
下の写真のものを6袋も頂いてしましました。有り難く年末年始にかけて頂こうと思います。
武蔵野ワークス様は香水専業メーカーとのことで、公式サイトで香水販売などされているようです。
残念ながら私に香水は余り縁がないと思われますが、この記事をご覧の方で興味のある方は是非一度サイトを覗いてみてはいかがでしょうか?
2,Windows 8に向けた微調整など
Windows 8製品版に向けた内部的な微調整を行っています。
以上です。
エラーなどありましたらメールやコメントにてご連絡頂ければ幸いです。
上記フォーラムの情報を要約すると以下のようになります。
1,レジストリエディタで以下のキーを開く
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CVirtA
2,キー内の「DisplayName」エントリを開き、以下のように修正
・32bitの場合「Cisco Systems VPN Adapter」
・64bitの場合「Cisco Systems VPN Adapter for 64-bit Windows」
3,接続を再試行
以上です。
私の環境(Windows 8 RP)ではこの設定によってすんなり繋がるようになりました。
現状ではWindows 8環境でCisco VPN Clientを利用している方は少ないかもしれませんが、今後8の製品版が発売された後にここでつまずく方も多いのではと思い、記事にしておきました。
1,オフラインモードでの動作確認
まずはオフラインでキャンペーンがプレイできるかどうか確認するため、Originをオフラインモードにします。(Origin左上のメニューから)
その後、BF3を起動してください。
正常に起動でき、キャンペーンがプレイできた場合は2に進んでください。
以下のエラーメッセージが出た場合は、ページ下部の対応するエラー対策を確認してください。
・「bf3.exeは動作を停止しました」という類のエラーメッセージ(err_01)
・DirectX function “_dxgFactory->CreateSwapChain…というエラーメッセージ(err_02)
2,オンラインでのマルチプレイの動作確認
Originをオンラインにし、適当に空いているサーバーに入ります。
正常にプレイできた場合は、とりあえず全てのゲームモードで問題なくプレイできるということになります。
以下のエラーメッセージが出た場合は、ページ下部の対応するエラー対策を確認してください。
・「bf3.exeは動作を停止しました」という類のエラーメッセージ(err_01)
・DirectX function “_dxgFactory->CreateSwapChain…というエラーメッセージ(err_02)
・ログイン中にサーバーから弾かれる、Punkbusterがエラーを出す(err_03)
エラーコード毎の対策
・err_01
Microsoft Visual C++ 2010 再頒布可能パッケージ (x86)がインストールされているか確認します。
またMicrosoft Visual C++ 2010 再頒布可能パッケージをインストールした後にWindows Updateで関連するアップデートなども済ませた方が無難です。
上記の手順を試しても同様のエラーが出る場合はVisual C++ Express Edition(無料)をインストールすると上手くいく場合があるようです。(kazさんの場合はこれで解決しました)
・err_02
DirectX 11がインストールされているかを確認します。
インストールされているにも関わらずこのエラーが出る場合、以下の手段を試します。
1,BF3のインストールフォルダを開く
2,bf3.exe(BF3実行ファイル)を右クリックし、プロパティから互換性タブを開きます
3,互換モードで「互換モードでこのプログラムを実行する」にチェックを付ける
4,コンボボックスで「Windows 7」を選択
また、場合によってはVista SP2などを選択すると上手くいく場合があるようです。
Windows 7上でWindows 7の互換モードで動かすというのも変な話ですが・・・
またVirtuやVirtu MVPをお使いの場合は、これらの機能をオフにすることで解決する可能性があります。
・err_03
Punkbusterを更新することで解決する可能性があります。
Punkbusterのアップデートツールをダウンロードし、BF3のpunkbusterを最新版に更新してみてください。
なお、更新方法についてはこちらのページが参考になります。ゲームは違ってもやり方は基本的に同じです。
以上です。
割とありきたりな情報ばかりで申し訳ないのですが、Visual C++ Express Editionをインストールするというのは見かけなかった解決方法でしたので、上記エラーの場合に試してみる価値はあるかと思われます。
私が遭遇したエラーは上記のもののみで、他の原因によるエラーで動かない方もいるのかと思われます。
解決策の一例として参考にしてみてください。
その他、よく見かける解決策としてIMEをGoogle 日本語入力に変えるですとか、punkbusterフォルダをリネームするとか、battlelogにアクセスするブラウザを変える等々、様々な対処法がネット上で公開されています。
何でお金出して買ったゲーム一つ動かすのにこんな苦労しなきゃならんのかと思うところですが、PCゲーマーの定めと諦めて地道に一つ一つ試すしかないのが残念なところです。
その他にも有力な対処法などあればコメントにてご指摘頂ければと思います。
また、当サイトで公開しているComfortable PCではオンラインゲーム向けにネットワーク設定を最適化する機能がいくつかあります。
よろしければ併せてご利用ください。
追記
kazさんからのご報告によると、NVIDIA製のグラフィックボードをお使いの場合に、ドライバーを更新する際にクリーンインストールを行うとNVIDIAコントロールパネルの設定がデフォルト値に戻ってしまうため、これらは上書きインストールした方が良いとのことです。
また、複数のグラフィックボードをお使いの場合(SLIでない)、最も性能が高いGPUをPhysXの演算に使うのが良いと思われるとのことです。
初期値では自動選択になっているのですが、どのGPUが物理演算に使用されているのか分からない場合、手動で高性能なGPUを選択すると良いでしょう。
更に追記 (2013/4/20)
BF3の500円セールで新兵さんが増えたらしく、こちらの記事の参照回数が大分増えていましたのでもう一つトラブルシューティングを。
プレイ中に誤って全角/半角キーを押すと左上にコンソール入力画面が開かれ、操作不能になってしまいます。
このウィンドウはもう一度全角/半角キーを押しても閉じることが出来ず、通常であればゲーム自体を終了させなければならないのですが、以下の方法で対処出来ます。
1,コントロールパネル→地域と言語→キーボードの変更を開きます
4,「詳細なキー設定」で入力言語の切り替えホットキーが設定されているのを確認します
以上を設定して、誤ってコンソールを開いてしまった場合には設定されているホットキー(デフォルトは左Alt+Shift)で入力言語を英語(US)に切り替えます。
その後もう一度全角/半角キーを押すとコンソールを閉じて再び操作可能になります。
Apacheのバージョンが1.xの場合はmod_gzipモジュールを使用します。
以下のコードを.htaccessに加えることで、テキストベースのファイル転送時のgzip圧縮を有効にします。
<ifModule mod_gzip.c> mod_gzip_on Yes mod_gzip_dechunk Yes mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$ mod_gzip_item_include handler ^cgi-script$ mod_gzip_item_include mime ^text/.* mod_gzip_item_include mime ^application/x-javascript.* mod_gzip_item_exclude mime ^image/.* mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.* </ifModule>
また、Apacheのバージョンが2.xの場合はmod_deflateモジュールを使います。
以下のコードを.htaccessに加えて下さい。
<ifModule mod_deflate.c> AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/x-javascript </ifModule>
上記のコードでは画像ファイルなど圧縮率が低くなるようなファイルについては効率が悪いため圧縮対象から場外しています。
2,サイズの大きいテキストファイルをあらかじめgzip圧縮しておく
htmlやCSSなど、大抵のテキストベースのファイルはせいぜい1~10KB程度かと思いますが、大きなJavascriptなどでは100KBなど、比較的大きいファイルサイズになりがちです。
例えばjQueryのスクリプトファイルは約246KBありますが、これはgzipで最高圧縮すると68KB程度までファイルサイズを小さくすることが可能です。
これらのファイルをあらかじめgzip圧縮してサーバーに保存しておき、要求があった際に圧縮されたファイルにリダイレクトすることで、転送速度の高速化と転送量削減が期待できます。
まずはgzipでファイルを圧縮します。gzip圧縮が出来るアーカイバには7-zipなどがあります。
ここで例えば「exsample.js」というファイルを圧縮した場合は「exsample.js.gz」というファイル名にします。
ファイル名に間違いが無いことを確認したらesample.js.gzをサーバーの任意のディレクトリに転送して下さい。
次に以下のコードを.htaccessに追加します。
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{HTTP:Accept-Encoding} gzip RewriteCond %{REQUEST_FILENAME} "\.(js)$" RewriteCond %{REQUEST_FILENAME} !"\.gz$" RewriteCond %{REQUEST_FILENAME}.gz -s RewriteRule .+ %{REQUEST_URI}.gz [L] </IfModule>
このコードを追加することで、ディレクトリ内の「exsample.js」というファイルへの要求が「exsample.js.gz」というファイルへリダイレクトされるようになります。
ですのでページ内でJavascriptを呼び出すときも拡張子にgzを付加する必要は無く、通常通りのファイル名「exsample.js」で指定します。
なお、この方法でJavascript以外のファイルもあらかじめ圧縮しておきたい場合は、先ほどの.htaccessのコードの4行目、(js)の部分をに拡張子を加えます。
例えば.cssのファイルもあらかじめ圧縮しておきたい場合は(js|css)とします。
3,複数の画像をCSSスプライトにまとめる
サイトのサイドバーなど全てのページで表示される要素の中で、アイコンなどの画像ファイルを使っている場合、一つ一つの画像をバラバラにしているとその度ブラウザからサーバーへ要求を飛ばすことになり、転送効率が下がります。
そこでそういったアイコンなどの画像を全て1枚の画像ファイルにまとめ、CSSでその画像の中で参照する部分をずらしながら利用することで、ブラウザからの要求を減らすことが出来ます。
CSSスプライトで利用するための画像を生成するサービスにCSS Sprite Generatorというものがあり、スプライトにまとめたい画像ファイルをZIPでまとめて送ると、スプライトに加工した画像ファイルと、それを利用するためのCSSファイルが出力されます。
以下の画像はPC-ZEROで利用しているアイコンなどをまとめたスプライト画像ファイルです。
私感ですが、出力する際は横に並べるより縦に並べた方が何かと使いやすいかと思います。
4,Javascriptの読み込みを最後に行う
最初に読み込む必要のないJavascriptの外部ファイルは