2017年05月22日

LoL のping 問題

LoL をプレイしていてping やラグがひどかったときにちょっと調べる方法です。

症状

日本鯖で主に起きていたことは次の2つでした。

  • ping が急に遅くなる 普段は20[ms] くらいなのですがひどいときは1000[ms] くらいになることがありました。 やっている感じだと、急にping が遅くなるので何も反応ができなかったです。

  • 入力を受け付けない ping は遅くないのに急に何も反応しなくなりました。数秒間コマンドを受け付けてくれないのでお亡くなりにばかりなってしまいました。

これらは日本鯖で起きることでNA鯖では起きていません(ping も160[ms] 近辺で安定)。

ツール

いつも日本鯖でしか起きていないので相性の問題かなと思っていましたが、いつもよりひどくなったので調べてみたら次の2つのツールが公式にありました。

最初はこっちでログを読み込んでみましたが、たまにFPS の低下があるくらいでほとんど問題は起きていないようでした。

lol_ping

次にこっちで調べてみると、ping の低下とパケットロスの多発が見て取れました。当然パケットロスが起こればコマンドも受け付けないのも納得です。

原因

結局何が原因だったかというと、パケットロスはプロバイダにお電話したら変な電波が出てる装置が障害を引き起こしてるとの話(何を言っているのでしょうか…)。 とりあえず対応しに向かってるとのことだったので、ちょっと待っていたら無事パケットロスは解決しました。

ただ、日本鯖でping が急に遅くなる問題は結局解決しないままでした。 とりあえずNA鯖でなるべく遊ぶようにすればいいかなと思ってしまいますね。



rabbitcats at 01:00|PermalinkComments(0)TrackBack(0)デジタルゲーム | コンピュータ

2017年05月18日

locale でのDEBUG_NEW によるコンパイルエラー

std::locale を使ってifstream でUTF-8 文字コードのファイルを読み込む設定をした際にコンパイルエラーに遭遇したので、覚書として書きます。

コンパイラ

VC10 (Visual Studio 2010 Professional sp1)

起こったこと

次のコードをコンパイルしたときに、環境を変えるとコンパイルが通ったり通らなかったりしました。

コード

#include <codecvt>
#include <fstream>

...

std::wifstream ifs;
ifs.imbue(std::locale(std::locale::empty(), new sd::codecvt_utf8<wchar_t>));

エラー

UTF-8 locale in Visual C++ 2010 にあるのと同じエラーが出たので引用します。

error C2661: 'std::locale::facet::operator new' : no overloaded function takes 3 arguments
error C2664: 'std::locale::locale(const char *,std::locale::category)' : cannot convert parameter 1 from 'std::locale' to 'const char *'

回避方法

リンク先にあるようにdebug 時にDEBUG_NEW を使わせないように下記のようにコードを変更すれば回避はできました。

ifs.imbue(std::locale(std::locale::empty(), ::new sd::codecvt_utf8<wchar_t>));

new をグローバルスコープを付けてDEBUG_NEW を使わせないように変更。
ただし、回避はできても根本的な解決には至っていないのでどうにか原因を突き止めたいです。

ちなみに自分の使っている計算機はハードディスク周りが不調なのでそっちが原因なのかなとも思いましたが、VS2010 をクリーンインストールした直後にコンパイルエラーになってしまったのでますます不思議です。



rabbitcats at 00:59|PermalinkComments(0)TrackBack(0)C++ 

2016年06月25日

windows 7 で起動できない問題

起こったこと

今日PCを起動しようとしたら、boot できなくなっていました。
近く何かしたかを思い出してみると、昨日の夜にwindows update が走ったことを思い出しました。

画面の表示にwindows のインストールディスクを使ってwindows の修復を行えとの記述があったので、試してみましたが状況は改善されませんでした。

解決方法

そこで別のマシンで調べてみたところ、下記のページにそれらしき情報が載っていました。

 2016年4月のWindows Updateの注意事項

Windows7 先月の後半に配信された分の項目に書かれていることが当てはまっていたので、そこにある対処方法であるBIOS上でSecure Bootを解除をしました。

また、windows7 でsecure boot が未対応なことを初めて知りました。


rabbitcats at 00:19|PermalinkComments(0)TrackBack(0)コンピュータ