Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug] performance problems on PDFs with lot's of markings #234

Open
mProjectsCode opened this issue Jun 18, 2024 · 7 comments
Open

[Bug] performance problems on PDFs with lot's of markings #234

mProjectsCode opened this issue Jun 18, 2024 · 7 comments
Labels
bug Something isn't working

Comments

@mProjectsCode
Copy link

Steps to reproduce

  1. have a big PDF (20+ pages)
  2. put in lot's of makings via the link method
  3. constant stutters with the PDF open when e.g. scrolling

(I sadly can not share the PDF that I am experiencing this in, as it is unpublished research to which I do not hold the copyright)

Expected behavior

The app to not stutter.

Actual behavior

The app stutters and is unresponsive for up to multiple seconds.

Screen recordings or screenshots (sandbox vault)

image
image

Obsidian debug info

SYSTEM INFO:
Obsidian version: v1.6.3
Installer version: v1.5.8
Operating system: Windows 10 Enterprise 10.0.19045
Login status: logged in
Catalyst license: supporter
Insider build toggle: on
Live preview: on
Base theme: adapt to system
Community theme: none
Snippets enabled: 1
Restricted mode: off
Plugins installed: 3
Plugins enabled: 2
1: PDF++ v0.40.8
2: Style Settings v1.0.8

RECOMMENDATIONS:
Custom theme and snippets: for cosmetic issues, please first try updating your theme and disabling your snippets. If still not fixed, please try to make the issue happen in the Sandbox Vault or disable community theme and snippets.
Community plugins: for bugs, please first try updating all your plugins to latest. If still not fixed, please try to make the issue happen in the Sandbox Vault or disable community plugins.

PDF++ debug info

{
    "settings": {
        "displayTextFormats": [
            {
                "name": "Title & page",
                "template": "{{file.basename}}, p.{{pageLabel}}"
            },
            {
                "name": "Page",
                "template": "p.{{pageLabel}}"
            },
            {
                "name": "Text",
                "template": "{{text}}"
            },
            {
                "name": "Emoji",
                "template": "📖"
            },
            {
                "name": "None",
                "template": ""
            }
        ],
        "defaultDisplayTextFormatIndex": 0,
        "syncDisplayTextFormat": true,
        "syncDefaultDisplayTextFormat": false,
        "copyCommands": [
            {
                "name": "Quote",
                "template": "> ({{linkWithDisplay}})\n> {{selection}}\n"
            },
            {
                "name": "Link",
                "template": "{{linkWithDisplay}}"
            },
            {
                "name": "Embed",
                "template": "!{{link}}"
            },
            {
                "name": "Callout",
                "template": "> [!{{calloutType}}|{{color}}] {{linkWithDisplay}}\n> {{text}}\n"
            },
            {
                "name": "Quote in callout",
                "template": "> [!{{calloutType}}|{{color}}] {{linkWithDisplay}}\n> > {{text}}\n> \n> "
            }
        ],
        "useAnotherCopyTemplateWhenNoSelection": false,
        "copyTemplateWhenNoSelection": "{{linkToPageWithDisplay}}",
        "trimSelectionEmbed": false,
        "embedMargin": 50,
        "noSidebarInEmbed": true,
        "noSpreadModeInEmbed": true,
        "embedUnscrollable": false,
        "singleTabForSinglePDF": true,
        "highlightExistingTab": false,
        "existingTabHighlightOpacity": 0.5,
        "existingTabHighlightDuration": 0.75,
        "paneTypeForFirstPDFLeaf": "left",
        "openLinkNextToExistingPDFTab": true,
        "openPDFWithDefaultApp": false,
        "openPDFWithDefaultAppAndObsidian": true,
        "focusObsidianAfterOpenPDFWithDefaultApp": true,
        "syncWithDefaultApp": false,
        "dontActivateAfterOpenPDF": true,
        "dontActivateAfterOpenMD": true,
        "highlightDuration": 0.75,
        "noTextHighlightsInEmbed": false,
        "noAnnotationHighlightsInEmbed": true,
        "persistentTextHighlightsInEmbed": true,
        "persistentAnnotationHighlightsInEmbed": false,
        "highlightBacklinks": true,
        "selectionBacklinkVisualizeStyle": "highlight",
        "dblclickEmbedToOpenLink": true,
        "highlightBacklinksPane": true,
        "highlightOnHoverBacklinkPane": true,
        "backlinkHoverColor": "",
        "colors": {
            "Yellow": "#ffd000",
            "Red": "#ea5252",
            "Note": "#086ddd",
            "Important": "#bb61e5"
        },
        "defaultColor": "",
        "defaultColorPaletteItemIndex": 0,
        "syncColorPaletteItem": true,
        "syncDefaultColorPaletteItem": false,
        "colorPaletteInToolbar": true,
        "noColorButtonInColorPalette": true,
        "colorPaletteInEmbedToolbar": false,
        "quietColorPaletteTooltip": false,
        "showStatusInToolbar": true,
        "highlightColorSpecifiedOnly": false,
        "doubleClickHighlightToOpenBacklink": true,
        "hoverHighlightAction": "preview",
        "paneTypeForFirstMDLeaf": "right",
        "singleMDLeafInSidebar": true,
        "alwaysUseSidebar": true,
        "ignoreExistingMarkdownTabIn": [],
        "defaultColorPaletteActionIndex": 4,
        "syncColorPaletteAction": true,
        "syncDefaultColorPaletteAction": false,
        "proxyMDProperty": "PDF",
        "hoverPDFLinkToOpen": false,
        "ignoreHeightParamInPopoverPreview": true,
        "filterBacklinksByPageDefault": true,
        "showBacklinkToPage": true,
        "enableHoverPDFInternalLink": true,
        "recordPDFInternalLinkHistory": true,
        "alwaysRecordHistory": true,
        "renderMarkdownInStickyNote": false,
        "enablePDFEdit": false,
        "author": "",
        "writeHighlightToFileOpacity": 0.2,
        "defaultWriteFileToggle": false,
        "syncWriteFileToggle": true,
        "syncDefaultWriteFileToggle": false,
        "enableAnnotationDeletion": true,
        "warnEveryAnnotationDelete": false,
        "warnBacklinkedAnnotationDelete": true,
        "enableAnnotationContentEdit": true,
        "enableEditEncryptedPDF": false,
        "pdfLinkColor": "#04a802",
        "pdfLinkBorder": false,
        "replaceContextMenu": true,
        "showContextMenuOnMouseUpIf": "Mod",
        "contextMenuConfig": [
            {
                "id": "action",
                "visible": true
            },
            {
                "id": "selection",
                "visible": true
            },
            {
                "id": "write-file",
                "visible": true
            },
            {
                "id": "annotation",
                "visible": true
            },
            {
                "id": "modify-annotation",
                "visible": true
            },
            {
                "id": "link",
                "visible": true
            },
            {
                "id": "text",
                "visible": true
            },
            {
                "id": "search",
                "visible": true
            },
            {
                "id": "speech",
                "visible": true
            },
            {
                "id": "page",
                "visible": true
            },
            {
                "id": "settings",
                "visible": true
            }
        ],
        "selectionProductMenuConfig": [
            "color",
            "copy-format",
            "display"
        ],
        "writeFileProductMenuConfig": [
            "color",
            "copy-format",
            "display"
        ],
        "annotationProductMenuConfig": [
            "copy-format",
            "display"
        ],
        "updateColorPaletteStateFromContextMenu": true,
        "mobileCopyAction": "pdf-plus",
        "showContextMenuOnTablet": false,
        "executeBuiltinCommandForOutline": true,
        "executeBuiltinCommandForZoom": true,
        "executeFontSizeAdjusterCommand": true,
        "closeSidebarWithShowCommandIfExist": true,
        "autoHidePDFSidebar": false,
        "defaultSidebarView": 1,
        "outlineDrag": true,
        "outlineContextMenu": true,
        "outlineLinkDisplayTextFormat": "{{file.basename}}, {{text}}",
        "outlineLinkCopyFormat": "{{linkWithDisplay}}",
        "recordHistoryOnOutlineClick": true,
        "popoverPreviewOnOutlineHover": true,
        "thumbnailDrag": true,
        "thumbnailContextMenu": true,
        "thumbnailLinkDisplayTextFormat": "{{file.basename}}, p.{{pageLabel}}",
        "thumbnailLinkCopyFormat": "{{linkWithDisplay}}",
        "recordHistoryOnThumbnailClick": true,
        "popoverPreviewOnThumbnailHover": true,
        "annotationPopupDrag": true,
        "showAnnotationPopupOnHover": true,
        "useCallout": true,
        "calloutType": "PDF",
        "calloutIcon": "highlighter",
        "highlightBacklinksInEmbed": false,
        "highlightBacklinksInHoverPopover": false,
        "highlightBacklinksInCanvas": true,
        "clickPDFInternalLinkWithModifierKey": true,
        "clickOutlineItemWithModifierKey": true,
        "clickThumbnailWithModifierKey": true,
        "focusEditorAfterAutoPaste": true,
        "clearSelectionAfterAutoPaste": true,
        "respectCursorPositionWhenAutoPaste": true,
        "autoCopy": false,
        "autoFocus": false,
        "autoPaste": false,
        "autoFocusTarget": "last-active-and-open-then-last-paste",
        "autoPasteTarget": "last-active-and-open-then-last-paste",
        "openAutoFocusTargetIfNotOpened": true,
        "howToOpenAutoFocusTargetIfNotOpened": "right",
        "closeHoverEditorWhenLostFocus": true,
        "closeSidebarWhenLostFocus": false,
        "openAutoFocusTargetInEditingView": true,
        "executeCommandWhenTargetNotIdentified": true,
        "commandToExecuteWhenTargetNotIdentified": "switcher:open",
        "autoPasteTargetDialogTimeoutSec": 20,
        "autoCopyToggleRibbonIcon": true,
        "autoCopyIconName": "highlighter",
        "autoFocusToggleRibbonIcon": true,
        "autoFocusIconName": "zap",
        "autoPasteToggleRibbonIcon": true,
        "autoPasteIconName": "clipboard-paste",
        "viewSyncFollowPageNumber": true,
        "viewSyncPageDebounceInterval": 0.3,
        "openAfterExtractPages": true,
        "howToOpenExtractedPDF": "tab",
        "warnEveryPageDelete": false,
        "warnBacklinkedPageDelete": true,
        "extractPageInPlace": false,
        "askExtractPageInPlace": true,
        "pageLabelUpdateWhenInsertPage": "keep",
        "pageLabelUpdateWhenDeletePage": "keep",
        "pageLabelUpdateWhenExtractPage": "keep",
        "askPageLabelUpdateWhenInsertPage": true,
        "askPageLabelUpdateWhenDeletePage": true,
        "askPageLabelUpdateWhenExtractPage": true,
        "copyOutlineAsListFormat": "{{linkWithDisplay}}",
        "copyOutlineAsListDisplayTextFormat": "{{text}}",
        "copyOutlineAsHeadingsFormat": "{{text}}\n\n{{linkWithDisplay}}",
        "copyOutlineAsHeadingsDisplayTextFormat": "p.{{pageLabel}}",
        "copyOutlineAsHeadingsMinLevel": 2,
        "newFileNameFormat": "",
        "newFileTemplatePath": "",
        "newPDFLocation": "current",
        "newPDFFolderPath": "",
        "rectEmbedStaticImage": false,
        "rectImageFormat": "file",
        "rectImageExtension": "webp",
        "zoomToFitRect": false,
        "rectEmbedResolution": 100,
        "includeColorWhenCopyingRectLink": true,
        "backlinkIconSize": 50,
        "showBacklinkIconForSelection": false,
        "showBacklinkIconForAnnotation": false,
        "showBacklinkIconForOffset": true,
        "showBacklinkIconForRect": false,
        "showBoundingRectForBacklinkedAnnot": false,
        "hideReplyAnnotation": false,
        "searchLinkHighlightAll": "true",
        "searchLinkCaseSensitive": "true",
        "searchLinkMatchDiacritics": "default",
        "searchLinkEntireWord": "false",
        "dontFitWidthWhenOpenPDFLink": true,
        "preserveCurrentLeftOffsetWhenOpenPDFLink": false,
        "defaultZoomValue": "page-width",
        "scrollModeOnLoad": 0,
        "spreadModeOnLoad": 0,
        "hoverableDropdownMenuInToolbar": true,
        "zoomLevelInputBoxInToolbar": true,
        "popoverPreviewOnExternalLinkHover": true,
        "actionOnCitationHover": "pdf-plus-bib-popover",
        "anystylePath": "",
        "enableBibInEmbed": false,
        "enableBibInHoverPopover": false,
        "enableBibInCanvas": true,
        "copyAsSingleLine": true,
        "removeWhitespaceBetweenCJChars": true,
        "vim": false,
        "vimrcPath": "",
        "vimVisualMotion": true,
        "vimScrollSize": 40,
        "vimLargerScrollSizeWhenZoomIn": true,
        "vimContinuousScrollSpeed": 1.2,
        "vimSmoothScroll": true,
        "vimHlsearch": true,
        "vimIncsearch": true,
        "enableVimInContextMenu": true,
        "enableVimOutlineMode": true,
        "vimSmoothOutlineMode": true,
        "vimHintChars": "hjklasdfgyuiopqwertnmzxcvb",
        "vimHintArgs": "all",
        "PATH": ""
    },
    "styleSettings": {
        "pdf-plus@@pdf-plus-highlight-opacity": 0.2,
        "pdf-plus@@pdf-plus-highlight-padding-vertical-em": 0.3
    },
    "styleSheet": ".pdf-plus-backlink-highlight-layer .pdf-plus-backlink:not(.hovered-highlight)[data-highlight-color=\"yellow\"],\n.pdf-embed[data-highlight-color=\"yellow\"] .textLayer .mod-focused {\n    --pdf-plus-color: #ffd000;\n    --pdf-plus-backlink-icon-color: #ffd000;\n    --pdf-plus-rect-color: #ffd000;\n}\n.pdf-plus-backlink-highlight-layer .pdf-plus-backlink:not(.hovered-highlight)[data-highlight-color=\"red\"],\n.pdf-embed[data-highlight-color=\"red\"] .textLayer .mod-focused {\n    --pdf-plus-color: #ea5252;\n    --pdf-plus-backlink-icon-color: #ea5252;\n    --pdf-plus-rect-color: #ea5252;\n}\n.pdf-plus-backlink-highlight-layer .pdf-plus-backlink:not(.hovered-highlight)[data-highlight-color=\"note\"],\n.pdf-embed[data-highlight-color=\"note\"] .textLayer .mod-focused {\n    --pdf-plus-color: #086ddd;\n    --pdf-plus-backlink-icon-color: #086ddd;\n    --pdf-plus-rect-color: #086ddd;\n}\n.pdf-plus-backlink-highlight-layer .pdf-plus-backlink:not(.hovered-highlight)[data-highlight-color=\"important\"],\n.pdf-embed[data-highlight-color=\"important\"] .textLayer .mod-focused {\n    --pdf-plus-color: #bb61e5;\n    --pdf-plus-backlink-icon-color: #bb61e5;\n    --pdf-plus-rect-color: #bb61e5;\n}\n.pdf-plus-backlink-highlight-layer .pdf-plus-backlink:not(.hovered-highlight) {\n    --pdf-plus-color: rgb(var(--text-highlight-bg-rgb));\n    --pdf-plus-backlink-icon-color: rgb(var(--text-highlight-bg-rgb));\n    --pdf-plus-rect-color: rgb(var(--text-highlight-bg-rgb));\n}\n.pdf-plus-backlink-highlight-layer .pdf-plus-backlink.hovered-highlight {\n\t--pdf-plus-color: green;\n\t--pdf-plus-backlink-icon-color: green;\n   --pdf-plus-rect-color: green;\n}\n.pdf-plus-color-palette-item[data-highlight-color=\"yellow\"] > .pdf-plus-color-palette-item-inner {\n    background-color: #ffd000;\n}\n.pdf-plus-color-palette-item[data-highlight-color=\"red\"] > .pdf-plus-color-palette-item-inner {\n    background-color: #ea5252;\n}\n.pdf-plus-color-palette-item[data-highlight-color=\"note\"] > .pdf-plus-color-palette-item-inner {\n    background-color: #086ddd;\n}\n.pdf-plus-color-palette-item[data-highlight-color=\"important\"] > .pdf-plus-color-palette-item-inner {\n    background-color: #bb61e5;\n}\n.pdf-plus-color-palette-item:not([data-highlight-color]) > .pdf-plus-color-palette-item-inner {\n    background-color: transparent;\n}\n.workspace-leaf.pdf-plus-link-opened.is-highlighted::before {\n\topacity: 0.5;\n}\nbody {\n    --pdf-plus-yellow-rgb: 255, 208, 0\n}\nbody {\n    --pdf-plus-red-rgb: 234, 82, 82\n}\nbody {\n    --pdf-plus-note-rgb: 8, 109, 221\n}\nbody {\n    --pdf-plus-important-rgb: 187, 97, 229\n}\nbody {\n    --pdf-plus-default-color-rgb: var(--text-highlight-bg-rgb)\n}\n.callout[data-callout=\"pdf\"][data-callout-metadata=\"yellow\"] {\n\t--callout-color: var(--pdf-plus-yellow-rgb);\n   background-color: rgba(var(--callout-color), var(--pdf-plus-highlight-opacity, 0.2))\n}\n.callout[data-callout=\"pdf\"][data-callout-metadata=\"red\"] {\n\t--callout-color: var(--pdf-plus-red-rgb);\n   background-color: rgba(var(--callout-color), var(--pdf-plus-highlight-opacity, 0.2))\n}\n.callout[data-callout=\"pdf\"][data-callout-metadata=\"note\"] {\n\t--callout-color: var(--pdf-plus-note-rgb);\n   background-color: rgba(var(--callout-color), var(--pdf-plus-highlight-opacity, 0.2))\n}\n.callout[data-callout=\"pdf\"][data-callout-metadata=\"important\"] {\n\t--callout-color: var(--pdf-plus-important-rgb);\n   background-color: rgba(var(--callout-color), var(--pdf-plus-highlight-opacity, 0.2))\n}\n.callout[data-callout=\"pdf\"] {\n\t--callout-color: var(--pdf-plus-default-color-rgb);\n   background-color: rgba(var(--callout-color), var(--pdf-plus-highlight-opacity, 0.2))\n}\n.callout[data-callout=\"pdf\"] {\n   --callout-icon: lucide-highlighter;\n}"
}

Error messages

not applicable

@mProjectsCode mProjectsCode added the bug Something isn't working label Jun 18, 2024
@mProjectsCode mProjectsCode changed the title [Bug] performance problems on PDFs with lot's of annotations [Bug] performance problems on PDFs with lot's of markings Jun 18, 2024
@mProjectsCode
Copy link
Author

I am facing the same issue on my laptop with the same vault, but on installer version 1.6.3.

@ongiei-ab
Copy link

same issue on version 1.6.7

@MichaelFW-ui
Copy link

same issue, any suggestions please?

@RyotaUshio
Copy link
Owner

RyotaUshio commented Nov 6, 2024

Sorry for the late reply. So far I haven't been able to reproduce such a performance issue. Can anyone share a zip of a minimal set of PDF & md files (or a vault) that I can reproduce it with?

@MichaelFW-ui
Copy link

Sorry for the late reply. So far I haven't been able to reproduce such a performance issue. Can anyone share a zip of a minimal set of PDF & md files (or a vault) that I can reproduce it with?

After an hour searching, I still can't reproduce the issue anywhere other than the original vault. It might be due to some plugin conflicts and performance issues on my end I suppose. I'm sorry I really don't know why and how to reprouduce. I'll try later.

@MichaelFW-ui
Copy link

MichaelFW-ui commented Nov 6, 2024 via email

@RyotaUshio
Copy link
Owner

@MichaelFW-ui Glad to hear it worked!

But as for mProjectsCode's original report, the situation looks different because the performance profile shows PDF++'s code taking a lot of time to execute. I have an idea for a potential fix.

RyotaUshio added a commit that referenced this issue Nov 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants