diff --git a/documents/design/asyncCompositing.shtml b/documents/design/asyncCompositing.shtml index ecf33627..fddb277f 100644 --- a/documents/design/asyncCompositing.shtml +++ b/documents/design/asyncCompositing.shtml @@ -22,8 +22,15 @@

Implementation

+ +
+ + Asynchronous Compositing +
Asynchronous Compositing
+

- Asynchronous downloads are started from the render thread and completed on + Asynchronous downloads are started from the render thread and completed in another thread (the current transmit thread), freeing the render thread to start with the next frame earlier. Asynchronous uploads are started on reception of the FrameData, and completed by the render thread(s), freeing the @@ -34,10 +41,10 @@

The download implementation is relatively straight-forward: eq::Channel::frameReadback starts the download - operation, using an extension flag with the current download - call EqCompressorDownload, schedules a command on the pipe - download thread, which will finish the operation and set the ready flag on the - frame data. The download thread is created lazy on the first use. + operation using EqCompressorStartDownload, schedules a command on + the pipe download thread, which will finish the operation + using EqCompressorFinishDownload and set the ready + flag on the frame data. The download thread is created lazy on first use.

Most of the asynchronous download plugins will need a shared OpenGL context diff --git a/documents/design/images/asyncCompositing.graffle b/documents/design/images/asyncCompositing.graffle new file mode 100644 index 00000000..122a9197 --- /dev/null +++ b/documents/design/images/asyncCompositing.graffle @@ -0,0 +1,3017 @@ + + + + + ActiveLayerIndex + 0 + ApplicationVersion + + com.omnigroup.OmniGrafflePro + 129.18 + + AutoAdjust + + CanvasColor + + w + 1 + + CanvasOrigin + {0, 0} + CanvasScale + 1 + ColumnAlign + 1 + ColumnSpacing + 36 + CreationDate + 2012-01-03 13:34:11 +0000 + Creator + Stefan Eilemann + DisplayScale + 1 cm = 1 cm + GraphDocumentVersion + 5 + GraphicsList + + + AllowLabelDrop + + Class + LineGraphic + Head + + ID + 1109 + + ID + 1143 + Points + + {454.04333, 226.77165} + {481.88971, 226.77161} + + Style + + stroke + + HeadArrow + HalfStickArrow + HeadScale + 1.4285709857940674 + TailArrow + 0 + TailScale + 0.5 + + + Tail + + ID + 1120 + + + + AllowLabelDrop + + Class + LineGraphic + Head + + ID + 1120 + + ID + 1142 + Points + + {368.50397, 212.59845} + {396.85031, 212.59837} + + Style + + stroke + + HeadArrow + HalfStickArrow + HeadScale + 1.4285709857940674 + TailArrow + 0 + TailScale + 0.5 + + + Tail + + ID + 1110 + + + + AllowLabelDrop + + Class + LineGraphic + Head + + ID + 1116 + + ID + 1141 + Points + + {453.5433, 184.25197} + {481.88977, 184.25195} + + Style + + stroke + + HeadArrow + HalfStickArrow + HeadScale + 1.4285709857940674 + TailArrow + 0 + TailScale + 0.5 + + + Tail + + ID + 1119 + Info + 4 + + + + AllowLabelDrop + + Class + LineGraphic + Head + + ID + 1119 + + ID + 1137 + Points + + {368.50397, 170.07875} + {396.85034, 170.07872} + + Style + + stroke + + HeadArrow + HalfStickArrow + HeadScale + 1.4285709857940674 + TailArrow + 0 + TailScale + 0.5 + + + Tail + + ID + 1115 + + + + AllowLabelDrop + + Class + LineGraphic + Head + + ID + 1118 + + ID + 1130 + Points + + {170.07874, 170.07875} + {198.42519, 170.07874} + + Style + + stroke + + HeadArrow + HalfStickArrow + HeadScale + 1.4285709857940674 + TailArrow + 0 + TailScale + 0.5 + + + Tail + + ID + 1096 + + + + AllowLabelDrop + + Class + LineGraphic + Head + + ID + 1117 + + ID + 1126 + Points + + {170.5787, 127.55904} + {198.42519, 127.55905} + + Style + + stroke + + HeadArrow + HalfStickArrow + HeadScale + 1.4285709857940674 + TailArrow + 0 + TailScale + 0.5 + + + Tail + + ID + 1093 + + + + Bounds + {{396.85031, 212.59837}, {56.692978, 14.173279}} + Class + ShapedGraphic + FontInfo + + Color + + w + 1 + + Font + Helvetica + NSKern + 0.0 + Size + 12 + + HFlip + YES + ID + 1120 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + + Shape + Rectangle + Style + + fill + + Color + + b + 0.34902 + g + 0.643137 + r + 0.431373 + + FillType + 2 + GradientAngle + 90 + GradientColor + + b + 0.2268 + g + 0.42 + r + 0.28154 + + MiddleColor + + b + 0.2268 + g + 0.42 + r + 0.28154 + + TrippleBlend + YES + + shadow + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf230 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf1 \expnd0\expndtw0\kerning0 +decompr.} + + + + Bounds + {{396.85037, 170.07872}, {56.692932, 14.173248}} + Class + ShapedGraphic + FontInfo + + Color + + w + 1 + + Font + Helvetica + NSKern + 0.0 + Size + 12 + + HFlip + YES + ID + 1119 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + + Shape + Rectangle + Style + + fill + + Color + + b + 0.301961 + g + 0.690196 + r + 0.933333 + + FillType + 2 + GradientAngle + 90 + GradientColor + + b + 0.1984 + g + 0.458387 + r + 0.62 + + MiddleColor + + b + 0.1984 + g + 0.458387 + r + 0.62 + + TrippleBlend + YES + + shadow + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf230 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf1 \expnd0\expndtw0\kerning0 +decompr.} + + + + Bounds + {{198.4252, 170.07874}, {56.692902, 14.173203}} + Class + ShapedGraphic + FontInfo + + Color + + w + 1 + + Font + Helvetica + NSKern + 0.0 + Size + 12 + + HFlip + YES + ID + 1118 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + + Shape + Rectangle + Style + + fill + + Color + + b + 0.34902 + g + 0.643137 + r + 0.431373 + + FillType + 2 + GradientAngle + 90 + GradientColor + + b + 0.2268 + g + 0.42 + r + 0.28154 + + MiddleColor + + b + 0.2268 + g + 0.42 + r + 0.28154 + + TrippleBlend + YES + + shadow + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf230 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf1 \expnd0\expndtw0\kerning0 +compress} + + + + Bounds + {{198.4252, 127.55905}, {56.692902, 14.173218}} + Class + ShapedGraphic + FontInfo + + Color + + w + 1 + + Font + Helvetica + NSKern + 0.0 + Size + 12 + + HFlip + YES + ID + 1117 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + + Shape + Rectangle + Style + + fill + + Color + + b + 0.301961 + g + 0.690196 + r + 0.933333 + + FillType + 2 + GradientAngle + 90 + GradientColor + + b + 0.1984 + g + 0.458387 + r + 0.62 + + MiddleColor + + b + 0.1984 + g + 0.458387 + r + 0.62 + + TrippleBlend + YES + + shadow + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf230 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf1 \expnd0\expndtw0\kerning0 +compress} + + + + Bounds + {{481.88977, 184.25195}, {56.692932, 14.173248}} + Class + ShapedGraphic + FontInfo + + Color + + w + 1 + + Font + Helvetica + NSKern + 0.0 + Size + 12 + + HFlip + YES + ID + 1116 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + + Shape + Rectangle + Style + + fill + + Color + + b + 0.301961 + g + 0.690196 + r + 0.933333 + + FillType + 2 + GradientAngle + 90 + GradientColor + + b + 0.1984 + g + 0.458387 + r + 0.62 + + MiddleColor + + b + 0.1984 + g + 0.458387 + r + 0.62 + + TrippleBlend + YES + + shadow + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf230 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf1 \expnd0\expndtw0\kerning0 +upload} + + + + Bounds + {{311.811, 155.9055}, {56.692932, 14.173233}} + Class + ShapedGraphic + FontInfo + + Color + + w + 1 + + Font + Helvetica + NSKern + 0.0 + Size + 12 + + HFlip + YES + ID + 1115 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + + Shape + Rectangle + Style + + fill + + Color + + b + 0.301961 + g + 0.690196 + r + 0.933333 + + FillType + 2 + GradientAngle + 90 + GradientColor + + b + 0.1984 + g + 0.458387 + r + 0.62 + + MiddleColor + + b + 0.1984 + g + 0.458387 + r + 0.62 + + TrippleBlend + YES + + shadow + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf230 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf1 \expnd0\expndtw0\kerning0 +receive} + + + + AllowLabelDrop + + Class + LineGraphic + Head + + ID + 1110 + + ID + 1111 + Points + + {255.1181, 198.4252} + {311.811, 198.4252} + + Style + + stroke + + HeadArrow + HalfStickArrow + HeadScale + 1.4285709857940674 + TailArrow + 0 + TailScale + 0.5 + + + Tail + + ID + 1108 + + + + Bounds + {{311.811, 198.4252}, {56.692932, 14.173248}} + Class + ShapedGraphic + FontInfo + + Color + + w + 1 + + Font + Helvetica + NSKern + 0.0 + Size + 12 + + HFlip + YES + ID + 1110 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + + Shape + Rectangle + Style + + fill + + Color + + b + 0.34902 + g + 0.643137 + r + 0.431373 + + FillType + 2 + GradientAngle + 90 + GradientColor + + b + 0.2268 + g + 0.42 + r + 0.28154 + + MiddleColor + + b + 0.2268 + g + 0.42 + r + 0.28154 + + TrippleBlend + YES + + shadow + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf230 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf1 \expnd0\expndtw0\kerning0 +receive} + + + + Bounds + {{481.88971, 226.77161}, {56.692978, 14.173279}} + Class + ShapedGraphic + FontInfo + + Color + + w + 1 + + Font + Helvetica + NSKern + 0.0 + Size + 12 + + HFlip + YES + ID + 1109 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + + Shape + Rectangle + Style + + fill + + Color + + b + 0.34902 + g + 0.643137 + r + 0.431373 + + FillType + 2 + GradientAngle + 90 + GradientColor + + b + 0.2268 + g + 0.42 + r + 0.28154 + + MiddleColor + + b + 0.2268 + g + 0.42 + r + 0.28154 + + TrippleBlend + YES + + shadow + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf230 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf1 \expnd0\expndtw0\kerning0 +upload} + + + + Bounds + {{198.4252, 184.25208}, {56.692902, 14.173126}} + Class + ShapedGraphic + FontInfo + + Color + + w + 1 + + Font + Helvetica + NSKern + 0.0 + Size + 12 + + HFlip + YES + ID + 1108 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + + Shape + Rectangle + Style + + fill + + Color + + b + 0.34902 + g + 0.643137 + r + 0.431373 + + FillType + 2 + GradientAngle + 90 + GradientColor + + b + 0.2268 + g + 0.42 + r + 0.28154 + + MiddleColor + + b + 0.2268 + g + 0.42 + r + 0.28154 + + TrippleBlend + YES + + shadow + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf230 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf1 \expnd0\expndtw0\kerning0 +send} + + + + Bounds + {{566.92914, 240.94489}, {56.692932, 14.173218}} + Class + ShapedGraphic + FontInfo + + Color + + w + 1 + + Font + Helvetica + NSKern + 0.0 + Size + 12 + + HFlip + YES + ID + 1107 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + + Shape + Rectangle + Style + + fill + + Color + + b + 0.34902 + g + 0.643137 + r + 0.431373 + + FillType + 2 + GradientAngle + 90 + GradientColor + + b + 0.2268 + g + 0.42 + r + 0.28154 + + MiddleColor + + b + 0.2268 + g + 0.42 + r + 0.28154 + + TrippleBlend + YES + + shadow + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf230 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf1 \expnd0\expndtw0\kerning0 +assemble} + + + + AllowLabelDrop + + Class + LineGraphic + Head + + ID + 1115 + + ID + 1106 + Points + + {255.6181, 155.9055} + {311.811, 155.9055} + + Style + + stroke + + HeadArrow + HalfStickArrow + HeadScale + 1.4285709857940674 + TailArrow + 0 + TailScale + 0.5 + + + Tail + + ID + 1095 + + + + AllowLabelDrop + + Class + LineGraphic + Head + + ID + 1107 + + ID + 1105 + Points + + {539.0827, 240.9449} + {566.9292, 240.9449} + + Style + + stroke + + HeadArrow + HalfStickArrow + HeadScale + 1.4285709857940674 + TailArrow + 0 + TailScale + 0.5 + + + Tail + + ID + 1109 + Info + 1 + + + + AllowLabelDrop + + Class + LineGraphic + Head + + ID + 1102 + + ID + 1104 + Points + + {539.0827, 198.42528} + {566.9292, 198.42532} + + Style + + stroke + + HeadArrow + HalfStickArrow + HeadScale + 1.4285709857940674 + TailArrow + 0 + TailScale + 0.5 + + + Tail + + ID + 1116 + Info + 1 + + + + Bounds + {{566.9292, 212.59842}, {56.692932, 28.346466}} + Class + ShapedGraphic + FontInfo + + Color + + w + 1 + + Font + Helvetica + NSKern + 0.0 + Size + 12 + + HFlip + YES + ID + 1103 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + + Shape + Rectangle + Style + + fill + + Color + + b + 0.34902 + g + 0.643137 + r + 0.431373 + + FillType + 2 + GradientAngle + 90 + GradientColor + + b + 0.2268 + g + 0.42 + r + 0.28154 + + MiddleColor + + b + 0.2268 + g + 0.42 + r + 0.28154 + + TrippleBlend + YES + + shadow + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf230 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf1 \expnd0\expndtw0\kerning0 +draw} + + + + Bounds + {{566.92914, 198.42532}, {56.692932, 14.173096}} + Class + ShapedGraphic + FontInfo + + Color + + w + 1 + + Font + Helvetica + NSKern + 0.0 + Size + 12 + + HFlip + YES + ID + 1102 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + + Shape + Rectangle + Style + + fill + + Color + + b + 0.301961 + g + 0.690196 + r + 0.933333 + + FillType + 2 + GradientAngle + 90 + GradientColor + + b + 0.1984 + g + 0.458387 + r + 0.62 + + MiddleColor + + b + 0.1984 + g + 0.458387 + r + 0.62 + + TrippleBlend + YES + + shadow + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf230 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf1 \expnd0\expndtw0\kerning0 +assemble} + + + + Bounds + {{566.9292, 170.07874}, {56.692932, 28.346466}} + Class + ShapedGraphic + FontInfo + + Color + + w + 1 + + Font + Helvetica + NSKern + 0.0 + Size + 12 + + HFlip + YES + ID + 1101 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + + Shape + Rectangle + Style + + fill + + Color + + b + 0.301961 + g + 0.690196 + r + 0.933333 + + FillType + 2 + GradientAngle + 90 + GradientColor + + b + 0.1984 + g + 0.458387 + r + 0.62 + + MiddleColor + + b + 0.1984 + g + 0.458387 + r + 0.62 + + TrippleBlend + YES + + shadow + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf230 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf1 \expnd0\expndtw0\kerning0 +draw} + + + + AllowLabelDrop + + Class + LineGraphic + Head + + ID + 1096 + + ID + 1097 + Points + + {85.539368, 155.90556} + {113.3858, 155.90553} + + Style + + stroke + + HeadArrow + HalfStickArrow + HeadScale + 1.4285709857940674 + TailArrow + 0 + TailScale + 0.5 + + + Tail + + ID + 1089 + Info + 1 + + + + Bounds + {{113.38583, 155.90553}, {56.692902, 14.173203}} + Class + ShapedGraphic + FontInfo + + Color + + w + 1 + + Font + Helvetica + NSKern + 0.0 + Size + 12 + + HFlip + YES + ID + 1096 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + + Shape + Rectangle + Style + + fill + + Color + + b + 0.34902 + g + 0.643137 + r + 0.431373 + + FillType + 2 + GradientAngle + 90 + GradientColor + + b + 0.2268 + g + 0.42 + r + 0.28154 + + MiddleColor + + b + 0.2268 + g + 0.42 + r + 0.28154 + + TrippleBlend + YES + + shadow + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf230 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf1 \expnd0\expndtw0\kerning0 +finish RB} + + + + Bounds + {{198.4252, 141.73228}, {56.692902, 14.173218}} + Class + ShapedGraphic + FontInfo + + Color + + w + 1 + + Font + Helvetica + NSKern + 0.0 + Size + 12 + + HFlip + YES + ID + 1095 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + + Shape + Rectangle + Style + + fill + + Color + + b + 0.301961 + g + 0.690196 + r + 0.933333 + + FillType + 2 + GradientAngle + 90 + GradientColor + + b + 0.1984 + g + 0.458387 + r + 0.62 + + MiddleColor + + b + 0.1984 + g + 0.458387 + r + 0.62 + + TrippleBlend + YES + + shadow + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf230 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf1 \expnd0\expndtw0\kerning0 +send} + + + + AllowLabelDrop + + Class + LineGraphic + Head + + ID + 1093 + + ID + 1094 + Points + + {85.039368, 113.38583} + {113.38581, 113.38583} + + Style + + stroke + + HeadArrow + HalfStickArrow + HeadScale + 1.4285709857940674 + TailArrow + 0 + TailScale + 0.5 + + + Tail + + ID + 1087 + + + + Bounds + {{113.38583, 113.38583}, {56.692902, 14.173218}} + Class + ShapedGraphic + FontInfo + + Color + + w + 1 + + Font + Helvetica + NSKern + 0.0 + Size + 12 + + HFlip + YES + ID + 1093 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + + Shape + Rectangle + Style + + fill + + Color + + b + 0.301961 + g + 0.690196 + r + 0.933333 + + FillType + 2 + GradientAngle + 90 + GradientColor + + b + 0.1984 + g + 0.458387 + r + 0.62 + + MiddleColor + + b + 0.1984 + g + 0.458387 + r + 0.62 + + TrippleBlend + YES + + shadow + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf230 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf1 \expnd0\expndtw0\kerning0 +finish RB} + + + + Class + Group + Graphics + + + AllowLabelDrop + + Class + LineGraphic + ID + 1128 + Points + + {141.73227, 56.846573} + {141.73227, 269.29132} + + Style + + stroke + + HeadArrow + 0 + HeadScale + 1.4285709857940674 + Pattern + 1 + TailArrow + 0 + TailScale + 0.5 + + + Tail + + ID + 1129 + + + + Bounds + {{99.212585, 28.346573}, {85.039375, 28}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 1129 + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf230 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs24 \cf0 Download Thread} + + + + ID + 1127 + + + Bounds + {{28.346457, 141.73228}, {56.692909, 14.17334}} + Class + ShapedGraphic + FontInfo + + Color + + w + 1 + + Font + Helvetica + NSKern + 0.0 + Size + 12 + + HFlip + YES + ID + 1089 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + + Shape + Rectangle + Style + + fill + + Color + + b + 0.34902 + g + 0.643137 + r + 0.431373 + + FillType + 2 + GradientAngle + 90 + GradientColor + + b + 0.2268 + g + 0.42 + r + 0.28154 + + MiddleColor + + b + 0.2268 + g + 0.42 + r + 0.28154 + + TrippleBlend + YES + + shadow + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf230 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf1 \expnd0\expndtw0\kerning0 +start RB} + + + + Bounds + {{28.346458, 113.38583}, {56.692886, 28.346451}} + Class + ShapedGraphic + FontInfo + + Color + + w + 1 + + + HFlip + YES + ID + 1088 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + + Shape + Rectangle + Style + + fill + + Color + + b + 0.34902 + g + 0.643137 + r + 0.431373 + + FillType + 2 + GradientAngle + 90 + GradientColor + + b + 0.2268 + g + 0.42 + r + 0.28154 + + MiddleColor + + b + 0.2268 + g + 0.42 + r + 0.28154 + + TrippleBlend + YES + + shadow + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf230 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf1 draw} + + + + Bounds + {{28.346457, 99.212517}, {56.692902, 14.173309}} + Class + ShapedGraphic + FontInfo + + Color + + w + 1 + + Font + Helvetica + NSKern + 0.0 + Size + 12 + + HFlip + YES + ID + 1087 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + + Shape + Rectangle + Style + + fill + + Color + + b + 0.301961 + g + 0.690196 + r + 0.933333 + + FillType + 2 + GradientAngle + 90 + GradientColor + + b + 0.1984 + g + 0.458387 + r + 0.62 + + MiddleColor + + b + 0.1984 + g + 0.458387 + r + 0.62 + + TrippleBlend + YES + + shadow + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf230 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf1 \expnd0\expndtw0\kerning0 +start RB} + + + + Bounds + {{28.346481, 70.866135}, {56.692886, 28.346466}} + Class + ShapedGraphic + FontInfo + + Color + + w + 1 + + + HFlip + YES + ID + 1086 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + + Shape + Rectangle + Style + + fill + + Color + + b + 0.301961 + g + 0.690196 + r + 0.933333 + + FillType + 2 + GradientAngle + 90 + GradientColor + + b + 0.1984 + g + 0.458387 + r + 0.62 + + MiddleColor + + b + 0.1984 + g + 0.458387 + r + 0.62 + + TrippleBlend + YES + + shadow + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf230 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf1 draw} + + + + Class + Group + Graphics + + + AllowLabelDrop + + Class + LineGraphic + ID + 1084 + Points + + {56.692902, 56.846466} + {56.692886, 269.2912} + + Style + + stroke + + HeadArrow + 0 + HeadScale + 1.4285709857940674 + Pattern + 1 + TailArrow + 0 + TailScale + 0.5 + + + Tail + + ID + 1085 + + + + Bounds + {{14.173214, 28.346474}, {85.039375, 28}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 1085 + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf230 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs24 \cf0 Render\ +Thread} + + + + ID + 1083 + + + Class + Group + Graphics + + + AllowLabelDrop + + Class + LineGraphic + ID + 1078 + Points + + {340.15747, 56.846588} + {340.15747, 269.29138} + + Style + + stroke + + HeadArrow + 0 + HeadScale + 1.4285709857940674 + Pattern + 1 + TailArrow + 0 + TailScale + 0.5 + + + Tail + + ID + 1079 + + + + Bounds + {{297.63779, 28.346596}, {85.039368, 28}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 1079 + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf230 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs24 \cf0 Receive Thread} + + + + ID + 1077 + + + Class + Group + Graphics + + + AllowLabelDrop + + Class + LineGraphic + ID + 1124 + Points + + {226.77159, 56.846497} + {226.77162, 269.29123} + + Style + + stroke + + HeadArrow + 0 + HeadScale + 1.4285709857940674 + Pattern + 1 + TailArrow + 0 + TailScale + 0.5 + + + Tail + + ID + 1125 + + + + Bounds + {{184.25191, 28.346466}, {85.039368, 28}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 1125 + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf230 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs24 \cf0 Transmit Thread} + + + + ID + 1123 + + + Class + Group + Graphics + + + AllowLabelDrop + + Class + LineGraphic + ID + 1135 + Points + + {425.19684, 56.846558} + {425.19684, 269.29132} + + Style + + stroke + + HeadArrow + 0 + HeadScale + 1.4285709857940674 + Pattern + 1 + TailArrow + 0 + TailScale + 0.5 + + + Tail + + ID + 1136 + + + + Bounds + {{382.67715, 28.346558}, {85.039368, 28}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 1136 + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf230 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs24 \cf0 Command Thread} + + + + ID + 1134 + + + Class + Group + Graphics + + + AllowLabelDrop + + Class + LineGraphic + ID + 1139 + Points + + {510.23627, 56.846603} + {510.23624, 269.29132} + + Style + + stroke + + HeadArrow + 0 + HeadScale + 1.4285709857940674 + Pattern + 1 + TailArrow + 0 + TailScale + 0.5 + + + Tail + + ID + 1140 + + + + Bounds + {{467.71658, 28.346588}, {85.039368, 28}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 1140 + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf230 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs24 \cf0 Upload\ +Thread} + + + + ID + 1138 + + + Class + Group + Graphics + + + AllowLabelDrop + + Class + LineGraphic + ID + 1132 + Points + + {595.27563, 56.846573} + {595.27563, 269.29132} + + Style + + stroke + + HeadArrow + 0 + HeadScale + 1.4285709857940674 + Pattern + 1 + TailArrow + 0 + TailScale + 0.5 + + + Tail + + ID + 1133 + + + + Bounds + {{552.75598, 28.346581}, {85.039368, 28}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 1133 + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf230 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs24 \cf0 Render\ +Thread} + + + + ID + 1131 + + + GridInfo + + GridSpacing + 14.17322826385498 + MajorGridSpacing + 10 + ShowsGrid + YES + SnapsToGrid + YES + + GuidesLocked + NO + GuidesVisible + YES + HPages + 1 + ImageCounter + 1 + IsPalette + NO + KeepToScale + + Layers + + + Lock + NO + Name + Layer 1 + Print + YES + View + YES + + + LayoutInfo + + LinksVisible + NO + MagnetsVisible + NO + MasterSheet + Master 1 + MasterSheets + + + ActiveLayerIndex + 0 + AutoAdjust + + CanvasColor + + w + 1 + + CanvasOrigin + {0, 0} + CanvasScale + 1 + ColumnAlign + 1 + ColumnSpacing + 36 + DisplayScale + 1 cm = 1 cm + GraphicsList + + GridInfo + + GridSpacing + 14.17322826385498 + MajorGridSpacing + 10 + ShowsGrid + YES + SnapsToGrid + YES + + HPages + 1 + IsPalette + NO + KeepToScale + + Layers + + + Lock + NO + Name + Layer 1 + Print + YES + View + YES + + + LayoutInfo + + Orientation + 2 + OutlineStyle + Basic + RowAlign + 1 + RowSpacing + 36 + SheetTitle + Master 1 + UniqueID + 1 + VPages + 1 + + + ModificationDate + 2012-01-03 13:43:14 +0000 + Modifier + Stefan Eilemann + NotesVisible + NO + Orientation + 2 + OriginVisible + NO + OutlineStyle + Basic + PageBreaks + YES + PrintInfo + + NSBottomMargin + + coded + BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFklwCG + + NSLeftMargin + + coded + BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFklwCG + + NSOrientation + + int + 1 + + NSPaperSize + + size + {842, 595} + + NSRightMargin + + coded + BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFklwCG + + NSTopMargin + + coded + BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFklwCG + + + ReadOnly + NO + RowAlign + 1 + RowSpacing + 36 + SheetTitle + Canvas 1 + SmartAlignmentGuidesActive + NO + SmartDistanceGuidesActive + NO + UniqueID + 1 + UseEntirePage + + VPages + 1 + WindowInfo + + CurrentSheet + 0 + DrawerTab + Outline + DrawerWidth + 209 + FitInWindow + + Frame + {{359, 36}, {1259, 873}} + VisibleRegion + {{-50, 0}, {918.15228, 571.99994}} + Zoom + 1.3548951148986816 + + + diff --git a/documents/design/images/asyncCompositing.png b/documents/design/images/asyncCompositing.png new file mode 100644 index 00000000..afb9e10c Binary files /dev/null and b/documents/design/images/asyncCompositing.png differ