Search
Categories
Articles
Rainmeter関連
ファイル置き場
お知り合いなど

スポンサーサイト

--.--.-- | スポンサー広告

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

[Rainmeter] Rainmeter 2.0

2011.02.07 | Rainmeter

0 Comments

さあ1.4正式版が出ましたよ……と思いきや、一気に繰り上がって2.0としてリリースです。
バージョンが繰り上がった理由としては、C#プラグインが使えるようになったことと、Luaスクリプトがサポートされたことなど、機能的なものもありますが、Rainmeterの開発がGoogle code上で始まってちょうど2周年ということも個人的には大きかったのかなと思います。

2.0においては、そういった大きな新規能の追加がなされたものの、個人的には機能追加よりも、細かなバグ修正や既存機能の改善と安定性の向上に焦点を当てて取り組みました。前々回前回の記事に書いたようなリソース・負荷軽減がメインです。

1.2と1.3では、機能の追加に伴い、まずはとりあえず動くコードを書いていましたが、次第に冗長になったり、無駄にリソースを使っていたり、そもそも必要な処理じゃなかったりといった部分が出てきました。コミットログを見ると、ほとんどがそういったコードの掃除です。

負荷軽減で効果的だったのは、前回の記事にある!RainmeterUpdateなどの追加もそうですが、それよりも大きな効果があったのは、内部で使用しているバッファ用ビットマップのフォーマットを32ビットARGBから32ビットPARGBに変更したことです。Pは乗算済みアルファ(Premultiplied alpha)であることを表していて、そちらを使ったほうが処理が速いようです。スキンの大きさにもよりますが、描画負荷は3/4~1/2ほどに軽減されました。元々はGDIでのDIBSectionを使った高速化を考えていて、その過程でわかった副産物でした(乗算済みアルファというものを知らなかった)。

今のところ、次は何をしようといった考えはありませんが(メジャーバージョンアップもしたし)、細々とした改善は続けようと思います。とりあえず、Lua関連のコードはもう少しどうにかなると思うんだ……。どういうものなのかの調査から始めないと。

スポンサーサイト

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。