Jw_cadに効くDirectX対応グラフィックボード~Direct2D効果で描画の高速化(nVIDIA GeForce)

CADは平面図が目的で主にAutoCAD LTを使って来ましたが、AutoCADの操作に慣れた事もありプライベート用では操作が似ているダッソーのDraftSightを使わせてもらってました。

昨年から仕事の関係でJw_cadを使用しなくてはならなくなり、当初はJw特有の操作に苦労したものの、やはり仕事で嫌になるほど使っていると身についてくる訳でして、現在ではちょっとした図を描くのならJw_cadの方が早いし、レイヤー分類等もJw_cadの方が手早くできてしまう様な状態になりました。

ただ、現在の仕事では、業種が違う部門で描かれた非常に複雑かつ大きな図の上に、私の仕事に関係する図(レイヤー)を乗せていく作業をしており、元からして呆れるほど大きな図面に書き加えていくにはPCスペックの足りなさに嫌気がさすことも増えてきました。

何しろ複雑な地形図やら施設図やらが既に入っているので受け取った時点でファイルサイズが大きいのです。それをJw_cadの形式に変換した段階で更に肥大し、Jw_cadで開いてまず最適化(整理)を行う必要があるのですが、その作業が出来ないという事態に陥ることもあります。

回避方法は、高性能なPCを使ってJw_cadで作業するしかありません。開いた時点でほぼフリーズ状態になる図面もあります。PCのスペックがしょぼすぎるってのもあるでしょうけどね。

反面、プライベートでそこまで複雑な図面を扱うことはないのですが、他CAD形式を変換して流用することにも慣れたので、手っ取り早くメーカーが配布している図面を変換して、自分が必要な情報を別レイヤで乗せていくという手法がプライベートでも当たり前となりました。やはり一から描くのとでは大違いです。効率を考えると入手できる図面はCADデータで入手して変換するのが一番の近道(時短)です。

複雑なCAD図面は古いPCでは辛い

Jw_cadはそれほどスペックを必要とするCADでは無いと言われます。確かに一般的な家屋の平面図、立面図、設備図、配線図などであればノートパソコンでも十分事足りるでしょう。

しかし、扱う図面が複雑でファイルサイズも大きくなると、ちょっとした作業毎にPCリソースに頼る事になり、動作も遅くその都度イライラさせられることになります。

具体的には、ファイルサイズで30MBをオーバー、線の数が10万本以上となると画面の再描画(リドロー)が頻繁に発生し、画面をその都度書き換えるで待たされます。複雑な地形図が入っているとそれだけでかなりの負担になります。

自宅で使用してるPCは、職場のPCよりも古いのでCPUのテクノロジー的には劣るのですが、購入当時に奮発してマザーボード、CPUを奢っておいたため、単純な処理能力では古いはずの自宅PCの方が速く、Jw_cadの操作が快適だということがわかりました。

仕事は持ち帰り(持ち出し)NGなので、仕事と同じ図面で比較したわけではないのですが、ネットでダウンロードできるメーカー提供の複雑な図面を使って比較してみたところ、Intel Coreの世代が古い自宅PCでも、クロック数、コア数で上を行くプライベート用PCの方がJw_cadの動作は良いという結果でした。ローエンドとは言え、GeForceグラフィックボードを実装しているのも違いとして現れているのかも知れません。

このPCも約10年使用しているため、流石にショボさを感じる場面はあるのは事実です。そこで唯一ローエンドなパーツを使っていた部分、グラフィックカード(ディスプレイボード)を今回グレードアップすることにしました。

私がこのPCを購入した当時に一番安かったグラフィックカードは、NVIDIA Geforce 210というものです。驚いたことに現在もまだ販売されているらしく、ある意味リファレンス的なグラフィックカードとして継続販売されているとか。当時3,000円程度で購入したお手軽グラボで、Windowsエクスペリエンス値もグラフィクだけが低いスコアです。でもこれで少し前までは事足りていました。流石に今の時代になると厳しくなって来たと感じます。

GeForce 210 エクスペリエンススコア

今回NVIDIAのグラボをグレードアップする

私ははじめての自作PCを組んだ時に、NVIDIAのGeforce 256を使って3Dゲームがヌルヌルと動く事を体験したので、グラボの重要性は学習しています。しかしその後ゲームをする事もなくなったので、現在使っているPCを組んだときは映れば良いというレベルでGeforce 210で済ませてしまいました。その分の予算をマザボとCPU、メモリー等にぶっこんだというのが当時の価値観でした。

実際、それなりのスペックのPCだったので、約10年不満もなく使用して来られましたし、処理が遅くボトルネックになっていたHDDを、SSDに換装した程度で現在もそれなりに使用できています。

今回、グラボを当時数万円していたであろうものにグレードアップすることにしました。もちろん型遅れですし販売もされていないので中古でゲットすることにします。手っ取り早く選択肢も多いヤフオクです。

グラボだけ現行品にしてもほぼ無意味ですし規格もかなり変わっているのでバランスが取れません。やはり当時のハイグレード・グラボを中古で格安ゲットが一番だと判断しました。

OpenGLにするかDirextXにするか

さて今回もNVIDIAをチョイスすることは迷いもありません。しかし、NVIDIAのPC向けグラボには、大きく分けて2つのラインがありますので慎重に検討する必要があります。

  • Geforce(ゲーミング):DirectX
  • Quadro(CAD、3D CG):OpenGL

ざっくり言ってしまえばこの2系統で大きく違います。現在の私はゲームはしません。CADや2D CGを扱うことはしばしばあります。一見するとQuadroを選択すべきなのですが、要点はDirectXを重視するか?OpenGLを重視するか?になります。

多くのCADはOpenGLをサポートしていますが、私が仕事で必要に迫られて慣れたJw_cadは、OpenGLに対応していません。しかしバージョン8系からDirect2D(DirectX 9)をサポートしました。

Direct2DはDirectX上で動作する2D描画のAPI(Direct3Dの一部)です。Windowsで言えばWindows 7以降からDirect2Dによる描画がサポートされており、Windows上における色々な場面での描画性能に貢献しています。Webブラウザ等もDirect2Dによってより高速に(キビキビと)画面が表示される様に開発されています。

Jw_cad Ver.8.xはこのDirect2D APIを使うことによって画面の描画をハードウェアに委ねることができ、高速な描画が実現される様になりました。高性能なグラフィック機能(ハードウェア)が実装されていればより快適に動くわけです。Jw_cad Ver.8がリリースされた当時はヘビーユーザー待望の機能だとして話題になりました。

実際、Jw_cad Ver.8系では、Direct2Dを使うか?使わないか?を切り替える選択が設定で変更でき、線数が多い図面ではDirect2Dが効くとかなりの描画時間の違いがあります。使い慣れて操作も無意識に近いレベルで行える様になって来たので、待たされるストレスが改善されるのは願ってもありません。

今回、衝動的にOpenGLサポートを強化してあるQuadroを選んでしまいそうになりましたが、きちんと調べたらJw_cadではむしろDirectXを重視すべきだということに気づいたので、型遅れながらもミドルクラスのGeForceを選ぶことにしました。ハイエンドのグラボは消費電力も多くなり発熱量のことなども別課題として降り掛かってくるからです。現実問題そこまで使い込むことになればPCを買い替え時だと思っています。

NVIDIA GeForce 9600GT(中古)を選んだ

今回ヤフオクで(送料込で考えても)非常に安く手に入れることができたので、NVIDIA GeForce 9600GTにグレードアップすることにしました。GeForce 210からのグレードアップなので、単純なベンチマーク比較だと5倍くらいの処理能力の向上です。

正直にぶっちゃけると、自宅で使っているPCを組んだ頃には、ゲームも飽きていたし、3D CGにも興味がなく、グラボに執着がなかったので当時のモデルや価格についてはしっかりとは記憶していませんでした。なので中古で当時のグラボを選定しようにも、明確なモデルを思い出せずどれを選んだら良いかわからないためどうしようかと思いました。

やはりその当時の情報がこうして残っているのは非常にありがたいことです。現行モデルであればメーカーサイトなどで情報が得られますが、すでに何年も経過してしまったモデル(廃盤)は、公式な情報がありませんからユーザーが持ち寄った情報、蓄積されたデータベースが有用だと思います。techpowerup.comの情報はそういう状況にある自分にとって参考になりました。

もっとも、問題なのはベンチマーク(数値)じゃなくて、実際の操作性にどれだけ効いてくるか?という感覚的なものなので、漠然と5倍くらいの性能があれば良いかなと、GeForce 9600 GTに決めることにしました。GeForce 9800 GTにすると少し中古相場が上がるんですよね。あとは実際に交換して使ってみるしかありません。

GeForce 210をGeForce 9600GTに交換

ヤフオクで予定通り安く入手できたので、早速交換してみることにしました。

画像の上がGeForce 9600GT、下がGeForce 210です。ヒートシンクの厚みが全然違いますし使ってるパーツの品質もかなり差がある様です。持ち比べてみるとGeForce 210はおもちゃみたいな軽さです。

約10年の型遅れとは言え、当時GeForce 9600GTは2万円以上で販売されていたと記憶しているので、別格であって当然です。スコアも上がりました。

GeForce 9600 GT エクスペリエンススコア

Jw_cadの描画が劇的に改善された!

実業務でJw_cadを使っていると、やはり専業CADに比べて汎用CADは弱点もあるんだなと思わざるを得ません。今回の変更は自宅のプライベート用PCなので、仕事で使っている図面を使っての比較はできません。仕方ないのでネット上で入手できる複雑な図面を手に入れ、コピーしたり、別レイヤーで縮尺を変えたりしてベンチマーク的に使用できるダミー図面(内容は意味がない線ばかりを大量に含む)を作って比較してみました。

結果、職場のPCでは開くことすらままならないJw_cad図面が、自宅のPCでは当たり前に開け、作業も滞りなく行えることができました。

しかし、職場のPCは比較的新しい機種。オンボードの統合グラフィックチップとは言え処理能力は侮れません。どの部分がJw_cadにそんなに効くのかを調べるために、Direct2D専用のベンチマークを取ってみました。もはやGeForce 210は蚊帳の外です。

職場PCと自宅PCとでDirect2Dベンチマーク比較

今回使わせていただいたベンチマークは、Direct2D専用に作られたアプリ。

東芝DYNABOOK

OS:Microsoft Windows NT 6.1.7601 Service Pack 1
ウィンドウサイズ:1920×1080
CPU:Intel(R) Core(TM) i3-4005U CPU @ 1.70GHz
Video Controller:Intel(R) HD Graphics Family
実行回数:1000

アンチエイリアシング:False
D2D文字列:4123ms 0MPixel/s
D2D線:4166ms 0MPixel/s
D2D塗りつぶし:18124ms 172.42MPixel/s
D2DBitBlt:7482ms 417.66MPixel/s

アンチエイリアシング:True
D2D文字列:4658ms 0MPixel/s
D2D線:4943ms 0MPixel/s
D2D塗りつぶし:26639ms 117.3MPixel/s
D2DBitBlt:13333ms 234.38MPixel/s

自宅PC(デスクトップ)

OS:Microsoft Windows NT 6.1.7601 Service Pack 1
ウィンドウサイズ:1920×1080
CPU:Intel(R) Core(TM) i7 CPU S 870 @ 2.67GHz
Video Controller:NVIDIA GeForce 9600 GT
実行回数:1000

アンチエイリアシング:False
D2D文字列:710ms 0MPixel/s
D2D線:633ms 0MPixel/s
D2D塗りつぶし:1859ms 1681.01MPixel/s
D2DBitBlt:1160ms 2693.96MPixel/s

アンチエイリアシング:True
D2D文字列:746ms 0MPixel/s
D2D線:771ms 0MPixel/s
D2D塗りつぶし:1940ms 1610.82MPixel/s
D2DBitBlt:1179ms 2650.55MPixel/s

ベンチマークの実行時間にあまりにも差があるとその瞬間に体感したので、確実にグラボの差はあると実感できましたが、数値にすると桁が違うのが説得力としてあります。まさに今回のグレードアップはツボを得た感じでした。グレードアップしてみて良かった。

特に線の描画に要する時間が、職場PCでは4秒かかっているところ、自宅PCでは0.7秒で終わるところが大きいと思います。アンチエイリアシングの劇的な性能アップは、画像処理や動画エンコード処理にも効果があるかもしれません。

ここまで差があるとわかったら、仕事用PCをグレードアップしてほしいと願うのみです。少しでも早く仕事を終わらせて帰りたいですからね・・残業嫌いだよ

Jw_cadの描画が遅い場合のカスタマイズポイント

Jw_cadを使って複雑な図面を描いていて遅い!と困っている人がいるかもしれないので、私が検証した結果を要約しておきます。

  1. Jw_cadはVer.8.xを使用する(Direct2Dを使いたいため)
  2. DirectXに強いグラフィックカード(グラボ)を使用する。
    NVIDIA GeForceシリーズが有力候補(QuadroはJw_cadには向かない)
    Direct3D 9以上に対応していることがJw_cadでの要求スペック。

最近の第7世代 Intel Core等であれば、統合グラフィックチップでも十分なのかも知れませんが、古いPCをパーツ交換で対応する場合は、そのPCが販売された時代のなるだけ高性能なグラフィックカード(DirectX系)をチョイスすれば、十分戦力になるということがわかりました。

リサーチした情報の中には、現行のグラボは3D性能を優先する上で2D性能が落ちているという意見もある様なので、新しければ良いというものでもなさそうです。仕事に使用するのであればなおさら用途に最適化する必要がありそうですね。

もちろん、NVIDIA Quadroはビジネス用途に最適化された特別な(割高な)グラボですが、アプリ(Jw_cad)が対応していないので仕方ありません。ここを見誤ると割高なQuadroをそれなりの性能で使用することになってしまうところでした。

参考情報

使っているPCのハードウェア情報を知るのに便利なアプリを記録しておきます。私のPCのスペックが今となっては大したことない(古い)ことがわかると思います。それでもデスクトップPCの優位性もあり職場のPCよりは断然快適です。

CPU-Z

PCのスペックを調査できます。簡易ベンチマークも実装。

GPU-Z

PCの描画に関するスペックを調査できます。
画面右上にある「LOOKUP」ボタンをクリックすると、グラフィックカード毎の比較情報(Webサイト)にアクセスできます。現状使っているグラフィックカードから、どれくらいの性能アップを望むのか?どの型番をターゲットにするかの目安になると思います。私はこのサイトでGeForce 210から9600GTにグレードアップを決めました。

高望みしてあまりハイグレード化しすぎると、供給電源の課題も出てきますから程々にするのも一案です。発熱量も増えますし当然電気代もかかります。

D2DBench

Direct2Dに特化したベンチマークが計測できるので、Jw_cadをより快適に使いたいという向きには非常に参考になるツールでしょう。

Jw_cad

商用利用も可能な国産の汎用CAD(フリーウェア)として有名です。日本国内のPCユーザーにおいて、CADを普及させた立役者といっても過言ではないでしょう。小さな不動産屋さん、電気工事屋さん、設備屋さん、あらゆる業界で使われている柔軟性のあるCADです。

最大のメリットは、フリーウェアであることでしょう。極端な話、PCがある職場であれば、経費をかけずにCADが利用できます。本当にありがたいことです。専業CADに機能は劣るところが多々ありますが、それすらも問題にならない位にメリットの方が強いですね。個人でももちろん利用できます。Windowsパソコン専用というところだけが弱点でしょうか。

コメントを残す