Ubuntu 10.04, old hardware: edit/fullscreen can't keep up

CPU: Athlon XP 2800+
Video: ATI Radeon 9600 Pro
RAM: 1.5 GB
OS: Ubuntu 10.04, also Win XP SP3 in VirtualBox

In either straight edit mode or fullscreen, with either a native install or a Win install in VirtualBox, it’s trivially easy for me to get ten or more words ahead of Scrivener 0.0.29 showing them on the screen, and I’m not an especially fast typist. For comparison, the latest native-Linux LibreOffice Writer or Word 2010 in VBox can keep up on the same computer with no trouble, so it’s not a problem I’m used to having in this environment.

On my Win XP SP3 netbook (2 GB RAM, Atom CPU), the same version of Scrivener is fast as anything.

I’m just one guy with aged hardware, but do you have any suggestions to speed up SfW’s responsiveness?

Many thanks,
-Rich

Hrm. Update your video card drivers? ATI has come a long way in the past few years or so, and driver support for linux has improved somewhat. (I’m pretty staunchly NVIDIA, but that’s another debate for another time.)

If Libre Office is working full speed, how is updating drivers going to help? You already have the most up-to-date drivers assuming you’ve installed all of the current updates. Naturally that’s the first thing to check; but with Ubuntu if you’re keeping up with updates it’s not an issue.

I have a similar problem running with Virtual Box; Libre Office and MS Word do not lag, but Scrivener does. I’ve noticed that even running natively that CPU utilization goes up 20-30% when I’m typing, and slewing goes up even higher. Slewing, by contrast, has almost no effect on CPU load with LibreOffice. I’d suggest that there’s too much overhead between key events and screen events in Scrivener (please don’t tell me you’re sending a message for every keystroke!) that would indicate to me that some serious profiling/tracing is necessary to find out what is really happening–not something a Beta Tester can undertake.

Frankly, I doubt that there’s a video card anywhere that can get that far behind, realistically. Besides, you’d see that kind of problem elsewhere, such as in painting menus or paging text.

Something else that occurred to me…

I remembered that changing the auto-save frequency to something more reasonable than every 2 seconds —like every 10 or 15 minutes–helped mitigate the lag-time somewhat.

Hope this helps!

Nathan

Yeah, and for the Radeon 9600, ATI stopped putting out new native drivers around the time Ubuntu went to a new X setup (around 9.10), so I’m stuck with the Ubuntu-supplied drivers.

I will try out the longer autosave… Nope, tried it and the lag is still bad.

-Rich

What else are you running? Daemons, polling services of any kind, external Telnet sessions, Web servers, anything?? Perhaps something is running that is specifically interfering with Scrivener. Have you considered starting in safe mode, or turn off all window manager effects? What does your overall processor/memory load look like? Maybe Scrivener is setting you into swap-thrashing mode?

An interesting point. I do have the Remote Desktop (VNC access) daemon running, and if I turn that off I can’t test from here at work any more (the box is at home), but I can give that a whirl tonight. I wasn’t aware that Ubuntu had a safe mode: I’ll have to investigate that.

I will try turning all the compiz effects off: No effect
Turned off Docky, which requires compositing: No effect
Turned off everything servicewise I could think of without disrupting my remote connection: No effect

The VNC/Remote Desktop process is interesting as a potential factor, and I will test disabling it tonight when I’m in front of the box, but VNC polling doesn’t interfere with MS Word or LibreOffice Writer; they’re nicely responsive even remotely.

Thanks for everyone’s willingness to help me troubleshoot!

-Rich

I would never expect anything to run well over remote access, especially keystrokes, except with a T1 or better connection. This is especially true over any kind of asymmetrical broadband, where upstream and downstream speeds can differ by nearly an order of magnitude. VNC introduces so much X server/client overhead that I don’t think it’s even a fair speed indicator. For one thing, it probably means that you probably are getting each keystroke as one or more messages over the network. Yikes!

I can’t even get a decent VLC response when I connect to my desktop system on my 10/100 wired home network from my laptop, even when I turn off the background and cursor polling.

Can you post a list of active processes?

top -bn 1 >process-list.txt

Someone might be enough of a Linux geek to be able to spot something from that.

Best,
Nathan

I know what you mean, but Scrivener keeps up poorly even when sitting at the machine, and as I mentioned, Word and LibreOffice writer both respond fine (< 0.5 sec) over the remote link. It’s not uncommon for Scrivener to be two to three seconds backlogged, even when using the box locally.

I will forward a list of processes when I get back to my desk and have a minute.
-Rich

Okay, here’s the process list dump. Be kind, it’s a pretty vanilla Ubuntu 10.04 install, and I haven’t restarted in safe mode yet.

http://dl.dropbox.com/u/222527/process-list.txt

-Rich

I’m not a professional Linux geek by any means, so anyone who knows better feel free to elbow me aside at this point.

You’re about maxed out on memory; 75% with nothing much out of the ordinary running is probably way too much. Fire up Scrivener and a browser window or two and you’ll be in serious trouble; once you start thrashing that swap disk you’re in bigger trouble. You’re using swap, though not much at the moment. You have a gigantic swap area, though. I think you’d be better off throwing some memory in there and pruning the swap down so something like 100% of real memory at the most.

You have Dropbox and Ubuntu-One running at the same time; you might want to turn off the Ubuntu One daemon (in Preferences -> Startup Applications; there’s other junk in there that you can afford to turn off).

The biggest little piggies you’ve got running are the vino-server (the VLC thing), Jungle Disk Desktop and Dropbox. They have been chewing up both processor time and memory, almost as much as the Xorg server.

Considering the number of network and disk intensive things you have running, combined with the (relatively) high memory usage, I wouldn’t be surprised that some threshold is exceeded on your machine when you run Scrivener that degrades performance significantly. I think that either running less overhead software (like Dropbox, Ubuntu One, and Jungle Disk) and installing more memory might take you to a better place, performance wise, though there are no guarantees. It looks like you’ve got either two or three memory slots; if that’s true you should be able to go to 4, maybe 6 GiB of memory.

I re-ran my “slew” test using top instead of my desktop gadget. Scrivener is definitely doing something it shouldn’t; slewing in the Scrivener editor spikes processor usage up to 60%. The same test in LibreOffice costs me at most 20%. For comparison, slewing in vi barely effects anything, less than 1% of CPU time.

My system architecture is the following:

Vendor: System 76 Pangolin Performance Version 6 Laptop
OS: Ubuntu 10.04
Kernel: Linux 2.6.32-34-generic
Gnome 2.30.2 (Compiz + Cairo-Dock)
Memory: 5.8 GiB
Processor: Intel Core2 Duo, 2 x P8700 @ 2.53GHz
Graphics: Nvidia GeForce G 105M
Displays: Samsung SMB2430H (external LCD), AUO (laptop LCD)

Best,

Nathan

Nathan:

Thanks for the diagnosis. :slight_smile:

There’s no doubt I’m memory-gated here; I’ll dig around for DIMMs at home, and see what I can find. I may well be able to boost things to a full 2 GB.

Weirdly, though, I routinely run this box with several Chrome windows with multiple tabs each, Freemind (a java-based mind mapper that’s another real mem hog), and jEdit, a java-based programmer’s editor with a huge plugin for editing lilypond music files, which routinely brings up a PDF viewer–all concurrently. Hardly light use, yet sporting no performance issues other than being slightly underpowered in the CPU department.

Linux’s swap-memory system puts Windows to shame; I would never try these workloads on this hardware in XP or Win7. My use tends to be “bursty” rather than big-task CPU use, so if I, for example, kick off a jEdit/lilypond compile of a large music doc, or load a huge freemind file, I expect a brief sys slowdown, but both apps respond instantly to keyboard input when not in the middle of a “heavy” operation. Not bad for 4-to-6-year-old hardware.

The only application I use other than Scrivener that slows the box down appreciably is VirtualBox, which directly poaches RAM from the rest of the system. Even then, slowdowns are “bursty”: when first firing up the VM, or task-switching between VBox and another app, an obvious trip to the swap file and back. The consistent slowness of Scrivener in this environment tells me that either there’s way too much going on with every keypress, or there’s some sort of old, thunky compatibility layer being used to get around the age of my CPU, or something similar.

I’m new to the board, here: is this a place where the Scrivener for Windows dev guy(s) routinely read, or should I try to formulate some sort of official bug report?

Also, have any “official” system requirements for Scrivener for Windows/Linux ever been floated? Might be that I’m just not meeting the requirements for one or more of the libs being used.

-Rich

I think that some or all of the Mods read everything, and at this point I think I’ll step aside and wait for them to comment. As I mentioned in an earlier post, I think all bets are off with Scrivener via Virtual Box from a performance standpoint.

I have learned, however, through this conversation, that Scrivener seems to be working a lot harder than it should “just to echo keystrokes” (I’ve built enough event-driven graphic user interfaces to know how silly it is to put it like that–but clearly some optimization is necessary); it calls for some hardcore profiling. If the Mods could look at this and see what they can find out, I think that would be the best outcome at this point.

Cheers,
Nathan

While 2 seconds may not be a reasonable auto-save frequency, given Scrivener’s model of operation, 10-15 minutes isn’t either. Every bit of work that you do in that 10-15 mintues is potentially lost, as i understand it even if you move between different documents within the project.

Even 1 minutes reduces the auto-save frequency by a factor of 30, and still reduces the potential amount of lost work to something manageable. The precise balance point is, of course, going to be different for each person.

This discussion isn’t a question about what is the best auto-save interval, though I find that 2 seconds does introduce latency from time to time that is not welcome. To my mind, Ctrl+S every time I type a period or take a drink of my latte is the best interval, in addition to whatever fixed interval, but ultimately it’s “whatever works for you.”

No, the point was not that issue, but whether increasing it would prove to be a sufficient workaround for his response problem. It turned on not to be the case.

In any case, what seems reasonable to me might not seem that way to you.

Hi,
This may or may not help, but I had a similar problem.

As I typed, Scrivener was highlighting pieces of text and throwing letters left and right of the cursor, so I ended up with gibberish. It also was about six or seven letters behind what I was typing. It seemed to be some kind of problem related to highlighting and auto correction, maybe…

I found that turning off all the auto corrections, setting it to save every 40 seconds, saving the preferences, then restarting Scrivener worked for me.
I am using a new Lenovo laptop with Ubuntu 11. Since Libre Office and other word processing were working fine, I doubt it is a computer/OS problem, but I am hardly an expert.

Exactly. Which is why giving advice to change a default setting to something so far out of default without an explanation of the potential downsides was perhaps not as helpful as intended.

I think you’re missing the point. It was something to try; it didn’t solve the problem. End of story. Besides, I think that issues with the use of autosave are the kind of things that Echoloc8 and anyone who has written more than 100 words would be well aware of; thus explanations would be not only redundant but perhaps patronizing. Whether it is up to you to judge whether it was “helpful” of me to throw out one or other of the suggestions I did–among many–is another matter entirely. You’re entitled to your opinion of course. One would like, rather, to see as many ideas as possible that might lead to a solution of this and other problems. That’s why we’re here.

Moving along, here’s a problem I saw this morning that might have some bearing on the issue. I dropped a large JPG image on the index card for the file I was working on. Suddenly the editor couldn’t keep up with the keystrokes anymore. I copied the text into a new file and threw the one with the JPG in it into the trash & emptied it (since you can’t delete index card pictures once you add them). Once I did that, typing returned to normal. If anyone can reproduce that, it might point Lee in the right direction. I don’t know if this happens with the Windows or Wine version.

Best,

Nathan