TESV Acceleration Layer – comparison

TESV Acceleration Layer を昨日手元で自分用に修正したあと、Skyrim Nexus にも修正版が upload されていたので昨日の夜は TESV Acceleration Layer を入れて問題の起きそうな場所を回ってみたり、radient quests を受けてみたりした。

当初の TESV Acceleration Layer だと、落石の trap を発動させても降ってこなかったりとか、分かりやすい問題が出ていたけれど、修正後は特に TESVAL のせいだ、と言い切れるような単純な問題には遭遇していない。ただし、code optimization を行うものなので、問題が全くないと断言することもできないところか。

対応としては save をこまめにとって、何か script が進行しない場面に遭遇したら TESVAL を外してやり直すというところだろう。

後は分かりやすいところで performance の比較。この位置がかなり FPS が低下するけれど、今日比較したところでは、

  • TESVAL 無し – 30 FPS
  • TESVAL 有り – 38 – 39 FPS

となっていた。この場面だけに限って言えば 30% 程度の performance improvement というところだろうか。設定は default の Ultra Preset で、shadow resolution を 8192、それに uGridsToLoad を 7 にして関連する設定を調節したくらいだ。

ただし、TESVAL は全体的な FPS を向上させるための物では無いので、適切な設定で game を起動していればあまり performance の違いを実感しないことの方が多いかもしれない。

例えば、昨日問題があるとして修正された test_bit_30 という function では TESVAL を使うと 2 op code となり、TESV.exe 本来の処理だと 4 op code となる。従って TESVAL を使うと、TESVAL で inject された functions の処理時間がそれぞれ few CPU cycle ずつ節約できると言う仕組みだ。

それぞれの場面で見れば小さな節約だけど、全体ではかなり大きな節約となって、結果として CPU が仕事をする時間が減ることになる (= 処理の高速化)。

この結果として、GPU の待ち時間が減って、結果的に FPS が向上するという仕組みになる。

なので、元々 CPU よりも GPU の方が bottleneck となっていた system では、特定の場所を除いては performance の向上を目にすることは殆ど無いだろう。あるいは CPU が bottleneck となっていたけれど GPU もそれほど能力が高くない場合、設定が高すぎたり、変に GPU の overclock をしていたりすると、結果として GPU がより忙しくなって GPU の driver が応答しなくなってしまう、などの問題が表面化することもありえるかもしれない。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中