mirror of
https://gitlab.gnome.org/GNOME/gimp.git
synced 2025-07-03 09:23:24 +00:00
Merge branch 'wip/wormnest/buffered-xcf-save' into 'master'
Draft: Issue #9135 saving of xcf to network drive is slow Closes #9135 See merge request GNOME/gimp!2075
This commit is contained in:
commit
1faf59f424
1 changed files with 25 additions and 1 deletions
|
@ -448,6 +448,14 @@ xcf_load_invoker (GimpProcedure *procedure,
|
|||
return return_vals;
|
||||
}
|
||||
|
||||
#define GIMP_TIMER_START() \
|
||||
{ GTimer *_timer = g_timer_new ();
|
||||
|
||||
#define GIMP_TIMER_END(message) \
|
||||
g_printerr ("%s: %s took %0.4f seconds\n", \
|
||||
G_STRFUNC, message, g_timer_elapsed (_timer, NULL)); \
|
||||
g_timer_destroy (_timer); }
|
||||
|
||||
static GimpValueArray *
|
||||
xcf_save_invoker (GimpProcedure *procedure,
|
||||
Gimp *gimp,
|
||||
|
@ -474,8 +482,24 @@ xcf_save_invoker (GimpProcedure *procedure,
|
|||
|
||||
if (output)
|
||||
{
|
||||
success = xcf_save_stream (gimp, image, output, file, progress, error);
|
||||
GOutputStream *buffered = NULL;
|
||||
|
||||
buffered = g_buffered_output_stream_new (output);
|
||||
if (buffered)
|
||||
{
|
||||
g_printerr ("Saving using buffered stream.\n");
|
||||
GIMP_TIMER_START ();
|
||||
success = xcf_save_stream (gimp, image, buffered, file, progress, error);
|
||||
GIMP_TIMER_END ("Writing xcf save stream");
|
||||
g_object_unref (buffered);
|
||||
}
|
||||
else
|
||||
{
|
||||
g_printerr ("Saving unbuffered stream.\n");
|
||||
GIMP_TIMER_START ();
|
||||
success = xcf_save_stream (gimp, image, output, file, progress, error);
|
||||
GIMP_TIMER_END ("Writing xcf save stream");
|
||||
}
|
||||
g_object_unref (output);
|
||||
}
|
||||
else
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue