[cheese/three-point-oh] Add some notes to TODO
- From: Filippo Argiolas <fargiolas src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [cheese/three-point-oh] Add some notes to TODO
- Date: Fri, 16 Jul 2010 07:53:11 +0000 (UTC)
commit 73021661c5950f184ff97d273bda5bf066114871
Author: Filippo Argiolas <filippo argiolas gmail com>
Date: Fri Jul 16 09:52:31 2010 +0200
Add some notes to TODO
TODO | 30 ++++++++++++++++++++++++++++++
1 files changed, 30 insertions(+), 0 deletions(-)
---
diff --git a/TODO b/TODO
index cc8d3eb..7283ce6 100644
--- a/TODO
+++ b/TODO
@@ -6,6 +6,8 @@ please fix me before 3.0
preferences etc.
7 improve video recording (doesnt work here atm)
6 move to gsettings
+? move to gapplication
+? move to gtk3
5 fix effects preview layout in fullscreen
5 remove all warnings when compiling
4 when maximizing the window, the webcam video still stays the same size
@@ -14,3 +16,31 @@ please fix me before 3.0
2 startup time is till quite long
2 overlay effect previews with their names
+NOTES, particularly about "show a throbber" and startup time
+
+Who's taking so much time at cheese startup?
+- cheese_camera_connect_effect_texture
+
+That's the most expensive thing we do, it takes a rough 50% (maybe more)
+of startup time, particularly link_many for each effect is quite
+expensive because it has to match colorspace caps (but in general, gst
+linking is slow).
+
+Can it be avoided? I doubt so. Can it be postponed? definitely.
+
+There's no reason to link all the effects at startup, the
+highest priority thing at startup is show the window and put an image
+into it (or if the camera preview takes some time to show up at least
+show something moving like a throbber as we always did). The effects
+section of the pipeline can be isolated with a valve,
+meanwhile the main pipeline can be started, when the effects are ready
+we can connect them. Ideally given they all have a valve we could
+connect them one at the time and show a throbber for each one. So when
+the user clicks on effect he can see that they are progressively
+loading (or if it clicks on effects when they are ready he won't notice
+the loading thing at all).
+
+Obviously all this stuff has to be done async so that the UI doesn't
+ever block waiting for each task to complete. This could be done with a
+separate thread like we did or taking advantage of gstreamer async
+facilities (GstBus, GstMessages) or, probably, with a mix of the two.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]