タグ

ブックマーク / www.kaoriya.net (4)

  • Vim の DirectX を速くした話 — KaoriYa

    先日の記事 に書いたとおり Vim のカラー絵文字パッチにより、 DirectX (正確には DirectWrite) を用いた画面描画がめちゃくちゃ速くなりました。 その記事にはこんなことを書いていましたね。 そして僕は大きな間違いに気がついた。 詳細を説明はしませんが、一言で言えば「Vimは標準的なWin32アプリではない」 このあたりをちょっと詳細に説明してみようと思います。 なので Vim の話でありながらほとんど Windows の話になります。 しかも無駄に長くなりそうです。(実際なった) なおこの記事は Vim Advent Calendar 2017 3日めの参加記事です。 遅かった理由 速くなった理由を知るには、その前の遅かった理由を知る必要があるでしょう。 まずはそれを見ていきましょう。 DirectWrite には大きく分けて2つの描画方法があります。 GPUの性能を

    qtamaki
    qtamaki 2017/12/03
    #vim
  • golang は ゆるふわに JSON を扱えまぁす! — KaoriYa

    以下のツイートにもある通り、一見 golang は struct を定義しないと JSON を扱えないように見えます。他にも似たようなツイートをチラホラと見かけましたが、それらは全部誤解です。そこでこの記事では、golang でゆるふわ (structを定義せず) に JSON を扱う方法を紹介します。 golangrubyのようにゆるふわにJSONは扱えない? https://t.co/olsryDHc5G — bamchoh (@bamchoh) 2016年6月24日 この記事では入力の json.Unmarshal() を取り扱いますが、出力の json.Marshal() にも応用できます。 TL;DR json.Unmarshal() には *interface{} を渡せます interface{} は dproxy を使うと、値のアクセスで楽ができます json.Unmar

    qtamaki
    qtamaki 2016/06/26
  • Vim scriptによるゲームの新アーキテクチャの考察 — KaoriYa

    従来のVim scriptによるゲーム作成時の問題点を解消する、 新しいアーキテクチャを考察してみました。 この記事は Vim script Advent Calendar 2015 の 13日目の記事です。 まずは以下のデモ画像(別ウィンドウ)を見てください。 かなりスムーズに○リオが動いています。実はこれ、全部Vim scriptでできています。 ソースコードは koron/vim-ario に置いてありますので、チェックアウトして gvim -S game.vim することで試せます。ただし動作確認・保証は Windows版の +kaoriya な gvim でしかしておりません。また解像度も画面幅1920ドット無いとおかしなことになるので、異なる環境の場合は各自で調整してPRなどしてください。 操作は以下のとおりです。 h - 左ボタンのトグル l - 右ボタンのトグル f - ジ

    qtamaki
    qtamaki 2015/12/13
    まじかよ。クールだな
  • プログラミング言語内の正規表現リテラルについて — KaoriYa

    プログラミング言語内の正規表現リテラルが是か非か、 そんな議論にいまさらながら参加してます。 ただしどちらかの立場に立って擁護したいというわけではなく、 話を抽象化というか一般化して問題の質にせまります。 今週始めに「プログラミング言語内に正規表現リテラルが必要かどうか」という論争がtwitterの一部で盛り上がっておりました。私個人の意見としては以下の発言に集約されております。 正規表現リテラルの議論、プログミング言語の良さをどう定義するかに、結論が大きく依存しそう。言語の定義を最小にするなら要らないし、記述を最小にするなら要る。更に言うと描きやすさと読みやすさの定義と比重。 — MURAOKA Taro (@kaoriya) 2013, 12月 18 つまり言語の良さなどドメイン(≒用途)で決まるのだから、その設定次第で結論はどちらにでもできてしまう、というわけですね。 でも、まてよ

  • 1