Performance 5x Slower PDFKit Document creation and unresponsive for CJK custom WOFF fonts.

Đang mở
#1,469 2 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
35/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
javascript
Lĩnh vực
performance

Hướng nghiên cứu

Bắt đầu bằng cách tái hiện trường hợp PDF một trang với các phông chữ CJK WOFF được liên kết trong PDFKit 0.12.10 trên Node 18, so sánh thời gian tạo và khả năng phản hồi của trình duyệt với cùng các phông chữ ở định dạng TTF. Được xem là hoàn tất khi đã xác định và xử lý tình trạng chậm đặc thù của WOFF mà không gây hồi quy trong quá trình tạo phông chữ thông thường, sau đó xác minh hành vi trong Chrome và Firefox.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Bug Report

Slow PDFKit Document creation and unresponsive, when WOFF type fonts are used.
No performance impact for the same font in TTF

Description of the problem

We are generating a text-only single-page PDF.
For languages Chinese, Hebrew & Japanese, we are making use of the below Google font in WOFF format downloaded from Google Webfonts helper.

Chinese - Noto Sans SC (1.5 MB) Download link Choose Historic support to get WOFF format.

Japanese / Hebrew - M PLUS 1p regular Download link Choose Historic support to get WOFF format.

For the above languages with the mentioned fonts, the pdf download takes around 8 seconds - 11 seconds for a single page.And it becomes unresponsive in Firefox. However, for other languages, it is way less ~ around 1 -2 seconds.

With TTF it works better without any issues

Note: Unable to upload woff font in GitHub. So shared the link from where I downloaded it.

Your environment

  • pdfkit version: 0.12.10
  • Node version: 18
  • Browser version (if applicable): Chrome Delay is seen but in Firefox it becomes unresponsive.
  • Operating System: Windows
Ngôn ngữ chính
JavaScript
Star
10.7k
Fork
1.2k
Merge trung bình
21 giờ 41 phút
Pull request đã merge (30 ngày)
27

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của foliojs/pdfkit

Tất cả issue của foliojs/pdfkit

Issue tương tự

Thêm issue về JavaScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.