diff options
author | Henrique Nakashima <hnakashima@chromium.org> | 2018-08-16 15:47:56 +0000 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2018-08-16 15:47:56 +0000 |
commit | 2a3377ce9a39d47d29c95d5db64690ad749d8c94 (patch) | |
tree | fb5d0513bb9a115396083d84542e31c926172ace /core/fxge/agg/fx_agg_driver.cpp | |
parent | 5f4cd74d2693e23b27237b935f28a87611e25e6b (diff) | |
download | pdfium-2a3377ce9a39d47d29c95d5db64690ad749d8c94.tar.xz |
Optimize rendering of two dimensional barcodes: deduplicate regions.
Reduce the logical size of the barcode by removing unnecessary
region duplication.
As far as I can tell, the line thickness is useless and the aspect
ratio causes arbitrary changes in rounding, but ultimately the
dimensions of a barcode are defined by its width and height, rather
than by this ratio.
The improvement with this CL is from ~580ms to ~390ms per barcode,
so about 1.5x. Combined with
https://pdfium-review.googlesource.com/c/pdfium/+/40010
the improvement is to ~15ms, which is about 39x.
This also fixes the rendering of the barcode in the pixel and
corpus tests. You can verify this pointing a barcode reader app at
the screen. It does not however fix every case, as the unit test is
still unreadable.
Bug: 872907, pdfium:1135
Change-Id: Ic28e60f54719552cfe69ace7ebc3f730c338a129
Reviewed-on: https://pdfium-review.googlesource.com/40030
Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Diffstat (limited to 'core/fxge/agg/fx_agg_driver.cpp')
0 files changed, 0 insertions, 0 deletions