EDIT: FIXED WITH WORK-AROUND.
In the interest of cutting to the chase and helping any google-searchers to find the solution many of us are using, I'm posting that work-around here at the top of the thread. To see my original problem and post, read below.
The problem of regular freeze-ups while typing, inserting, or modifying notes via the windows client (which seems to present to users with very large databases) is somehow related to the client using the network in the background. The solution is to create a windows firewall rule blocking evernote.exe while you are using evernote (typing, dropping in graphics, moving notes, whatever).
This completely eliminated the freezing for me. Then when you are finished creating or modifying content, you can disable the firewall rule and let the client sync.
My workaround lets me just click a shortcut to block evernote (and allow me to use the client without freeze ups), and then allow me to unblock it instantly when done, and will even automatically unblock it after a set time (in case I forget).
Still hoping Evernote decides to fix this properly someday.
Here are the detailed instructions on how I got my Windows client working again: http://www.evernote.com/l/ALrsBe2IrjdFfbGIOZYVpxRJAOUnjFZD2f4/
Hope it helps. Cheers.
Hello everyone. Looking for some suggestions to speed up my windows client. I'm wondering if anyone is experiencing the same issues I am, and if the community (or support) have any workarounds.
Essentially, here's the situation: My windows clients on all machines have become so slow they are virtually impossible to use. Regular tasks like typing multiple sentences, changing notebooks on a note, adding tags to a note, or even scrolling through a list of notes has stops constantly at somewhat random intervals. The gui freezes (and shows not responding) for sometimes 4 to 5 seconds at a time. And this will typically happen every two or three sentences or so, whether the client is currently syncing or not.
Before we start, know that the slow speed is universal through all of my windows computers (multiple decent speed desktops 1 to 2 years, surface book i7, surface pro, etc.) and has been the same across all of the last 5+ versions of the windows client. All of my computers have SSDs (with the database, OS, and Windows client installed on the SSD) and reasonable performance.
The problem I suspect the problem is linked to the enormous size of my database. Since I run my business with 68+ employees and 6k+ customers off the system, my database is around 65K notes taking up around 40GB. I realize that I am approaching the 100k note limit quickly (perhaps by the end of this year I'll need to remove some anyway), but I'm wondering if there might be a work around to not have to cut down the database and still have the clients workable.
The slowness appears to be entirely related to CPU usage. Monitoring my resources, the SSDs have no trouble keeping up under nearly all circumstances. The CPU however is pegged every few seconds while the gui is being used. (Or rather, since the client seems to be single-threaded, one core is pegged.) The application seems not be multi-threaded in any meaningful fashion, and I can only assume that some background table queries are taking place regularly based upon what I am typing. I could certainly understand if searches were slow with a database my size, or even tagging (since the tag table must be loaded in memory each time a tag is typed, to search for a matching tag name). But there seems to be no reason to have this sort of CPU stall out with things as simple as typing or scrolling through notes. And when it stalls my GUI completely stops responding for 1 to 5 seconds.
I have disabled all syncing (in case instant sync or background sync or similar was the problem), and this has not helped. I realize that evernote maintains some kind of word token table for searching. Perhaps this word token table is being searched at regular intervals based up words typed, in order to provide the [completely unused by me] context function? Or perhaps the text I am typing right now is being tokenized at intervals (this should be extremely fast) and then inserted appropriately into the token table at the same intervals (which would probably be where the freezing occurs). Even now as I type this very message in a new note in the windows client my cursor routinely freezes and cues up my keystrokes, only to insert them some seconds later. I have very little experience in database driven applications (and am doing a lot of guessing here), but it seems like a simple decoupling of the interface from the background table queries, token insertion, and the like via multi-threading would easily solve this problem. I realize that is likely low on the priority list of things to accomplish for Evernote, so what I'm really looking for here is a work-around.
The first and most obvious solution would be for me to remove a large number of notes (and perhaps place them in a second evernote account). This I am prepared to do, but it's not exactly Plan A. This would be a pretty comfortable solution if we were able to have two accounts on Android devices which we could switch between. I'd be happy to pay the money for a second premium account. Then I would simply keep most of my older notes in the second (slower) account, and could access them easily (if more slowly) by switching accounts on either my windows clients (already possible) or my android devices (not possible as far as I can discover). As there doesn't seem to be the ability to switch accounts on an android device (without deleting my 40GB account and re-downloading the other each time) this solution would mean I wouldn't have access to the older notes when I was away from my windows pcs.
Does anyone have any suggestions of other work-arounds? Can anyone think of any guesses as to what the background lookups/etc. causing the high CPU usage actually are, and how I might disable that functionality to be able to use the client again? Can I disable context lookup, just in case that helps? I assume if the holdup is the insertion of tokens into the main search table at regular intervals, that is core functionality that I won't be able to disable from the GUI.
I thought I would see what you all think before I spend hours and hours developing a plan on what data to make inaccessible on my mobile devices.
Thanks in advance for your help, and Happy New Year!