dbeaver / dbeaver

Free universal database tool and SQL client
https://dbeaver.io
Apache License 2.0
39.26k stars 3.4k forks source link

DBeaver interface is very slow and laggy (macos) #7777

Open alphamikle opened 4 years ago

alphamikle commented 4 years ago

Hello! I'm using DBeaver in MacOS and have a very slow interface. An example of that is recorded to video and upload to YT. Please, can someone tell me how you using DBeaver without lags or that is normal? In windows, I don't have any interface problems with that. Video with the problem OS: MacOS 10.15.2 DBeaver version: 6.3.3.202001191557

serge-rider commented 4 years ago

You could try to:

  1. Reset UI settings (main menu File)
  2. Switch to Classic or Light UI theme
alphamikle commented 4 years ago

You could try to:

  1. Reset UI settings (main menu File)
  2. Switch to Classic or Light UI theme

I switched between all themes and doing reset UI after every time and that doesn't any effect. And at now I update to (6.3.4.202002011957) version and lags with still me.

Andrew-Sheridan commented 4 years ago

I have the same Issue.

morphine00 commented 4 years ago

I've just installed DBeaver so I have no baseline to compare it to, but I find that the UI paints quite slowly as well, in Windows. It's not unbearable to use, but for example, if you double-click on a table, you can see each UI element being painted. The program in general feels "laggy." Changing themes doesn't seem to make any difference.

OS: Windows 10.0.18363.657 DBeaver version: 6.3.4 -- 6.3.4.202002011957

niklahun commented 4 years ago

+1 - The only thing i found is that is somehow related to projects and files which are "auto saved" - i removed all projects, including default and everything was super snappy. I re added my connections, and the slowdown started to happen after around a week.

meotimdihia commented 4 years ago

My case is not like Alphamikle's case but like morphine00's case: "if you double-click on a table, you can see each UI element being painted. The program in general feels "laggy."
I searched a lot about this problem.

DBeaver is just using 250MB RAM on my PC.

remychvn commented 4 years ago

I noticed the same thing.

The interface of the mac version is very slow compared to the linux version, the difference is really huge.

kar-thik commented 4 years ago

+1 on @remychvn The difference between the linux and macOS versions is very stark. The macOS version is practically unusable for any serious work. Any fixes for this yet?

zimonh commented 4 years ago

I have the same issue and so does my colleague. (macOS v.Catalina 10.15.5) (DBeaver v.7.1.1.202006231904) https://webm.red/view/vGxi.webm Excel left dbeaver right. I think it's a bug that could be reproduced on any mac. If so it could effect lots of users. @serge-rider Very cool app by the way :)

Small sidebar panels and small grid views are fast and snappy. And if I look at a large table trough a small window all is fine, but if the window size increases, the refresh rate of the view gets worse. Making it impossible to use it in my workflow. (I have to scroll trough lots of tall and wide tables and look for inconsistencies. With lag thats not possible.)

Truly hope you can find the cause easily! It must be something like, rendering inputs while scrolling. If so, there should be a delay on rendering those inputs until you stop scrolling. That would allow you to scroll trough a huge table without the refresh rate crashing. No one wants to click on a cell while they are scrolling really fast anyway. Also if you click you stop scrolling so that solves that problem. Could also be because of high pixel density.

Anyway, thanks for reading, have a nice day!

serge-rider commented 4 years ago

@zimonh There may be several factors.

BoredGoory commented 4 years ago

Same issue here. => Screen resolution. What monitor and resolution do you have? How many table rows/columns are visible at once? Any, multiple monitor tested on classic retina screen (4k) and 1440 x 2560 screen (vertical)

=> What presentation (grid. plaintext, json, etc) do you use? => Nature of table data (data types). What is your database? Are there any columns with some non-standard data types? data grid view, or properties for every mysql table i own. But! if i make a custom sql script... the grid view works fine.

For my case i have disable smooth scrolling and type icon, seem a little better. But not sure.

Edit: I disable everything in settings > editors > ERD editor > * and seem even better. Like if ER diagram was preloaded and make all table view laggy (even if diagram view is damn fluid)

Another test : uncheck settings > editors > presentation * right-justify seem even better ! (or just apply settings seem enhance a short time the things ? xD)

alphamikle commented 4 years ago

@zimonh There may be several factors.

  • Screen resolution. What monitor and resolution do you have? How many table rows/columns are visible at once?

Screen resolution actually affects this lags - when I switch DBeaver to full-screen at 4K monitor - it is becoming unusable at all, then, if I scale it to small window size, 1000x700px, for example - lags getting smaller, but in both situations it is laggy.

@zimonh

  • Nature of table data (data types). What is your database? Are there any columns with some non-standard data types?

Data tables were different - from two colons with UUID and STRING to several JSOSB columns and others.

@zimonh

  • What presentation (grid. plaintext, JSON, etc) do you use?

U can see it at video - I take a record with last available version (7.1.3.202007192031)

In addition to this - the last version lags smaller, than previous versions.

serge-rider commented 4 years ago

@BoredGoory @alphamikle thanks for the details!

serge-rider commented 4 years ago

I've added a couple of small improvements. On Windows it will save about 10% of render time, on MacOS it may be much more, need to test it better.

@BoredGoory disabling right-justification will improve performance (we need to pre-render cell values to do it). Perhaps 10-15% of render time - if you have a lot of numeric/timestamp values. I think that ERD has nothing to do to it. It is not even activated before you switch to ERD tab.

@alphamikle It is definitely related to a number of visible cells. Some columns rendering may get much more CPU than another. Potentially icons rendering (for booleans or FKs), complex texts (jsonb), arrays, structures - may consume much CPU. Although I still can't reproduce it on my Windows machine (even on 4k monitor).

I see that you have datetime, uuid and jsonb columns. Could you make another test - hide columns with "expensive" data types (right click on column header->Hide column) and see which ones render slower than others.

Probably I need to test some particular data types..

Thanks!

serge-rider commented 4 years ago

It is still laggy on MacOS. I have a few ideas, will try again in 7.1.5.

serge-rider commented 4 years ago

The actual problem is the Eclipse platform which behaves badly on MacOS when you need to draw hundreds/thousands of strings. Here is the bug report: https://bugs.eclipse.org/bugs/show_bug.cgi?id=458872

Unfortunately I'm not sure that it will be fixed in Eclipse in the near future (taking into consideration that this ticket is 5 years old). However we still could try to improve grid rendering algorithms in DBeaver. This is definitely a critical issue and it has to be resolved.

serge-rider commented 4 years ago

We added several improvements in 7.1.5. Now it is about 50-100% faster on MacOS (especially with numerics right-justification disabled). But still much slower than on Windows.

Keep improving.

alphamikle commented 4 years ago

We added several improvements in 7.1.5. Now it is about 50-100% faster on MacOS (especially with numerics right-justification disabled). But still much slower than on Windows.

Keep improving.

I'm very glad to hear that. Thanks for your desire to solve the problem!

pyrocks commented 4 years ago

I've been reading the use cases here and I think #9073 (closed as duplicate of this) is different. It's not related to data on the grid, resolution, file sizes etc - it's just the keypress on the editor itself becomes slow and editor itself becomes unusable after a few days of work/usage and dbeaver memory consumption increases to gigabytes (>2.5gb) - but everything else seems fine. I will check if 7.1.5 improves it.

chriseomi commented 4 years ago

On the latest macOS Catalina (on hiDPI 4k mac) using Version 7.1.5.202008180601 of DBeaver.

I'm a new user so can't say if improved, but have been comparing GUI's for pgsql and was impressed with DBeaver feature set. That said, it does feel a bit sluggish to use and hence came looking for this issue. Keypresses are a bit laggy, new screens take longer than usual etc. Maybe that's just inherent in the crossplatform engine? Does not feel as snappy as a native macos app.

Anyways, it's still an amazing piece of software and it's free for community. Can't really complain :) 👍

pyrocks commented 4 years ago

same problems in 7.1.5 :(

pyrocks commented 4 years ago

Here are some memory metrics of DBeaver being open for a few days. 8 connected connections, 4 sql files open in editor (2 are unchanged, largest has <600 lines), data grid has 1 row in it (no jsons or such). Not sure if it helps or not. SQL Editor is very laggy on keypress, have to restart dbeaver. image

jvstein commented 3 years ago

I'm running 7.2.5 on Linux and have noticed performance issues in the editor with very long lines in the editor as indicated in #8287.

For example I have a query like this:

SELECT *
  FROM table
 WHERE id IN (...) -- contains long list of comma separated integers totaling 117918 characters
;

This is a generated query that I copied out of one of our systems. The query needs improvement, obviously, but it demonstrates the editor performance issue very easily.

DBeaver becomes completely unresponsive when I interact with this query, for example, by copying it into DBeaver, moving from another query in the same text editor, editing certain lines of the query, or when executing the query. It takes my laptop nearly a full minute to finish processing the line before DBeaver is fine again.

gkpine commented 3 years ago

I was having the same issues on Mac - a very slow interface. I would write my queries in a text editor then copy and paste it over to avoid writing in DBeaver. What fixed it for me was disabling themes altogether: Preferences -> User Interface -> Appearance -> uncheck "Enable theming" and "Use mixed fonts and colors for labels".

ashep commented 3 years ago

I was having the same issues on Mac - a very slow interface. I would write my queries in a text editor then copy and paste it over to avoid writing in DBeaver. What fixed it for me was disabling themes altogether: Preferences -> User Interface -> Appearance -> uncheck "Enable theming" and "Use mixed fonts and colors for labels".

Unfortunately in my case this didn't help. 21.0.1 on Big Sur.

Singa-dev commented 3 years ago

Why does DBeaver team avoid to resolve the UI problem? can DBeaver higher performance and more beautiful?

serge-rider commented 3 years ago

@Singa-dev most MacOS-specific rendering performance issues are caused by problems in Eclipse platform. Like this ones: https://bugs.eclipse.org/bugs/show_bug.cgi?id=458872

However bugs https://bugs.eclipse.org/bugs/show_bug.cgi?id=569367 and https://bugs.eclipse.org/bugs/show_bug.cgi?id=569147 were fixed recently, DBeaver 21.0.3 includes these fixes you could try it.

remychvn commented 3 years ago

@Singa-dev most MacOS-specific rendering performance issues are caused by problems in Eclipse platform. Like this ones: https://bugs.eclipse.org/bugs/show_bug.cgi?id=458872

However bugs https://bugs.eclipse.org/bugs/show_bug.cgi?id=569367 and https://bugs.eclipse.org/bugs/show_bug.cgi?id=569147 were fixed recently, DBeaver 21.0.3 includes these fixes you could try it.

FYI: I haven't noticed any noticeable performance improvement since the update to 21.0.3 It really hurts the user experience. But it's still a great tool, thanks for that 🙂

serge-rider commented 3 years ago

Yep. It was much better in Catalina btw. BigSur is super laggy by itself comparing to previous MacOS versions. All our performance improvements made earlier just doesn't make sense there. Here are another 17 pages of complains - https://developer.apple.com/forums/thread/666661 Plus some hints: https://stackoverflow.com/questions/65336445/eclipse-unusably-slow-after-upgrading-macos-from-catalina-to-big-sur

Maybe migrating to M1 will help..

pyrocks commented 3 years ago

Just wanted to update that - despite not sure what exactly fixed it - running on latest versions of dbeaver (21..) and mac 11.3.1 and I no longer suffer from the "slow keypress response" I had so much trouble with in the past. fingers crossed it'll stay this way :) thanks.

gcdsss commented 3 years ago

update, on 21.1.4.202108020335 version, macOS Big Sur 1.5.1, 4k resolution with external display, still laggy:(, yet still great tools, really looking forward to fix it.

Rah1x commented 2 years ago

at Version 21.3.2.202112271055, still super laggy as of Feb 2022

mihalyr commented 2 years ago

Hi, I'm not sure if this is the same issue. I have noticed that if I paste SQL into the editor with long lines (e.g. a generated SQL to insert data from an existing table), I only have a single INSERT that is 120k character long and it completely locks up the editor for seconds when moving the cursor around, it freezes on keystrokes, runs one CPU at 100% with fans spinning high to keep my laptop cool - with one word unusable.

I don't expect vim like performance, but I pasted the same text (and more, 20 lines of such inserts) and my IntelliJ didn't even notice, everything fast and smooth even with the VIM plugin enabled.

I have tried to bump the memory for DBeaver to 4GB, but didn't help, so JVM memory doesn't seem to be an issue.

My OS is Linux - Fedora 34 (kernel 5.16.8), Laptop: RAM 32GB, 12 cores Intel i7

DBeaver: Version 21.3.1.202112130652 which is newer than the last version mentioned in this thread with an update.

I don't have Eclipse installed, so not sure if this is an Eclipse issue.

ricfwolff commented 9 months ago

update, on Version 23.2.5.202311191730, macOS Sonoma 14.1.1, 2k resolution with external display, still super laggy. As soon as I open the app, it's already lagging just to navigate in the UI, no need to have any script open.

yet still great tools, really looking forward to fix it.

Rah1x commented 7 months ago

Still super laggy on MacOS! Changing to classic theme + classic font improves a tiny bit.