Ticket #75 (closed defect: fixed)

Opened 11 years ago

Last modified 10 years ago

xuvtools: RE-saving a project takes ages compared to first-time saving (GUI is blocked)

Reported by: ne704 [niko@… Owned by: ne704
Priority: major Milestone:
Component: xuvtools Version:
Keywords: xuvtools, xuvtools_gui, error Cc: developers@…

Description

This is the replacement-ticket for #45 since the message-issue (which was the original reason) of that ticket has been closed in r2762.

See #45 for attachments and description

Change History

Changed 10 years ago by ne704 [niko@…

  • owner changed from emmenlau to ne704
  • priority changed from minor to major
  • status changed from new to assigned
  • summary changed from xuvtools: GUI hangs sometimes when saving large projects to xuvtools: RE-saving a project takes ages compared to first-time saving (GUI is blocked)

some news here (note, everything happens on a local harddisk, so no strange network-issue or similar things):

  1. saving a project with 7x7 tiles initally takes less than 1 second.
  2. RE-saving the project with the same filename freezes the GUI (save-button stays in "pressed" state) and takes between 90 and 285 seconds!!!
  3. removing all but 8 tiles, saving as new project takes the expected ~ 1s
  4. RE-saving this small project (same filename) takes 10 seconds

NOTE: during the whole time the GUI is not reacting, especially it does not show the message that saving has started. IMHO a redraw() (or whatever this is called in Qt) would really improve the "user experience" ;)

Changed 10 years ago by ne704 [niko@…

One more note: opening a project, deleting the project file and then clicking on "save" works in the expected 1 second.

Changed 10 years ago by emmenlau

  • status changed from assigned to closed
  • resolution set to fixed

Fixed in revision r3142 (which requires changes up to r3146).

Old code was: open projectfile, overwrite/appen parameters

New code is: write new temporary project file, unlink old project file and rename temporary project file to final name.

Note: See TracTickets for help on using tickets.