Warning: Can't synchronize with repository "(default)" (/home/git/ome.git does not appear to be a Git repository.). Look in the Trac log for more information.
Notice: In order to edit this ticket you need to be either: a Product Owner, The owner or the reporter of the ticket, or, in case of a Task not yet assigned, a team_member"

Task #6850 (closed)

Opened 13 years ago

Closed 11 years ago

Last modified 10 years ago

Bug: web rendering can't keep up on long drag

Reported by: jamoore Owned by: atarkowska
Priority: critical Milestone: OMERO-4.4.9
Component: Web Version: 4.4.8
Keywords: n.a. Cc: python-team@…, jburel, saloynton
Resources: n.a. Referenced By: n.a.
References: n.a. Remaining Time: 0.0d
Sprint: n.a.

Description

  • On slower connections between web & server
  • Load a big image
  • Grab red box in bird's eye
  • Click and drag it
  • First few images are shown during dragging
  • Eventually, rendering doesn't keep up drag speed and only gray is shown
  • Release mouse somewhere
  • Watching the OMEROweb.log (with debug on) you can see all the tiles being loaded for the intermediate (gray) locations.
  • After many seconds if not a few minutes, the drop location is finally displayed.

I would expect that users would only want the final location shown if rendering can't keep up with the drag speed.

If have not checked the same thing on insight yet.

Change History (17)

comment:1 Changed 13 years ago by atarkowska

What server, environment?

comment:2 Changed 13 years ago by jmoore

OMERO.web locally, OMERO.server on gretzky.

comment:3 Changed 13 years ago by atarkowska

  • Resolution set to invalid
  • Status changed from new to closed

That's why is so slow. Development server is one thread only.

comment:4 Changed 13 years ago by jmoore

  • Resolution invalid deleted
  • Status changed from closed to reopened

Sorry, I should have been more clear. I was running under nginx.

comment:5 Changed 13 years ago by jmoore

Further, even if there only is one thread, I wouldn't think OMERO.web should be loading all the intermediate items. Once it can't keep up, some load events should be dropped.

comment:6 Changed 12 years ago by Will Moore <will@…>

(In [bbcc4836ac122f120d5638f2f1a6d6a3969f0b7b/ome.git]) Move instantly to ROI location (don't scroll). See #6850

comment:7 Changed 12 years ago by atarkowska

  • Owner atarkowska deleted
  • Status changed from reopened to accepted

comment:8 Changed 12 years ago by saloynton

  • Cc saloynton added
  • Milestone changed from OMERO-Beta4.4 to OMERO-Beta4.4.1

This issue is not able to be fixed for the 4.4 release and so is being moved into 4.4.1 release. (Discussed in web meeting 4 June)

comment:9 Changed 11 years ago by jmoore

  • Owner set to wmoore

Saw this without an owner. Passing to you, Will.

comment:10 Changed 11 years ago by jmoore

See also #10272

comment:11 Changed 11 years ago by wmoore

The problem here is that we don't have a way (that I know of) to cancel a request for a tile. I think that tiles outwith the viewport are being destroyed on a long drag, but that doesn't stop the request for their src image.

One option we could think about was to add a timeout of E.g. 0.5 secs or 0.25 secs when a tile is added to the viewport and not to load the tile image until after this timeout. This means that the images will not be requested if you are scrolling tiles in and out of the viewport quickly. But still could be tricky. And it would mean that in normal usage, there was an extra delay every time you move the viewport before images are requested.

When I looked at this a while back, I couldn't find any callback that would tell us when a tile is loaded - so we never know what the 'backlog' is of tiles we're waiting for (how many are currently 'loading')

comment:12 Changed 11 years ago by jamoore

  • Owner changed from wmoore to atarkowska
  • Version set to 4.4.8

Passing off to Ola who is looking into a possible solution.

comment:13 Changed 11 years ago by atarkowska

  • Resolution set to fixed
  • Status changed from accepted to closed

comment:14 Changed 11 years ago by Aleksandra Tarkowska <A.Tarkowska@…>

(In [31355d79fb2229ca5659f62416fbacaa91b014ef/ome.git] on branch develop) adding delay before positioning tiles in the viewer, see #6850

this will prevent from loading tiles when user triggered another action
for example: if user zooms using mouse-wheel it will load only
tiles from the final level rather then all levels

comment:15 Changed 11 years ago by Aleksandra Tarkowska <A.Tarkowska@…>

  • Remaining Time set to 0

(In [98629993302ac4962bae81893015a47020680510/ome.git] on branch develop) fixing delay param in bird eye, close #6850

comment:16 Changed 10 years ago by Aleksandra Tarkowska <A.Tarkowska@…>

(In [084ca9a590fa77d6540b59b2cc3692ffea5ff237/ome.git]on branches master, dev_4_4) adding delay before positioning tiles in the viewer, see #6850

this will prevent from loading tiles when user triggered another action
for example: if user zooms using mouse-wheel it will load only
tiles from the final level rather then all levels

comment:17 Changed 10 years ago by Aleksandra Tarkowska <A.Tarkowska@…>

(In [064c0fd83b40c86229ea5c628b571a07da5f4cb6/ome.git]on branches master, dev_4_4) fixing delay param in bird eye, close #6850

Note: See TracTickets for help on using tickets. You may also have a look at Agilo extensions to the ticket.

1.3.13-PRO © 2008-2011 Agilo Software all rights reserved (this page was served in: 0.75663 sec.)

We're Hiring!