mirror of
https://github.com/go-gitea/gitea.git
synced 2026-03-12 02:24:21 -05:00
Code view of a file (the one with syntax highlighting and lines) has really poor performance in Firefox #9720
Closed
opened 2025-11-02 08:47:36 -06:00 by GiteaMirror
·
10 comments
No Branch/Tag Specified
main
release/v1.25
release/v1.24
release/v1.23
release/v1.22
release/v1.21
release/v1.20
release/v1.19
release/v1.18
release/v1.17
release/v1.16
release/v1.15
release/v1.14
release/v1.13
release/v1.12
release/v1.11
release/v1.10
release/v1.9
release/v1.8
v1.25.3
v1.25.2
v1.25.1
v1.25.0
v1.24.7
v1.25.0-rc0
v1.26.0-dev
v1.24.6
v1.24.5
v1.24.4
v1.24.3
v1.24.2
v1.24.1
v1.24.0
v1.23.8
v1.24.0-rc0
v1.25.0-dev
v1.23.7
v1.23.6
v1.23.5
v1.23.4
v1.23.3
v1.23.2
v1.23.1
v1.23.0
v1.23.0-rc0
v1.24.0-dev
v1.22.6
v1.22.5
v1.22.4
v1.22.3
v1.22.2
v1.22.1
v1.22.0
v1.23.0-dev
v1.22.0-rc1
v1.21.11
v1.22.0-rc0
v1.21.10
v1.21.9
v1.21.8
v1.21.7
v1.21.6
v1.21.5
v1.21.4
v1.21.3
v1.21.2
v1.20.6
v1.21.1
v1.21.0
v1.21.0-rc2
v1.21.0-rc1
v1.20.5
v1.22.0-dev
v1.21.0-rc0
v1.20.4
v1.20.3
v1.20.2
v1.20.1
v1.20.0
v1.19.4
v1.21.0-dev
v1.20.0-rc2
v1.20.0-rc1
v1.20.0-rc0
v1.19.3
v1.19.2
v1.19.1
v1.19.0
v1.19.0-rc1
v1.20.0-dev
v1.19.0-rc0
v1.18.5
v1.18.4
v1.18.3
v1.18.2
v1.18.1
v1.18.0
v1.17.4
v1.18.0-rc1
v1.19.0-dev
v1.18.0-rc0
v1.17.3
v1.17.2
v1.17.1
v1.17.0
v1.17.0-rc2
v1.16.9
v1.17.0-rc1
v1.18.0-dev
v1.16.8
v1.16.7
v1.16.6
v1.16.5
v1.16.4
v1.16.3
v1.16.2
v1.16.1
v1.16.0
v1.15.11
v1.17.0-dev
v1.16.0-rc1
v1.15.10
v1.15.9
v1.15.8
v1.15.7
v1.15.6
v1.15.5
v1.15.4
v1.15.3
v1.15.2
v1.15.1
v1.14.7
v1.15.0
v1.15.0-rc3
v1.14.6
v1.15.0-rc2
v1.14.5
v1.16.0-dev
v1.15.0-rc1
v1.14.4
v1.14.3
v1.14.2
v1.14.1
v1.14.0
v1.13.7
v1.14.0-rc2
v1.13.6
v1.13.5
v1.14.0-rc1
v1.15.0-dev
v1.13.4
v1.13.3
v1.13.2
v1.13.1
v1.13.0
v1.12.6
v1.13.0-rc2
v1.14.0-dev
v1.13.0-rc1
v1.12.5
v1.12.4
v1.12.3
v1.12.2
v1.12.1
v1.11.8
v1.12.0
v1.11.7
v1.12.0-rc2
v1.11.6
v1.12.0-rc1
v1.13.0-dev
v1.11.5
v1.11.4
v1.11.3
v1.10.6
v1.12.0-dev
v1.11.2
v1.10.5
v1.11.1
v1.10.4
v1.11.0
v1.11.0-rc2
v1.10.3
v1.11.0-rc1
v1.10.2
v1.10.1
v1.10.0
v1.9.6
v1.9.5
v1.10.0-rc2
v1.11.0-dev
v1.10.0-rc1
v1.9.4
v1.9.3
v1.9.2
v1.9.1
v1.9.0
v1.9.0-rc2
v1.10.0-dev
v1.9.0-rc1
v1.8.3
v1.8.2
v1.8.1
v1.8.0
v1.8.0-rc3
v1.7.6
v1.8.0-rc2
v1.7.5
v1.8.0-rc1
v1.9.0-dev
v1.7.4
v1.7.3
v1.7.2
v1.7.1
v1.7.0
v1.7.0-rc3
v1.6.4
v1.7.0-rc2
v1.6.3
v1.7.0-rc1
v1.7.0-dev
v1.6.2
v1.6.1
v1.6.0
v1.6.0-rc2
v1.5.3
v1.6.0-rc1
v1.6.0-dev
v1.5.2
v1.5.1
v1.5.0
v1.5.0-rc2
v1.5.0-rc1
v1.5.0-dev
v1.4.3
v1.4.2
v1.4.1
v1.4.0
v1.4.0-rc3
v1.4.0-rc2
v1.3.3
v1.4.0-rc1
v1.3.2
v1.3.1
v1.3.0
v1.3.0-rc2
v1.3.0-rc1
v1.2.3
v1.2.2
v1.2.1
v1.2.0
v1.2.0-rc3
v1.2.0-rc2
v1.1.4
v1.2.0-rc1
v1.1.3
v1.1.2
v1.1.1
v1.1.0
v1.0.2
v1.0.1
v1.0.0
v0.9.99
Labels
Clear labels
$20
$250
$50
$500
backport/done
💎 Bounty
docs-update-needed
good first issue
hacktoberfest
issue/bounty
issue/confirmed
issue/critical
issue/duplicate
issue/needs-feedback
issue/not-a-bug
issue/regression
issue/stale
issue/workaround
lgtm/need 2
modifies/api
modifies/translation
outdated/backport/v1.18
outdated/theme/markdown
outdated/theme/timetracker
performance/bigrepo
performance/cpu
performance/memory
performance/speed
pr/breaking
proposal/accepted
proposal/rejected
pr/wip
pull-request
reviewed/wontfix
💰 Rewarded
skip-changelog
status/blocked
topic/accessibility
topic/api
topic/authentication
topic/build
topic/code-linting
topic/commit-signing
topic/content-rendering
topic/deployment
topic/distribution
topic/federation
topic/gitea-actions
topic/issues
topic/lfs
topic/mobile
topic/moderation
topic/packages
topic/pr
topic/projects
topic/repo
topic/repo-migration
topic/security
topic/theme
topic/ui
topic/ui-interaction
topic/ux
topic/webhooks
topic/wiki
type/bug
type/deprecation
type/docs
type/enhancement
type/feature
type/miscellaneous
type/proposal
type/question
type/refactoring
type/summary
type/testing
type/upstream
Mirrored from GitHub Pull Request
Milestone
No items
No Milestone
Projects
Clear projects
No project
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/gitea#9720
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @ell1e on GitHub (Oct 21, 2022).
Description
The code view of a file (the one with syntax highlighting and lines) has really poor performance in Firefox. When I scroll, I often see a giant rectangle of black for the new part and it needs a second to render it. When I click any line number on the side, it takes up to a second to actually show the marking. Especially if I am searching for a specific line and scrolling fast, this makes it really hard to put up with this giant delay. Given the whole view is fairly static, this poor performance seems especially unfortunate.
Screenshots
Can't really screenshot it, test for yourself here: https://try.gitea.io/blablablablab/BlaTest/src/branch/main/test.py
Gitea Version
1.17.2+80-gc1f5473
Can you reproduce the bug on the Gitea demo site?
Yes
Operating System
Linux/GNOME 3
Browser Version
Mozilla Firefox 106
@ell1e commented on GitHub (Oct 21, 2022):
I just tested Opera, there's also quite a delay between clicking a line number marker and the colorful bar showing up. Scrolling is a little better, although it might also just be the file. (Is it by any chance worse when the lines have more contents per line and somehow related to syntax highlighting? Or I don't know what it is...)
@delvh commented on GitHub (Oct 21, 2022):
The interesting thing is: My setup is Linux KDE with Firefox 106, so it shouldn't be really too different from yours, unless the GNOME version has a problem the Qt version doesn't have…
@ell1e commented on GitHub (Oct 21, 2022):
Do you have a slower machine to try on? Performance really is horrible on that, maybe try a phone.
And GitHub is way faster if you compare these two:
https://try.gitea.io/blablablablab/BlaTest/src/branch/main/python_ast.c
https://github.com/python/cpython/blob/main/Python/Python-ast.c
On the Gitea one, when I clicked a line while it seemed to be still loading (also WAY slower than the GitHub copy btw, I saw the scrollbar shrink in a crawl as it pulled in the lower contents) there was no reaction for over 10 seconds!
After loading, GitHub line markers show up at maybe 0.5 seconds, Gitea 2 seconds or something.
Edit: it really seems like as long as the file is still loading, and on Gitea it seems to load for really long (20 seconds+) the line markers on Gitea just plain don't work. It ignores everything I click, even when I'm way above the part it's still pulling in. On GitHub, the entire view loads in two seconds or so and then it reacts fine.
@ell1e commented on GitHub (Oct 21, 2022):
A shot in the dark as for the slow loading: is Gitea maybe not caching this table structure and generating it live on every visit? Maybe that would be why it needs so much longer to send it out, since the HTML itself otherwise doesn't look too different to GitHub's.
@delvh commented on GitHub (Oct 21, 2022):
So, I just tried it on my mobile phone where I still can't reproduce the performance issue you mentioned.
Performance is well within the acceptable range there as well.
@ell1e commented on GitHub (Oct 21, 2022):
4x the reaction time for line markers to GitHub and 10x+ the time until all lines are loaded doesn't really make Gitea look good to me.
I also just tested on my super slow PinePhone, and the
python_ast.cGitea link above just plain crashes the tab. Always! The GitHub one doesn't look too good either by taking multiple minutes to finally render, but at least it works at all.@echodreamz commented on GitHub (Oct 21, 2022):
Firefox on my machine (build 106.0.1) on Windows 10 opens your link just fine, no performance issues. Silky smooth. Firefox on my laptop (same build/OS) also runs just fine, same on my older Surface Pro 3, Firefox runs that file silky smooth. I do not have a Linux system to test on. Maybe you just have a very poor performing machine?
@ell1e commented on GitHub (Oct 21, 2022):
Well, obviously my machine is slow yes. But the problem isn't only that the file view is slow, but also how much slower than GitHub it is. The page load is way slower for some reason (just building up all the vertical page content), the time until any clicks work at all on the line number slider is way longer (on GitHub before loading finishes, on Gitea not before full page load), and once everything is loaded the delay for any click on the line number slider is still twice as slow to react.
I mean I get that you may have better things to fix. But given there is a clearly better performer here (GitHub), it seems like there would be something to fix here.
@ell1e commented on GitHub (Oct 21, 2022):
I'm running into this on an aging Skylake laptop, so it's better than like a Raspberry Pi. While I'm guessing most devs have something faster, it usually does the job. And linking something from a 2K to 10K lines file on GitHub feels fast enough to not annoy me. On Gitea however, it's pretty tedious right now. (Enough that I noticed often enough to eventually make this ticket!)
@lunny commented on GitHub (Jun 21, 2023):
Looks like now it took 619ms from the second time. The try site has a lower resource with 1GB memory. So I think this is acceptable.