After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 308082 - Visual feedback when rendering complex pages
Visual feedback when rendering complex pages
Status: RESOLVED FIXED
Product: evince
Classification: Core
Component: general
git master
Other Linux
: Normal normal
: ---
Assigned To: Evince Maintainers
Evince Maintainers
Depends on:
Blocks:
 
 
Reported: 2005-06-17 15:14 UTC by Vincent Noel
Modified: 2005-09-02 05:07 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Evince Loading pages slowly (26.71 KB, image/png)
2005-07-11 15:37 UTC, Bryan W Clark
  Details
Patch that implements bryan proposal (12.00 KB, patch)
2005-07-15 01:42 UTC, Nickolay V. Shmyrev
none Details | Review

Description Vincent Noel 2005-06-17 15:14:59 UTC
When you open a visually complex documents, there is a noticeable period during
which evince displays a blank page.
It would be nice if there was some kind of visual feedback to tell the user that
evince is actually doing something. Currently there is no way to tell if the PDF
is empty or not.
Bug #165413 (visual feedback when opening complex document) is related.
Comment 2 Marco Pesenti Gritti 2005-07-08 10:57:12 UTC
Bryan what sort of feedback you think we should provide?

Showing an hourglass would be sort of strange I think, also you dont really want
to show it for pages that takes only a very small amount (even if noticable) of
time.

Maybe in this case the right fix is to speedup rendering ;)

Any idea of what acroread does?
Comment 3 Bryan W Clark 2005-07-08 15:15:06 UTC
Yeah, I think we really need to speed up rendering time.  :)

I guess the epiphany style loading spinner would be good enough feedback that
evince is thinking.  Although something makes me think that when we do that
we've just taken the last step to finally becoming Epiphany, we're just waiting
for someone to create an http backend. ;)
Comment 4 Vincent Noel 2005-07-08 15:42:12 UTC
FWIW, acroread just renders everything on-screen (where evince renders
off-screen and shows the result all at once)
Comment 5 Bryan W Clark 2005-07-08 16:04:13 UTC
Interesting way of doing it, might still be nice to know when it's finished via
progress bar or spinner.
Comment 6 Marco Pesenti Gritti 2005-07-11 11:46:04 UTC
Integrating epiphany spinner should be easy, I can do it if that's what we want.
Though I wonder if the progress bar wouldnt be enough... after all this is
something that we should improve (rendering speed).
Also I tend to think any feedback tend to look strange when you are just
scrolling pages. On screen rendering is interesting, though I think it require
huge changes.
Comment 7 Marco Pesenti Gritti 2005-07-11 11:49:59 UTC
To be clear IHMO there are only 2 ways to solve this in a satisfactory way:

1 Incremental rendering
2 Mostly instantaneous rendering

I'm not sure any other form of feedback will work well, but if we really need
one I'd use a "jumping" progress bar.
Comment 8 Bryan W Clark 2005-07-11 15:33:20 UTC
I think a progress bar would actually be best.  I'd rather not have a spinner
since it will let us forget how slow the rendering is going, instead of
reminding us that we need to make it faster. :)

Marco, I had an idea about this earlier let me know what you think of this. 
I'll attach the mockup.
Comment 9 Bryan W Clark 2005-07-11 15:37:55 UTC
Created attachment 48960 [details]
Evince Loading pages slowly

This is also in my http://gnome.org/~clarkbw/designs/document-viewer/ area

Just to give enough feedback we could show some text in a light color drawn on
the page that gets displaced when the page actually finishes loading.  Now we
wouldn't really want this to be flashing all the time on quick renders, but if
rendering was taking a while it would be nice to see something.

Getting fancy with this could involve making the elipsis change from:
      Loading .
      Loading ..
      Loading ...

We don't have to get fancy, but that's an idea instead of pushing a progress
bar or spinner somewhere.
Comment 10 Marco Pesenti Gritti 2005-07-11 16:01:31 UTC
Bryan I like that approach. I guess the trick is to find a good logic/time about
displaying or not displaying that label. Something we should play with anyway.
Comment 11 Jonathan Blandford 2005-07-11 16:09:18 UTC
Progress bars are really hard (TM).

In the long run, we'd rather have no progress bar, but just be fast enough. 
Lets put some loading text instead, and maybe a busy cursor or something.  I'd
really push back against a progress bar unless we were convinced that a given
page is always going to be slow.
Comment 12 Bryan W Clark 2005-07-11 16:14:25 UTC
Oh yeah, just to be clear.  I'd much rather do this text thing than progress bars.
Comment 13 Nickolay V. Shmyrev 2005-07-15 01:42:27 UTC
Created attachment 49201 [details] [review]
Patch that implements bryan proposal
Comment 14 Jonathan Blandford 2005-07-21 03:37:43 UTC
Hrm -- that doesn't look like bryan's proposal. (-:

We probably want to put the loading on the actual page.  This patch doesn't work
well if you've got multiple pages loading in continuous, too.  It should be
easier than this -- we can just draw the 'Loading' text in expose() if we don't
get a pixbuf back from the cache.

Also, after seeing the animation, I don't think I like it.  I'll let Bryan
comment, but I think it's a bit distracting.  Lets keep it subtle, and not
distract the user.
Comment 15 Bryan W Clark 2005-07-21 03:46:28 UTC
Hmm, agreed.  I didn't say this of course, but was picturing the animation to be
a very slow ... if anything.  As jrb says, "Lets keep it subtle".

nsh: I think you got the timing very well for when the loading appears.  I
didn't do too much testing, but it seemed to always appear on the test items
right at the moment when I thought, "Is it still loading, or frozen?".
Comment 16 Reinout van Schouwen 2005-08-20 15:55:01 UTC
The current Evince loading progress bar is on the left of the status bar,
Epiphany's loading progress bar is on the right. If the progress bar is staying
in, then it would make sense to choose a consistent location.
Comment 17 Marco Pesenti Gritti 2005-08-20 17:24:58 UTC
Status bar is going to be dropped... Prolly shortly after the freeze.
Comment 18 Jonathan Blandford 2005-09-02 05:07:24 UTC
I added the "Loading..." text to HEAD.  I'm not sure I like it.  I'll close this
bug, but please feel free to open a new one about making the Loading feedback
snazzier.