atwiki-logo
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このウィキの更新情報RSS
    • このウィキ新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡(不具合、障害など)
ページ検索 メニュー
FPSを作ってみる@wiki
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
FPSを作ってみる@wiki
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
FPSを作ってみる@wiki
ページ検索 メニュー
  • 新規作成
  • 編集する
  • 登録/ログイン
  • 管理メニュー
管理メニュー
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • このウィキの全ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ一覧(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このwikiの更新情報RSS
    • このwikiの新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡する(不具合、障害など)
  • atwiki
  • FPSを作ってみる@wiki
  • 進捗状況(2014
  • 11)

FPSを作ってみる@wiki

11)

最終更新:2014年11月26日 16:26

slice

- view
管理者のみ編集可

(2014/11/26)

OpenCL with GPUでJavaのKeystoreにブルートフォースするアレ

結局頑張ったところでCPUの3.5倍程度しか高速化できなかった…

と、諦めついでにSHA1ハッシュを計算するルーチン(他人のCソースから移植してきた物)内部で
一時バッファにデータコピーする際にループ回してる所を、アルゴリズムを工夫して無くしてみたら6倍に。
更にメモリのコピーを安直に8bit単位でやってたところをulong(64bit)で纏めてみたら10倍程度に。
そんなもんか。どうやらそんなものらしい。

今どきのCPUじゃ分岐予測が優秀な為かちっとやそっとifやループを減らしたところで殆ど何も変わらないが
GPUの分岐予測はコンパイル時の静的な物だけらしく、冗談じゃなく分岐が入るたびに遅くなる印象。

で、せっかく作ったのだからソースをgithubに上げてみたいが、
ネットで拾ったSHA1ハッシュ計算のソースはオープンソースではないらしく
このままでは無理っぽい。
SHA1部分だけ各自取ってきてとやろうにもGPU向けに結構手を加えてしまってるんでそれもちょっと…
もし需要があったらフリーのSHA1ルーチンをベースに改変してみてもいいけど、まぁ知名度ないですし。
そういえば速い速いって言ってるのはx86上での話みたいだ…

#追記
今の所CPUの12倍程度の速度が出ている。
まだ最適化の余地があるので16倍は行けそうだ。

というのも現状ではキー(1200byteくらい)をデコードして一旦グローバルメモリに置いてから
改めて別のカーネルでそのハッシュを計算後、正しいかチェックという形をとっていて
これを「キーをデコードしつつハッシュも計算する」様にすれば遅いグローバルメモリを経由せず済む事になり、更なる高速化が望める。
あとはやる気があれば…

絵

モフモフってアニメ調でどうやって表現するの~?とか、動きの線(スピード線など)はどんな風なの?とか
そういうのを他人の絵を見たり描いてみたりして、要するに表現に関する試行錯誤。
従って描きかけばっかり増えて成果(完成品)は出てない現状。

久々にペン握ったら線もまともに引けなくてかなり焦ったが、1時間もやってたら戻った。

(2014/11/22)

OpenCL

ちょいと思う所があって今週はOpenCLの勉強をしていた。
思ったのは、OpenCLでプログラムを動かすのはわりかし簡単だけどGPUでの効率を求めると
やっぱりちゃんとAMDやNVIDIAのリファレンスを読んで仕組みを掴んでおく必要があるなという事。

既存のマルチスレッドなコードを素直にOpenCL Cにベタ移植しただけの物をGPUで動かすと
良くて4コアCPUの3倍程度、下手すりゃ殆ど同じくらいしか速度が出なかった。
(試したのはPhenomII X4 955とRadeon HD6850の組み合わせでJava Keystoreにブルートフォース方式でパスワードクラックを試みる自作プログラム)

普通にCPUでマルチスレッドするのに比べてOpenCLはそれなりに手続きや決まり事が有るため
移植やコーディングに余分な手間がかかるのに、速度がCPUと似たりよったりでは寂しい。

流石にOpenCLで試しました -> でもパフォーマンスは思ったほど出ませんでした
で終わりじゃアレ過ぎるんで、折角だから
上述の通りopencl programming guide等でググって出てきたPDFを読んだりとかしていた。

今はGPUに向けたデータ構成とアルゴリズムで組み直してる最中で、これで駄目なら諦める予定。

バッテリーWidgetの更新

物自体はできてるが、お察しの通りまだアップロードしてない。
最新版を試してみたい人はこのページ下の”添付ファイル”の欄に
app-release.apkというのがあるんで、そこからどうぞ。
内容は
  • Android2.3でも正常に表示されるようにした
  • 温度と電圧の表示、
  • 充電時のエフェクトを追加
である。アプリの署名が前と異なっている為、一度古いのをアンインストールしてからでないとインストール出来ないかも知れない。

絵

そろそろ次を描かないとね。月曜日さんは思いつきで1時間程度で仕上げたからあれはノーカウント。

(2014/11/15)

心機一転

忘れた署名keyのパスワードを特定すべく総当りと辞書攻撃する簡単なプログラムを書き、
これを開発している間バックグラウンドで動かしている…
並列化までしたけどやっぱり総当りは遅い。
ここまでわからないとは一体自分はどんなパスワードを設定したんだ?!と逆に興味が湧いて来た。
けど実際どうだろう、あまり期待せず見つかればラッキー位にしか思ってないが。

そんな訳で自作AppWidgetは新たに公開し直す方向で進めている。
以前と違いイラストも少しだけ描けるようになったから今見るとビミョーなロゴとか、
途中でアプリの名前変えたりして説明文と辻褄があってない部分も一掃出来て良いじゃないかという事で。
GooglePlayへ一度アップしたAPKは仕様上削除できず、公開停止という形でずっと残りスッキリしないが
まぁそんなのはこの先も度々あるさね。

名前はどうしようかと、数分悩んだ挙句…
まず、元ネタであるDカウンターの DとCは入れたい。
DはDragonだとまんま過ぎるからDのつく何か -> 適当にDigital
C -> Widgetの見た目からしてCube
わかり易さの点で”Battery”という単語は欲しいし、AppWidgetなら”Widget”も必須か。
結果、無難にDigital Cube Battery Widgetという感じに。(いや、今もそうなってるんだけどね)

(2014/11/13)

やりました

さあ不具合修正も終ったし更新かけとくかーと思いきや、署名に必要なkeyringのパスワード忘れて死亡。

keystoreの方は何とか思い出せたがkeyの方が、なんとも…
いや、自分の事だから大体アタリはつくんだけど部分的な2〜4文字くらいが思い出せない。困った。
幸いファイルはオフラインで何度も試行できるから、こうなればクラックしてみるか・・・?

(2014/11/13)

2.3.3のAVD

例の、Android2.3系で自作ウィジェットがバグるという話。
今まで2.3.3のエミュレータがどうにも動かなくて「まぁ古いしいいかー」と放置していたけどプログラミングのリハビリがてら対処に本腰を入れてみる。

まず、エミュレータが起動しないことには確認が出来ないのでそこから始める。
「動かない」というのは最初のAndroidのロゴさえ出ないか、出た直後にフリーズしてしまう現象のことである。
これについて調べてみたが…当方の検索スキルが足りないせいか
ググっても2010年あたりの「新しく追加されたAndroid2.3のエミュを使ってみよう!」みたいな話ばかりで一向にそれらしい対処法が得られず参った。

ならばと4.4から4.3, 4.2…とバージョンを下げていって何処まで起動できるか試したら、4.2までは
普通に動いて4.1と4.0はロゴが終わって上に通知バーが出た所で固まってしまった。
と思いきやスリープボタンを押してみたら動いた。そういうもんかね。

そんな調子でオプションを変えつつ色々やっていたら、どうやら2.3.3は
アーキテクチャをARMにした上でUse Host GPUのチェックを外す事で起動できる事がわかった。

で、動作が遅いながらも無事に起動したんで早速不具合確認。
よし。ちゃんと実機で見たようにバグってる。

(2014/11/11)

相変わらず絵の方だけ進んでてお察し。
けどまぁ、少しは落ち着いたんでAppWidgetのバグでも修正してみようかと思う…
2週間近くプログラミング自体してないんで色々とやばいかもしれない。

(2014/11/01)

Android2.3でのAppWidget

とりあえず、Android2.3.5の実機(SH-01D)を触る機会があったのでさり気なく自作のバッテリーウィジェットを入れてみたら
レイアウトが崩れているのを確認。
具体的にはピクチャーの表示オフセットが全部(0,0)で左上に寄ってしまっている。
幸いSH-01DはAndroid4.0へアップデート可能なのでアップデートすれば問題ない訳だけど
2.3系の対応を謳ってる以上、直したい。そのうち。
一時期停滞していたウィジェットのインストール数が最近微妙に増えてきたので機能追加もするかもしれない。

ゲームの方

先月の進捗更新が11日で止まっていて、にもかかわらず絵の方だけは着々とアップされている現状を見てお察し。

でもGitHubを見ればわかる通り、全くの放置でもないよと言い訳。
簡単に言えばモデルコンバータを作るうえで必要になったデータ構造2つとそれらの単体テスト、
自作ライブラリをAndroid向けにコンパイルする上で引っかかった(clangのバージョンが古くてエラーになった)箇所の修正など。
早くPCやAndroidでゲームを動かしたいものだ。


などと、言ってるそばからコレだけど。
「11)」をウィキ内検索
LINE
シェア
Tweet
添付ファイル
  • app-release.apk
  • dc_error.jpg
  • pentab.jpg
FPSを作ってみる@wiki
記事メニュー
  • トップページ
  • 参考資料ブックマーク等
  • Tips

Media

  • 頂き物
Screen shot
  • FPS_page1
  • FPS_page2
  • FPS_page3
  • Other_page1
Drawing
  • Drawing(analog)
  • Drawing(digital)
  • Drawing(digital) 2
  • Drawing(digital) 3
  • Drawing(digital) 4
  • Drawing(digital) 5
  • Drawing(digital) 6
  • Drawing(digital) 7
  • Drawing(digital) 8
  • Drawing(digital) 9
  • Drawing(digital) 10
  • Drawing(digital) 11
  • Drawing(digital) 12
  • Drawing(digital) 13
Movie
  • movies-list

Old Contents

  • トップページ(old)
  • メモ書き
  • 力仕事UP場
  • ゲームシステムとか
  • バグ・動作報告
  • program(twilve)

Progress log

  • (2018/03)
  • (2017/04)
  • (2017/03)
  • (2016/10)
  • (2016/09)
  • (2016/08)
  • (2016/07)
  • (2016/06)
  • (2016/05)
  • (2016/04)
  • (2016/03)
  • (2016/02)
  • (2016/01)
  • (2015/12)
  • (2015/11)
  • (2015/10)
  • (2015/09)
  • (2015/08)
  • (2015/07)
  • (2015/06)
  • (2015/05)
  • (2015/04)
  • (2015/03)
  • (2015/02)
  • (2015/01)
  • (2014/12)
  • (2014/11)
  • (2014/10)
  • (2014/09)
  • (2014/08)
  • (2014/07)
  • (2014/06)
  • (2014/05)
  • (2014/04)
  • (2014/03)
  • (2014/02)
  • (2014/01)
  • (2013/12)
  • (2013/11)
  • (2013/10)
  • (2013/09)
  • (2013/08)
  • (2013/07)
  • (2013/06)
  • (2013/05)
  • (2013/04)
  • (2013/03)
  • (2013/02)
  • (2013/01)
  • (2012/12)
  • (2012/11)
  • (2012/10)
  • (2012/09)
  • (2012/08)
  • (2012/07)
  • (2012/06)
  • (2012/05)
  • (2012/04)
  • (2012/03)
  • (2012/02)
  • (2012/01)
  • (2011/12)
  • (2011/11)
  • (2011/10)
  • (2011/09)
  • (2011/08)
  • (2011/07)
  • (2011/06)
  • (2011/05)
  • (2011/04)
  • (2011/03)
  • (2011/02)
  • (2011/01)
  • (2010/12)
  • (2010/11)
  • (2010/10)
  • (2010/09)
  • (2010/08)
  • (2010/07)
  • (2010/06)
  • (2010/05)
  • (2010/04)
  • (2010/03)
  • (2010/02)
  • (2010/01)
  • (2009/12)
  • (2009/11)
  • (2009/10)
  • (2009/09)
  • (2009/08)
  • (2009/07)
  • (2009/06)
  • (2009/05)
  • (2009/04)
  • (2009/03)
  • (2009/02)
  • (2009/01)
  • (2008/12)
  • (2008/11)
  • (2008/10)
  • (2008/09)
  • (2008/08)
  • (2008/07)
  • (2008/06)
  • (2008/05)
  • (2008/04)



記事メニュー2

Update Log

取得中です。
人気記事ランキング
  1. Drawing_analog
もっと見る
最近更新されたページ
  • 2686日前

    menu_L
  • 2686日前

    進捗状況(2018/03)
  • 2686日前

    Drawing_digital_13
  • 2686日前

    Drawing_digital_12
  • 2686日前

    トップページ
  • 2892日前

    Drawing_digital_11
  • 2973日前

    Drawing_digital_10
  • 3005日前

    進捗状況(2017/04)
  • 3046日前

    進捗状況(2017/03)
  • 3097日前

    頂き物
もっと見る
人気記事ランキング
  1. Drawing_analog
もっと見る
最近更新されたページ
  • 2686日前

    menu_L
  • 2686日前

    進捗状況(2018/03)
  • 2686日前

    Drawing_digital_13
  • 2686日前

    Drawing_digital_12
  • 2686日前

    トップページ
  • 2892日前

    Drawing_digital_11
  • 2973日前

    Drawing_digital_10
  • 3005日前

    進捗状況(2017/04)
  • 3046日前

    進捗状況(2017/03)
  • 3097日前

    頂き物
もっと見る
ウィキ募集バナー
新規Wikiランキング

最近作成されたWikiのアクセスランキングです。見るだけでなく加筆してみよう!

  1. MadTown GTA (Beta) まとめウィキ
  2. AviUtl2のWiki
  3. R.E.P.O. 日本語解説Wiki
  4. 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki
  5. シュガードール情報まとめウィキ
  6. ソードランページ @ 非公式wiki
  7. ドラゴンボール Sparking! ZERO 攻略Wiki
  8. シミュグラ2Wiki(Simulation Of Grand2)GTARP
  9. 星飼いの詩@ ウィキ
  10. Dark War Survival攻略
もっと見る
人気Wikiランキング

atwikiでよく見られているWikiのランキングです。新しい情報を発見してみよう!

  1. アニヲタWiki(仮)
  2. ストグラ まとめ @ウィキ
  3. ゲームカタログ@Wiki ~名作からクソゲーまで~
  4. 初音ミク Wiki
  5. 検索してはいけない言葉 @ ウィキ
  6. 機動戦士ガンダム バトルオペレーション2攻略Wiki 3rd Season
  7. 発車メロディーwiki
  8. Grand Theft Auto V(グランドセフトオート5)GTA5 & GTAオンライン 情報・攻略wiki
  9. オレカバトル アプリ版 @ ウィキ
  10. SDガンダム ジージェネレーションジェネシス 攻略Wiki
もっと見る
全体ページランキング

最近アクセスの多かったページランキングです。話題のページを見に行こう!

  1. 過去の行動&発言まとめ - 鹿乃つの氏 周辺注意喚起@ウィキ
  2. マイティーストライクフリーダムガンダム - 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki
  3. 魚拓まとめ - 鹿乃つの氏 周辺注意喚起@ウィキ
  4. 参加者一覧 - ストグラ まとめ @ウィキ
  5. 1103環境(遊戯王) - アニヲタWiki(仮)
  6. 前作からの変更点 - 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki
  7. 魔獣トゲイラ - バトルロイヤルR+α ファンフィクション(二次創作など)総合wiki
  8. コレクター・ユイ - アニヲタWiki(仮)
  9. サーヴァント/一覧/クラス別 - Fate/Grand Order @wiki 【FGO】
  10. 画像倉庫 - 鹿乃つの氏 周辺注意喚起@ウィキ
もっと見る

  • このWikiのTOPへ
  • 全ページ一覧
  • アットウィキTOP
  • 利用規約
  • プライバシーポリシー

2019 AtWiki, Inc.