情報詳細Q: HDevelopで処理時間計測に使用するパフォーマンスプロファイラーの有効化と使用例を教えてください A: メニューバーの 実行 → プロファイラーの有効化 で使用できるようになります。 画像が小さい場合、右クリックして別タブで開いてください。プロファイラーメニューのストップウォッチのアイコン横の下三角で、計測項目を変更できます。よく使用するのは平均実行時間です。これは、プログラム各行の実行時間を意味しており F5 (プログラム実行) → F2 (プログラムリセット) → F5 →F2 … としたときの、それぞれの実行時間の平均値が表示されます。プログラム内部でfor文を使用して、1回のプログラム実行に対してある行が5回実行されるような場合、F5キーを押すたびに5回→10回→15回…の平均実行時間となります。使用例:次のプログラムを使用します。 dev_update_off () read_ocr_class_cnn ('Universal_Rej.occ', OCRHandle) read_image (Image, 'needle1.png') gen_rectangle2 (ROI_0, 171.4, 225.2, rad(3.567), 132.7, 21.46) reduce_domain (Image, ROI_0, ImageReduced) threshold (ImageReduced, Region, 0, 100) closing_rectangle1 (Region, RegionClosing, 3, 100) connection (RegionClosing, ConnectedRegions1) sort_region (ConnectedRegions1, SortedRegions, 'character', 'true', 'row') intersection (SortedRegions, Region, RegionIntersection) count_obj (RegionIntersection, Number) Classes := [] for i := 0 to Number-1 by 1 select_obj (RegionIntersection, ObjectSelected, i+1) do_ocr_single_class_cnn (ObjectSelected, ImageReduced, OCRHandle, 1, Class, Confidence) Classes := [Classes, Class[0]] endfor dev_display (Image) dev_set_draw ('margin') dev_set_line_width (2) dev_display (RegionIntersection) area_center (RegionIntersection, Area, Row, Column) dev_disp_text (Classes, 'image', Row, Column, 'black', [], []) これはサンプル画像を読み込み、画像の一部の文字をOCR機能で読み取るプログラムです。プログラムを実行すると、プロファイラーの情報が更新され、各オペレータの実行時間が表示されます。実行時間表示の背景の灰色のバーは、プログラム全体の実行時間に占めるその行の実行時間の比率を可視化しています。たとえば、read_imageには2.5msかかっており、それに続く大半の画像処理よりも画像の読み込み時間のほうが長いことがわかります。いっぽう、do_ocr_single_class_cnnはfor文の中であり、ここでは9文字を読み取っているため、実際の実行時間はこの表示内容の9倍です。for文を含むような場合は、平均実行時間ではなく総実行時間を指定すると、繰り返しを含めた実行時間がわかります。「プロファイラーのリセット」をすると、計測情報が一度リセットされます。「実行時間の統計」では、使用しているオペレータが全て列挙されます。「プログラムライン」に切り替えると、各行の情報が得られます。合計や平均の列タイトルをクリックすると、その情報でソートされます。長大なプログラムであっても、どの処理が最も時間を要しているのか一目瞭然です。デフォルトではメイン文のオペレータとプロシージャで計測が行われますが、プロシージャ内も計測対象としたい場合は右から2番目のトグルを有効化してくださいExcelなどで確認したい場合、表の左上隅をクリックすると表全体が選択状態になります。その状態でコピーをクリックするとクリップボードへデータがコピーされるため、それをExcel等へ貼り付けて使用できます。処理時間計測や高速化のための手がかりとして活用ください。 添付ファイルタイトルHDevelopのパフォーマンスプロファイラーの有効化とその使い方URL 名000012256公開状況公開済み検証状況未検証