Mercurial > hg > Papers > 2015 > parusu-prosym
changeset 25:5c8f117b96bd
Update
author | Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 06 Jan 2016 01:58:10 +0900 |
parents | 90ecaf620a22 |
children | e982f42632ba |
files | presen/images/shareScreenToMultiDisplay.graffle presen/images/shareScreenToMultiDisplay.pdf presen/images/shareScreenToMultiDisplay.svg presen/prosym.html presen/prosym.md |
diffstat | 5 files changed, 257 insertions(+), 154 deletions(-) [+] |
line wrap: on
line diff
--- a/presen/images/shareScreenToMultiDisplay.svg Mon Jan 04 18:52:13 2016 +0900 +++ b/presen/images/shareScreenToMultiDisplay.svg Wed Jan 06 01:58:10 2016 +0900 @@ -111,10 +111,10 @@ <path style="stroke:none;" d="M 5.703125 0 L 5.703125 -11.34375 L 4.65625 -11.34375 C 4.582031 -10.914062 4.441406 -10.5625 4.234375 -10.28125 C 4.035156 -10.007812 3.789062 -9.789062 3.5 -9.625 C 3.207031 -9.46875 2.878906 -9.359375 2.515625 -9.296875 C 2.148438 -9.242188 1.773438 -9.21875 1.390625 -9.21875 L 1.390625 -8.125 L 4.34375 -8.125 L 4.34375 0 Z M 5.703125 0 "/> </symbol> <symbol overflow="visible" id="glyph4-2"> -<path style="stroke:none;" d=""/> +<path style="stroke:none;" d="M 3.109375 -6.5 L 3.109375 -8.265625 L 1.328125 -8.265625 L 1.328125 -6.5 Z M 1.328125 -1.78125 L 1.328125 0 L 3.109375 0 L 3.109375 -1.78125 Z M 1.328125 -1.78125 "/> </symbol> <symbol overflow="visible" id="glyph4-3"> -<path style="stroke:none;" d="M 3.109375 -6.5 L 3.109375 -8.265625 L 1.328125 -8.265625 L 1.328125 -6.5 Z M 1.328125 -1.78125 L 1.328125 0 L 3.109375 0 L 3.109375 -1.78125 Z M 1.328125 -1.78125 "/> +<path style="stroke:none;" d=""/> </symbol> <symbol overflow="visible" id="glyph4-4"> <path style="stroke:none;" d="M 7.859375 -8.078125 L 9.296875 -8.078125 C 9.273438 -8.710938 9.15625 -9.253906 8.9375 -9.703125 C 8.71875 -10.160156 8.414062 -10.535156 8.03125 -10.828125 C 7.65625 -11.128906 7.21875 -11.347656 6.71875 -11.484375 C 6.21875 -11.628906 5.675781 -11.703125 5.09375 -11.703125 C 4.5625 -11.703125 4.046875 -11.632812 3.546875 -11.5 C 3.054688 -11.363281 2.613281 -11.160156 2.21875 -10.890625 C 1.832031 -10.617188 1.519531 -10.269531 1.28125 -9.84375 C 1.050781 -9.425781 0.9375 -8.929688 0.9375 -8.359375 C 0.9375 -7.828125 1.039062 -7.390625 1.25 -7.046875 C 1.457031 -6.703125 1.734375 -6.421875 2.078125 -6.203125 C 2.429688 -5.984375 2.828125 -5.804688 3.265625 -5.671875 C 3.703125 -5.535156 4.144531 -5.414062 4.59375 -5.3125 C 5.050781 -5.21875 5.5 -5.117188 5.9375 -5.015625 C 6.375 -4.921875 6.765625 -4.796875 7.109375 -4.640625 C 7.453125 -4.492188 7.726562 -4.296875 7.9375 -4.046875 C 8.144531 -3.804688 8.25 -3.488281 8.25 -3.09375 C 8.25 -2.675781 8.164062 -2.332031 8 -2.0625 C 7.832031 -1.789062 7.609375 -1.578125 7.328125 -1.421875 C 7.046875 -1.273438 6.734375 -1.171875 6.390625 -1.109375 C 6.046875 -1.046875 5.703125 -1.015625 5.359375 -1.015625 C 4.929688 -1.015625 4.515625 -1.066406 4.109375 -1.171875 C 3.703125 -1.273438 3.347656 -1.4375 3.046875 -1.65625 C 2.742188 -1.882812 2.5 -2.171875 2.3125 -2.515625 C 2.125 -2.867188 2.03125 -3.285156 2.03125 -3.765625 L 0.59375 -3.765625 C 0.59375 -3.066406 0.71875 -2.460938 0.96875 -1.953125 C 1.21875 -1.453125 1.554688 -1.035156 1.984375 -0.703125 C 2.421875 -0.378906 2.925781 -0.140625 3.5 0.015625 C 4.070312 0.171875 4.675781 0.25 5.3125 0.25 C 5.832031 0.25 6.359375 0.1875 6.890625 0.0625 C 7.421875 -0.0507812 7.894531 -0.242188 8.3125 -0.515625 C 8.738281 -0.785156 9.085938 -1.132812 9.359375 -1.5625 C 9.640625 -2 9.78125 -2.523438 9.78125 -3.140625 C 9.78125 -3.703125 9.675781 -4.171875 9.46875 -4.546875 C 9.257812 -4.921875 8.976562 -5.226562 8.625 -5.46875 C 8.28125 -5.71875 7.890625 -5.910156 7.453125 -6.046875 C 7.015625 -6.191406 6.566406 -6.316406 6.109375 -6.421875 C 5.660156 -6.535156 5.21875 -6.632812 4.78125 -6.71875 C 4.34375 -6.8125 3.953125 -6.925781 3.609375 -7.0625 C 3.265625 -7.207031 2.988281 -7.390625 2.78125 -7.609375 C 2.570312 -7.828125 2.46875 -8.113281 2.46875 -8.46875 C 2.46875 -8.84375 2.535156 -9.15625 2.671875 -9.40625 C 2.816406 -9.65625 3.007812 -9.851562 3.25 -10 C 3.488281 -10.144531 3.765625 -10.25 4.078125 -10.3125 C 4.390625 -10.382812 4.707031 -10.421875 5.03125 -10.421875 C 5.8125 -10.421875 6.457031 -10.234375 6.96875 -9.859375 C 7.476562 -9.492188 7.773438 -8.898438 7.859375 -8.078125 Z M 7.859375 -8.078125 "/> @@ -201,10 +201,7 @@ <path style="stroke:none;" d="M 10.375 -4.125 L 10.375 -11.421875 L 8.84375 -11.421875 L 8.84375 -4.125 C 8.84375 -3.101562 8.585938 -2.328125 8.078125 -1.796875 C 7.578125 -1.273438 6.84375 -1.015625 5.875 -1.015625 C 4.851562 -1.015625 4.066406 -1.273438 3.515625 -1.796875 C 2.972656 -2.328125 2.703125 -3.101562 2.703125 -4.125 L 2.703125 -11.421875 L 1.1875 -11.421875 L 1.1875 -4.125 C 1.1875 -2.601562 1.597656 -1.492188 2.421875 -0.796875 C 3.242188 -0.0976562 4.394531 0.25 5.875 0.25 C 7.3125 0.25 8.421875 -0.113281 9.203125 -0.84375 C 9.984375 -1.570312 10.375 -2.664062 10.375 -4.125 Z M 10.375 -4.125 "/> </symbol> <symbol overflow="visible" id="glyph4-32"> -<path style="stroke:none;" d="M 1.109375 -11.421875 L 1.109375 0 L 2.46875 0 L 2.46875 -11.421875 Z M 1.109375 -11.421875 "/> -</symbol> -<symbol overflow="visible" id="glyph4-33"> -<path style="stroke:none;" d="M 4.265625 1.109375 C 4.109375 1.515625 3.953125 1.851562 3.796875 2.125 C 3.640625 2.40625 3.46875 2.632812 3.28125 2.8125 C 3.101562 2.988281 2.894531 3.113281 2.65625 3.1875 C 2.425781 3.269531 2.164062 3.3125 1.875 3.3125 C 1.707031 3.3125 1.546875 3.300781 1.390625 3.28125 C 1.234375 3.257812 1.078125 3.222656 0.921875 3.171875 L 0.921875 1.921875 C 1.046875 1.972656 1.179688 2.015625 1.328125 2.046875 C 1.484375 2.085938 1.617188 2.109375 1.734375 2.109375 C 2.003906 2.109375 2.234375 2.039062 2.421875 1.90625 C 2.609375 1.78125 2.75 1.59375 2.84375 1.34375 L 3.40625 -0.046875 L 0.125 -8.265625 L 1.65625 -8.265625 L 4.078125 -1.5 L 4.109375 -1.5 L 6.4375 -8.265625 L 7.875 -8.265625 Z M 4.265625 1.109375 "/> +<path style="stroke:none;" d="M 3.484375 -6.484375 L 3.484375 -5.328125 C 3.742188 -5.359375 4.015625 -5.375 4.296875 -5.375 C 4.640625 -5.375 4.957031 -5.328125 5.25 -5.234375 C 5.550781 -5.148438 5.804688 -5.015625 6.015625 -4.828125 C 6.234375 -4.640625 6.40625 -4.410156 6.53125 -4.140625 C 6.65625 -3.867188 6.71875 -3.554688 6.71875 -3.203125 C 6.71875 -2.859375 6.648438 -2.550781 6.515625 -2.28125 C 6.378906 -2.007812 6.195312 -1.78125 5.96875 -1.59375 C 5.75 -1.40625 5.488281 -1.257812 5.1875 -1.15625 C 4.894531 -1.0625 4.582031 -1.015625 4.25 -1.015625 C 3.476562 -1.015625 2.890625 -1.242188 2.484375 -1.703125 C 2.078125 -2.171875 1.863281 -2.769531 1.84375 -3.5 L 0.484375 -3.5 C 0.472656 -2.914062 0.550781 -2.394531 0.71875 -1.9375 C 0.894531 -1.476562 1.148438 -1.085938 1.484375 -0.765625 C 1.816406 -0.453125 2.21875 -0.21875 2.6875 -0.0625 C 3.15625 0.09375 3.675781 0.171875 4.25 0.171875 C 4.789062 0.171875 5.296875 0.101562 5.765625 -0.03125 C 6.242188 -0.175781 6.65625 -0.394531 7 -0.6875 C 7.351562 -0.976562 7.632812 -1.335938 7.84375 -1.765625 C 8.050781 -2.203125 8.15625 -2.703125 8.15625 -3.265625 C 8.15625 -3.941406 7.988281 -4.53125 7.65625 -5.03125 C 7.320312 -5.539062 6.804688 -5.867188 6.109375 -6.015625 L 6.109375 -6.046875 C 6.554688 -6.253906 6.929688 -6.550781 7.234375 -6.9375 C 7.535156 -7.332031 7.6875 -7.785156 7.6875 -8.296875 C 7.6875 -8.828125 7.597656 -9.28125 7.421875 -9.65625 C 7.242188 -10.039062 7 -10.351562 6.6875 -10.59375 C 6.375 -10.84375 6.003906 -11.03125 5.578125 -11.15625 C 5.160156 -11.28125 4.707031 -11.34375 4.21875 -11.34375 C 3.65625 -11.34375 3.15625 -11.25 2.71875 -11.0625 C 2.289062 -10.882812 1.929688 -10.632812 1.640625 -10.3125 C 1.359375 -10 1.140625 -9.617188 0.984375 -9.171875 C 0.828125 -8.722656 0.738281 -8.226562 0.71875 -7.6875 L 2.078125 -7.6875 C 2.078125 -8.007812 2.117188 -8.320312 2.203125 -8.625 C 2.296875 -8.925781 2.425781 -9.1875 2.59375 -9.40625 C 2.769531 -9.632812 2.992188 -9.8125 3.265625 -9.9375 C 3.546875 -10.070312 3.863281 -10.140625 4.21875 -10.140625 C 4.800781 -10.140625 5.28125 -9.988281 5.65625 -9.6875 C 6.039062 -9.382812 6.234375 -8.925781 6.234375 -8.3125 C 6.234375 -8.019531 6.175781 -7.753906 6.0625 -7.515625 C 5.945312 -7.285156 5.789062 -7.09375 5.59375 -6.9375 C 5.394531 -6.78125 5.164062 -6.660156 4.90625 -6.578125 C 4.644531 -6.503906 4.367188 -6.46875 4.078125 -6.46875 L 3.796875 -6.46875 C 3.742188 -6.46875 3.6875 -6.46875 3.625 -6.46875 C 3.582031 -6.46875 3.535156 -6.472656 3.484375 -6.484375 Z M 3.484375 -6.484375 "/> </symbol> <symbol overflow="visible" id="glyph5-0"> <path style="stroke:none;" d="M 6.546875 -10.65625 L 1.625 -10.65625 L 1.625 -0.75 L 6.546875 -0.75 Z M 7.359375 -11.390625 L 7.359375 -0.015625 L 0.8125 -0.015625 L 0.8125 -11.390625 Z M 7.359375 -11.390625 "/> @@ -334,31 +331,30 @@ <use xlink:href="#glyph3-11" x="459.2245" y="35.192001"/> </g> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> - <use xlink:href="#glyph4-1" x="176.188" y="417.052002"/> - <use xlink:href="#glyph4-2" x="185.084" y="417.052002"/> - <use xlink:href="#glyph4-3" x="189.532" y="417.052002"/> - <use xlink:href="#glyph4-2" x="193.98" y="417.052002"/> - <use xlink:href="#glyph4-4" x="198.428" y="417.052002"/> - <use xlink:href="#glyph4-5" x="208.796" y="417.052002"/> - <use xlink:href="#glyph4-6" x="217.388" y="417.052002"/> - <use xlink:href="#glyph4-7" x="222.716" y="417.052002"/> - <use xlink:href="#glyph4-5" x="230.716" y="417.052002"/> - <use xlink:href="#glyph4-6" x="239.308" y="417.052002"/> - <use xlink:href="#glyph4-2" x="244.636" y="417.052002"/> - <use xlink:href="#glyph4-8" x="249.084" y="417.052002"/> - <use xlink:href="#glyph4-9" x="260.636" y="417.052002"/> - <use xlink:href="#glyph4-10" x="269.532" y="417.052002"/> - <use xlink:href="#glyph4-11" x="278.124" y="417.052002"/> - <use xlink:href="#glyph4-12" x="287.02" y="417.052002"/> - <use xlink:href="#glyph4-5" x="296.204" y="417.052002"/> - <use xlink:href="#glyph4-2" x="304.796" y="417.052002"/> - <use xlink:href="#glyph4-13" x="309.244" y="417.052002"/> - <use xlink:href="#glyph4-5" x="320.204" y="417.052002"/> - <use xlink:href="#glyph4-14" x="328.796" y="417.052002"/> - <use xlink:href="#glyph4-15" x="338.284" y="417.052002"/> - <use xlink:href="#glyph4-5" x="347.18" y="417.052002"/> - <use xlink:href="#glyph4-16" x="355.772" y="417.052002"/> - <use xlink:href="#glyph4-17" x="363.772" y="417.052002"/> + <use xlink:href="#glyph4-1" x="178.412" y="417.052002"/> + <use xlink:href="#glyph4-2" x="187.308" y="417.052002"/> + <use xlink:href="#glyph4-3" x="191.756" y="417.052002"/> + <use xlink:href="#glyph4-4" x="196.204" y="417.052002"/> + <use xlink:href="#glyph4-5" x="206.572" y="417.052002"/> + <use xlink:href="#glyph4-6" x="215.164" y="417.052002"/> + <use xlink:href="#glyph4-7" x="220.492" y="417.052002"/> + <use xlink:href="#glyph4-5" x="228.492" y="417.052002"/> + <use xlink:href="#glyph4-6" x="237.084" y="417.052002"/> + <use xlink:href="#glyph4-3" x="242.412" y="417.052002"/> + <use xlink:href="#glyph4-8" x="246.86" y="417.052002"/> + <use xlink:href="#glyph4-9" x="258.412" y="417.052002"/> + <use xlink:href="#glyph4-10" x="267.308" y="417.052002"/> + <use xlink:href="#glyph4-11" x="275.9" y="417.052002"/> + <use xlink:href="#glyph4-12" x="284.796" y="417.052002"/> + <use xlink:href="#glyph4-5" x="293.98" y="417.052002"/> + <use xlink:href="#glyph4-3" x="302.572" y="417.052002"/> + <use xlink:href="#glyph4-13" x="307.02" y="417.052002"/> + <use xlink:href="#glyph4-5" x="317.98" y="417.052002"/> + <use xlink:href="#glyph4-14" x="326.572" y="417.052002"/> + <use xlink:href="#glyph4-15" x="336.06" y="417.052002"/> + <use xlink:href="#glyph4-5" x="344.956" y="417.052002"/> + <use xlink:href="#glyph4-16" x="353.548" y="417.052002"/> + <use xlink:href="#glyph4-17" x="361.548" y="417.052002"/> </g> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> <use xlink:href="#glyph4-18" x="211.3" y="435.5"/> @@ -375,49 +371,54 @@ <use xlink:href="#glyph4-7" x="286.868" y="435.5"/> <use xlink:href="#glyph4-1" x="294.868" y="435.5"/> <use xlink:href="#glyph4-21" x="303.764" y="435.5"/> - <use xlink:href="#glyph4-2" x="308.212" y="435.5"/> + <use xlink:href="#glyph4-3" x="308.212" y="435.5"/> <use xlink:href="#glyph4-7" x="312.66" y="435.5"/> <use xlink:href="#glyph4-26" x="320.66" y="435.5"/> <use xlink:href="#glyph4-27" x="329.556" y="435.5"/> </g> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> - <use xlink:href="#glyph4-28" x="169.44" y="525.052002"/> - <use xlink:href="#glyph4-6" x="178.624" y="525.052002"/> - <use xlink:href="#glyph4-10" x="183.952" y="525.052002"/> - <use xlink:href="#glyph4-29" x="192.544" y="525.052002"/> - <use xlink:href="#glyph4-5" x="206.192" y="525.052002"/> - <use xlink:href="#glyph4-30" x="214.784" y="525.052002"/> - <use xlink:href="#glyph4-15" x="224.272" y="525.052002"/> + <use xlink:href="#glyph4-26" x="160.056" y="525.052002"/> + <use xlink:href="#glyph4-2" x="168.952" y="525.052002"/> + <use xlink:href="#glyph4-3" x="173.4" y="525.052002"/> + <use xlink:href="#glyph4-28" x="177.848" y="525.052002"/> + <use xlink:href="#glyph4-6" x="187.032" y="525.052002"/> + <use xlink:href="#glyph4-10" x="192.36" y="525.052002"/> + <use xlink:href="#glyph4-29" x="200.952" y="525.052002"/> + <use xlink:href="#glyph4-5" x="214.6" y="525.052002"/> + <use xlink:href="#glyph4-30" x="223.192" y="525.052002"/> + <use xlink:href="#glyph4-15" x="232.68" y="525.052002"/> </g> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> - <use xlink:href="#glyph5-1" x="233.168" y="525.052002"/> + <use xlink:href="#glyph5-1" x="241.576" y="525.052002"/> </g> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> - <use xlink:href="#glyph4-5" x="242.4" y="525.052002"/> - <use xlink:href="#glyph4-6" x="250.992" y="525.052002"/> - <use xlink:href="#glyph4-2" x="256.32" y="525.052002"/> - <use xlink:href="#glyph4-31" x="260.768" y="525.052002"/> - <use xlink:href="#glyph4-22" x="272.32" y="525.052002"/> - <use xlink:href="#glyph4-20" x="281.808" y="525.052002"/> - <use xlink:href="#glyph4-10" x="291.296" y="525.052002"/> - <use xlink:href="#glyph4-17" x="299.888" y="525.052002"/> - <use xlink:href="#glyph4-5" x="304.928" y="525.052002"/> - <use xlink:href="#glyph4-2" x="313.52" y="525.052002"/> - <use xlink:href="#glyph4-13" x="317.968" y="525.052002"/> - <use xlink:href="#glyph4-5" x="328.928" y="525.052002"/> - <use xlink:href="#glyph4-22" x="337.52" y="525.052002"/> - <use xlink:href="#glyph4-32" x="347.008" y="525.052002"/> - <use xlink:href="#glyph4-33" x="350.56" y="525.052002"/> + <use xlink:href="#glyph4-5" x="250.808" y="525.052002"/> + <use xlink:href="#glyph4-6" x="259.4" y="525.052002"/> + <use xlink:href="#glyph4-3" x="264.728" y="525.052002"/> + <use xlink:href="#glyph4-31" x="269.176" y="525.052002"/> + <use xlink:href="#glyph4-22" x="280.728" y="525.052002"/> + <use xlink:href="#glyph4-20" x="290.216" y="525.052002"/> + <use xlink:href="#glyph4-10" x="299.704" y="525.052002"/> + <use xlink:href="#glyph4-17" x="308.296" y="525.052002"/> + <use xlink:href="#glyph4-5" x="313.336" y="525.052002"/> + <use xlink:href="#glyph4-3" x="321.928" y="525.052002"/> + <use xlink:href="#glyph4-13" x="326.376" y="525.052002"/> + <use xlink:href="#glyph4-5" x="337.336" y="525.052002"/> + <use xlink:href="#glyph4-14" x="345.928" y="525.052002"/> + <use xlink:href="#glyph4-15" x="355.416" y="525.052002"/> + <use xlink:href="#glyph4-5" x="364.312" y="525.052002"/> + <use xlink:href="#glyph4-16" x="372.904" y="525.052002"/> + <use xlink:href="#glyph4-17" x="380.904" y="525.052002"/> </g> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> - <use xlink:href="#glyph4-18" x="238.512" y="543.5"/> - <use xlink:href="#glyph4-7" x="242.656" y="543.5"/> - <use xlink:href="#glyph4-1" x="250.656" y="543.5"/> - <use xlink:href="#glyph4-21" x="259.552" y="543.5"/> - <use xlink:href="#glyph4-2" x="264" y="543.5"/> - <use xlink:href="#glyph4-7" x="268.448" y="543.5"/> - <use xlink:href="#glyph4-26" x="276.448" y="543.5"/> - <use xlink:href="#glyph4-27" x="285.344" y="543.5"/> + <use xlink:href="#glyph4-18" x="247.512" y="543.5"/> + <use xlink:href="#glyph4-7" x="251.656" y="543.5"/> + <use xlink:href="#glyph4-1" x="259.656" y="543.5"/> + <use xlink:href="#glyph4-21" x="268.552" y="543.5"/> + <use xlink:href="#glyph4-3" x="273" y="543.5"/> + <use xlink:href="#glyph4-7" x="277.448" y="543.5"/> + <use xlink:href="#glyph4-26" x="285.448" y="543.5"/> + <use xlink:href="#glyph4-27" x="294.344" y="543.5"/> </g> <path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 153 366 L 405 366 L 405 415.875 L 153 415.875 Z M 153 366 " transform="matrix(1,0,0,1,-142,-48)"/> <path style="fill:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -29.15625 14 L 28.15625 14 " transform="matrix(1,0,0,1,137,342.9375)"/> @@ -474,47 +475,50 @@ <path style="fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-dasharray:4,4;stroke-miterlimit:10;" d="M 549 415.875 L 549 879 " transform="matrix(1,0,0,1,-142,-48)"/> <path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 566 447 L 531 447 L 531 843 L 566 843 Z M 566 447 " transform="matrix(1,0,0,1,-142,-48)"/> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> - <use xlink:href="#glyph4-28" x="470.96" y="624.052002"/> - <use xlink:href="#glyph4-6" x="480.144" y="624.052002"/> - <use xlink:href="#glyph4-10" x="485.472" y="624.052002"/> - <use xlink:href="#glyph4-29" x="494.064" y="624.052002"/> - <use xlink:href="#glyph4-5" x="507.712" y="624.052002"/> - <use xlink:href="#glyph4-30" x="516.304" y="624.052002"/> - <use xlink:href="#glyph4-15" x="525.792" y="624.052002"/> + <use xlink:href="#glyph4-32" x="462.064" y="624.052002"/> + <use xlink:href="#glyph4-2" x="470.96" y="624.052002"/> + <use xlink:href="#glyph4-3" x="475.408" y="624.052002"/> + <use xlink:href="#glyph4-28" x="479.856" y="624.052002"/> + <use xlink:href="#glyph4-6" x="489.04" y="624.052002"/> + <use xlink:href="#glyph4-10" x="494.368" y="624.052002"/> + <use xlink:href="#glyph4-29" x="502.96" y="624.052002"/> + <use xlink:href="#glyph4-5" x="516.608" y="624.052002"/> + <use xlink:href="#glyph4-30" x="525.2" y="624.052002"/> + <use xlink:href="#glyph4-15" x="534.688" y="624.052002"/> </g> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> - <use xlink:href="#glyph5-1" x="534.688" y="624.052002"/> + <use xlink:href="#glyph5-1" x="543.584" y="624.052002"/> </g> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> - <use xlink:href="#glyph4-5" x="543.92" y="624.052002"/> - <use xlink:href="#glyph4-6" x="552.512" y="624.052002"/> - <use xlink:href="#glyph4-2" x="557.84" y="624.052002"/> - <use xlink:href="#glyph4-31" x="562.288" y="624.052002"/> - <use xlink:href="#glyph4-22" x="573.84" y="624.052002"/> - <use xlink:href="#glyph4-20" x="583.328" y="624.052002"/> - <use xlink:href="#glyph4-10" x="592.816" y="624.052002"/> - <use xlink:href="#glyph4-17" x="601.408" y="624.052002"/> - <use xlink:href="#glyph4-5" x="606.448" y="624.052002"/> + <use xlink:href="#glyph4-5" x="552.816" y="624.052002"/> + <use xlink:href="#glyph4-6" x="561.408" y="624.052002"/> + <use xlink:href="#glyph4-3" x="566.736" y="624.052002"/> + <use xlink:href="#glyph4-31" x="571.184" y="624.052002"/> + <use xlink:href="#glyph4-22" x="582.736" y="624.052002"/> + <use xlink:href="#glyph4-20" x="592.224" y="624.052002"/> + <use xlink:href="#glyph4-10" x="601.712" y="624.052002"/> + <use xlink:href="#glyph4-17" x="610.304" y="624.052002"/> + <use xlink:href="#glyph4-5" x="615.344" y="624.052002"/> </g> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> <use xlink:href="#glyph4-18" x="517.512" y="642.5"/> <use xlink:href="#glyph4-7" x="521.656" y="642.5"/> <use xlink:href="#glyph4-1" x="529.656" y="642.5"/> <use xlink:href="#glyph4-21" x="538.552" y="642.5"/> - <use xlink:href="#glyph4-2" x="543" y="642.5"/> + <use xlink:href="#glyph4-3" x="543" y="642.5"/> <use xlink:href="#glyph4-7" x="547.448" y="642.5"/> <use xlink:href="#glyph4-26" x="555.448" y="642.5"/> <use xlink:href="#glyph4-27" x="564.344" y="642.5"/> </g> <path style="fill:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 801 708 L 306.898438 708 " transform="matrix(1,0,0,1,-142,-48)"/> <path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 298.898438 708 L 306.898438 711 L 306.898438 705 Z M 298.898438 708 " transform="matrix(1,0,0,1,-142,-48)"/> -<path style="fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 918 639 L 189 639 L 189 756 L 918 756 Z M 918 639 " transform="matrix(1,0,0,1,-142,-48)"/> -<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 189 639 L 250.480469 639 L 250.480469 646.3125 L 245.359375 653.625 L 189 653.625 Z M 189 639 " transform="matrix(1,0,0,1,-142,-48)"/> +<path style="fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 927 648 L 198 648 L 198 765 L 927 765 Z M 927 648 " transform="matrix(1,0,0,1,-142,-48)"/> +<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 198 648 L 259.480469 648 L 259.480469 655.3125 L 254.359375 662.625 L 198 662.625 Z M 198 648 " transform="matrix(1,0,0,1,-142,-48)"/> <g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> - <use xlink:href="#glyph7-1" x="52" y="603.8125"/> - <use xlink:href="#glyph7-2" x="56.4448" y="603.8125"/> - <use xlink:href="#glyph7-2" x="66.2176" y="603.8125"/> - <use xlink:href="#glyph7-3" x="75.9904" y="603.8125"/> + <use xlink:href="#glyph7-1" x="61" y="612.8125"/> + <use xlink:href="#glyph7-2" x="65.4448" y="612.8125"/> + <use xlink:href="#glyph7-2" x="75.2176" y="612.8125"/> + <use xlink:href="#glyph7-3" x="84.9904" y="612.8125"/> </g> </g> </svg>
--- a/presen/prosym.html Mon Jan 04 18:52:13 2016 +0900 +++ b/presen/prosym.html Wed Jan 06 01:58:10 2016 +0900 @@ -87,7 +87,7 @@ <!-- === begin markdown block === generated by markdown/1.2.0 on Ruby 2.3.0 (2015-12-25) [x86_64-darwin15] - on 2016-01-04 18:51:20 +0900 with Markdown engine kramdown (1.9.0) + on 2016-01-06 01:55:09 +0900 with Markdown engine kramdown (1.9.0) using options {} --> @@ -169,11 +169,23 @@ <li>Java で作成されたTightVNC(Tight Virtual Network Computing) を元に作成されている</li> <li>クライアント同士をバイナリツリー状に接続する</li> <li>バイナリツリーのルートのノードをRoot Nodeと呼び、 Root Node に接続されるノードを Node と呼ぶ</li> - <li>Root Node は 子 Nodeにデータを流す機能に加え、 各 Node の管理、 VNC サーバーから送信されたFramebuffer の管理を行う</li> - <li>Node は 親 Node から送られたデータを自分の子 Node に流す機能、 逆に子 Node から送られてきたデータを親 Nodeに流す機能がある</li> + <li>Node は 親 Node から送られたデータを自分の子 Node に流す機能、 逆に子 Node から送られてきたデータを親 Nodeに流す機能がある +<img src="./images/TreeVNC.svg" alt="message" width="400" /></li> </ul> -<p><img src="./images/TreeVNC.svg" alt="message" width="400" /></p> + +</div> +<div class='slide '> +<!-- _S9SLIDE_ --> +<h1 id="root-node">Root Node</h1> +<ul> + <li>Root Node は 子 Nodeにデータを流す機能に加え + <ul> + <li>各 Node の管理</li> + <li>VNC サーバーから送信されたFramebuffer の管理を行う</li> + </ul> + </li> +</ul> </div> @@ -219,29 +231,33 @@ <h1 id="javautilzipdeflater-">java.util.zip.deflater の問題点</h1> <ul> <li>java.util.zip.deflater は必要な辞書を書き出す事ができない</li> - <li>そのためZlibで圧縮されたデータを途中から受け取ってもデータを正しく解凍できない -<img src="./images/ZRLE.svg" alt="message" width="400" /></li> + <li>そのためZlibで圧縮されたデータを途中から受け取ってもデータを正しく解凍できない</li> </ul> +<p><img src="./images/ZRLE.svg" alt="message" width="800" /></p> + </div> <div class='slide '> <!-- _S9SLIDE_ --> <h1 id="zrlee">ZRLEE</h1> <ul> - <li>ZRLEE は一度 Root Nodeで ZRLEを解凍して再圧縮を行う、その際にfinish()を入れることで はじめからデータを呼んでいなくても解凍を行えるようにした。 -<img src="./images/ZRLEE.svg" alt="message" width="400" /></li> + <li>ZRLEE はZRLE を一度 Root Node で解凍して再圧縮を行う</li> + <li>再圧縮の際にfinish()を入れることで初めからデータを呼んでいなくても解凍を行える</li> + <li>一度 ZRLEE に変換すれば子 Node はそのデータをそのまま流すだけで良い</li> </ul> +<p><img src="./images/ZRLEE.svg" alt="message" width="400" /></p> + </div> <div class='slide '> <!-- _S9SLIDE_ --> <h1 id="treevnc--2">TreeVNC の通信経路</h1> <ul> - <li>ある Node から Root Node に直接通信を行 う send direct message (Node to Root)</li> + <li>ある Node から Root Node に直接通信を行う send direct message (Node to Root)</li> <li>Root Node からある Node に直接通信を行う send direct message (Root to Node)</li> - <li>Root Node から木の末端の Node までのすべ ての Node に通信を行う messeage down tree (Root to Node)</li> + <li>Root Node から木の末端の Node までのすべての Node に通信を行う messeage down tree (Root to Node)</li> <li>ある Node から木構造を上に辿って Root Node まで通信を行う message up tree (Node to Root)</li> <li>Root Node から配信者の VNC サーバーへ の通信を行う send message (Root to VNC- Server)</li> <li>VNC サーバーから Root Node への通信を行う send message (VNCServer to Root)</li> @@ -251,51 +267,75 @@ </div> <div class='slide '> <!-- _S9SLIDE_ --> -<h1 id="message">Message通信</h1> -<ul> - <li>クライアントが参加するまでの流れの説明</li> - <li>FIND_ROOT</li> - <li>FIND_ROOT_REPLY</li> - <li>WHERE_TO_CONNECT</li> - <li>CONNECT_TO</li> - <li>CONNECT</li> - <li>FRAME_BUFFER_UPDATE</li> -</ul> - -<p><img src="./images/message.svg" alt="message" width="400" /></p> +<h1 id="treevnc--3">TreeVNC に参加するまでのメッセージ通信の流れ</h1> +<table> + <tbody> + <tr> + <td><img src="./images/message.svg" alt="message" width="300" /></td> + <td> + <ul> + <li>接続を行う Node(以下 Client Node) は Multicast 通信で Root Node に対して FIND_ROOT を送信する(1:findRoot())</li> + <li>Root Node が FIND_ROOT を受信すると接続を行う Node に FIND_ROOT_REPLY を送信する (2:findRootReplay)</li> + <li>Client Node 側で、どの Root Node に接続するかを選択するパネルが表示される</li> + <li>Client Node はパネルで接続する Root Node を選択し、Root に対して接続先を要求 する WHERE_TO_CONNECT を送信する (3:whereToConnect())</li> + <li>受信した Root Node は Client Node の接続先を CONNECT_TO で送信する (4:connectTo)</li> + <li>Client Node は Root の指定した接続先に接続しに行く</li> + <li>Root Node, Client Node 間の接続が確立後 Root Node から Clinet Node に対して定期的に画像データ FRAME_BUFFER_UPDATE を送信する (5:framebufferUpdate()) + </li> + </ul> + </td> + </tr> + </tbody> +</table> </div> <div class='slide '> <!-- _S9SLIDE_ --> -<h1 id="section-4">木の再構成</h1> +<h1 id="section-4">切断時の木の再構成</h1> <ul> - <li>Lost Child</li> -</ul> - -<p><img src="./images/lostChild1.svg" alt="message" width="800" /></p> - - -</div> -<div class='slide '> -<!-- _S9SLIDE_ --> -<h1 id="section-5">共有画面切り替え</h1> -<ul> - <li>TreeVNC の Root Node は配信者の VNC サーバーと通信を行っている</li> - <li>Share Screen ボタンが押されると、 Root Node は Share Screen ボタンを押したクライアントの VNC サーバーと通信を始める。</li> - <li>そのため TreeVNC は配信者切り替えの度にVNCを終了し、再接続する必要がない。</li> - <li>server Change の図が必要かな?</li> + <li>TreeVNC はバイナリーツリーという特性上 Node の切断を検知できずにいると、Node 同士で構成された木構造が崩れてしまい、 木構造が崩れた状態で新しい Node が接続に来た場合に適切な場所に Node を接続することができない</li> + <li>木構造のネットワークトポロジーは Root Node が持っている nodeList というリストで管理している</li> + <li>Nodeの接続が切れた場合、木の再構成を行うため nodeListを更新する必要がある</li> </ul> </div> <div class='slide '> <!-- _S9SLIDE_ --> -<h1 id="section-6">使用しての問題点</h1> +<h1 id="section-5">切断時の木の再構成</h1> +<ul> + <li>TreeVNC は Node 切断の検知を LOST_CHILD というメッセージ通信で行っている</li> + <li>LOST_CHILD の検出方法は MulticastQueue という画像データを蓄積するキューを利用して行う</li> + <li>子 Node は 親 の MulticastQueue から画像データを取得し、画面を描画する</li> + <li>一定時間 MulticastQueue から画像データが取得されない場合 Memory Over Flow を回避するためにTimeout スレッドが用意されている</li> + <li>Timeout を検知した際、子 Node との接続が切れたと判断し、木を再構成する</li> +</ul> + + +</div> +<div class='slide '> +<!-- _S9SLIDE_ --> +<h1 id="lostchild">LOST_CHILDの例</h1> <ul> - <li>マルチディスプレイ問題</li> - <li>複数のネットワーク</li> - <li>遠隔地での参加</li> + <li>子 Node の切断を検知した Node が Root Node へ LOST_CHILD メッセージを送信する (1:lostChild())</li> + <li>LOST_CHILD メッセージを受け取った Root Node は nodeList の更新を行う (2:updateNodeList())</li> + <li>切断した Node を nodeList から消し、 nodeList の最後尾の Node に切断した node number を割り当てる</li> + <li>Root Node は最後尾の Node に、切断した子 Node が接続していた親 Node に接続する様 に CONNECT_TO メッセージを送信する (3:connectTo(1))</li> + <li>最後尾の Node が子 Node を失った親 Node へ 接続しに行く (4:connectToParent(1)) +<img src="./images/lostChild1.svg" alt="message" width="800" /></li> +</ul> + + +</div> +<div class='slide '> +<!-- _S9SLIDE_ --> +<h1 id="section-6">共有画面切り替え</h1> +<ul> + <li>TreeVNC の Root Node は配信者の VNC サーバーと通信を行っている</li> + <li>画面を配信されている側のビューワにある Share Screen ボタンが押されると木をたどり、 Root Node に SERVER_CHANGE_REQUEST メッセージを送信する</li> + <li>Root Node は Share Screen ボタンを押したクライアントの VNC サーバーと通信を始める。</li> + <li>そのため TreeVNC は配信者切り替えの度にVNCを終了し、再接続する必要がない。</li> </ul> @@ -303,12 +343,32 @@ <div class='slide '> <!-- _S9SLIDE_ --> <h1 id="quality--speed-">QUALITY モードと SPEED モード</h1> +<ul> + <li>高解像度のデータの描画処理はPCのスペックによって重くなる場合がある</li> + <li>画像描画処理には + <ul> + <li>高画質優先の QUALITY モード</li> + <li>描画速度優先の SPEED モード</li> + </ul> + </li> + <li>今まで QUALITY モード を使用していた(変更不可)</li> + <li>今回ビューワからユーザーがどちらのモードを使用するかを変更できるようにした</li> + <li>これにより描画処理の遅延が解決できると思われる</li> +</ul> </div> <div class='slide '> <!-- _S9SLIDE_ --> <h1 id="section-7">マルチディスプレイ</h1> +<ul> + <li>VNC サーバーからはすべての画面データが送信されてしまっていた</li> + <li>共有したいディスプレイを選択して共有するのが望ましい</li> + <li>画面切り替えの際のSERVER_CHANGE_REQUESTに共有するディスプレイの座標を付加する</li> + <li>Root Node は 接続した VNC サーバーから画像データを要求する FRAME_BUFFER_UPDATE_REQUEST メッセージに受け取った座標を付加する</li> + <li>VNC サーバーは要求された座標内の画像データを FRAME_BUFFER_UPDATE メッセージで Root Node に送信する +<img src="./images/shareScreenToMultiDisplay.svg" alt="message" width="800" /></li> +</ul> </div>
--- a/presen/prosym.md Mon Jan 04 18:52:13 2016 +0900 +++ b/presen/prosym.md Wed Jan 06 01:58:10 2016 +0900 @@ -41,10 +41,13 @@ - Java で作成されたTightVNC(Tight Virtual Network Computing) を元に作成されている - クライアント同士をバイナリツリー状に接続する - バイナリツリーのルートのノードをRoot Nodeと呼び、 Root Node に接続されるノードを Node と呼ぶ -- Root Node は 子 Nodeにデータを流す機能に加え、 各 Node の管理、 VNC サーバーから送信されたFramebuffer の管理を行う - Node は 親 Node から送られたデータを自分の子 Node に流す機能、 逆に子 Node から送られてきたデータを親 Nodeに流す機能がある +<img src="./images/TreeVNC.svg" alt="message" width="400"> -<img src="./images/TreeVNC.svg" alt="message" width="400"> +# Root Node +- Root Node は 子 Nodeにデータを流す機能に加え + - 各 Node の管理 + - VNC サーバーから送信されたFramebuffer の管理を行う # TreeVNCの通信量 - ポート一本あたりの負荷 @@ -65,51 +68,87 @@ # java.util.zip.deflater の問題点 - java.util.zip.deflater は必要な辞書を書き出す事ができない - そのためZlibで圧縮されたデータを途中から受け取ってもデータを正しく解凍できない -<img src="./images/ZRLE.svg" alt="message" width="400"> + +<img src="./images/ZRLE.svg" alt="message" width="800"> # ZRLEE -- ZRLEE は一度 Root Nodeで ZRLEを解凍して再圧縮を行う、その際にfinish()を入れることで はじめからデータを呼んでいなくても解凍を行えるようにした。 +- ZRLEE はZRLE を一度 Root Node で解凍して再圧縮を行う +- 再圧縮の際にfinish()を入れることで初めからデータを呼んでいなくても解凍を行える +- 一度 ZRLEE に変換すれば子 Node はそのデータをそのまま流すだけで良い + <img src="./images/ZRLEE.svg" alt="message" width="400"> # TreeVNC の通信経路 -- ある Node から Root Node に直接通信を行 う send direct message (Node to Root) +- ある Node から Root Node に直接通信を行う send direct message (Node to Root) - Root Node からある Node に直接通信を行う send direct message (Root to Node) -- Root Node から木の末端の Node までのすべ ての Node に通信を行う messeage down tree (Root to Node) +- Root Node から木の末端の Node までのすべての Node に通信を行う messeage down tree (Root to Node) - ある Node から木構造を上に辿って Root Node まで通信を行う message up tree (Node to Root) - Root Node から配信者の VNC サーバーへ の通信を行う send message (Root to VNC- Server) - VNC サーバーから Root Node への通信を行う send message (VNCServer to Root) -# Message通信 -- クライアントが参加するまでの流れの説明 -- FIND_ROOT -- FIND_ROOT_REPLY -- WHERE_TO_CONNECT -- CONNECT_TO -- CONNECT -- FRAME_BUFFER_UPDATE +# TreeVNC に参加するまでのメッセージ通信の流れ +<table> + <tbody> + <tr> + <td><img src="./images/message.svg" alt="message" width="300"/></td> + <td> + <ul> + <li>接続を行う Node(以下 Client Node) は Multicast 通信で Root Node に対して FIND_ROOT を送信する(1:findRoot())</li> + <li>Root Node が FIND_ROOT を受信すると接続を行う Node に FIND_ROOT_REPLY を送信する (2:findRootReplay)</li> + <li>Client Node 側で、どの Root Node に接続するかを選択するパネルが表示される</li> + <li>Client Node はパネルで接続する Root Node を選択し、Root に対して接続先を要求 する WHERE_TO_CONNECT を送信する (3:whereToConnect())</li> + <li>受信した Root Node は Client Node の接続先を CONNECT_TO で送信する (4:connectTo)</li> + <li>Client Node は Root の指定した接続先に接続しに行く</li> + <li>Root Node, Client Node 間の接続が確立後 Root Node から Clinet Node に対して定期的に画像データ FRAME_BUFFER_UPDATE を送信する (5:framebufferUpdate()) + </li> + </ul> + </td> + </tr> + </tbody> +</table> -<img src="./images/message.svg" alt="message" width="400"> +# 切断時の木の再構成 +- TreeVNC はバイナリーツリーという特性上 Node の切断を検知できずにいると、Node 同士で構成された木構造が崩れてしまい、 木構造が崩れた状態で新しい Node が接続に来た場合に適切な場所に Node を接続することができない +- 木構造のネットワークトポロジーは Root Node が持っている nodeList というリストで管理している +- Nodeの接続が切れた場合、木の再構成を行うため nodeListを更新する必要がある -# 木の再構成 -- Lost Child +# 切断時の木の再構成 +- TreeVNC は Node 切断の検知を LOST\_CHILD というメッセージ通信で行っている +- LOST\_CHILD の検出方法は MulticastQueue という画像データを蓄積するキューを利用して行う +- 子 Node は 親 の MulticastQueue から画像データを取得し、画面を描画する +- 一定時間 MulticastQueue から画像データが取得されない場合 Memory Over Flow を回避するためにTimeout スレッドが用意されている +- Timeout を検知した際、子 Node との接続が切れたと判断し、木を再構成する +# LOST_CHILDの例 +- 子 Node の切断を検知した Node が Root Node へ LOST\_CHILD メッセージを送信する (1:lostChild()) +- LOST\_CHILD メッセージを受け取った Root Node は nodeList の更新を行う (2:updateNodeList()) +- 切断した Node を nodeList から消し、 nodeList の最後尾の Node に切断した node number を割り当てる +- Root Node は最後尾の Node に、切断した子 Node が接続していた親 Node に接続する様 に CONNECT\_TO メッセージを送信する (3:connectTo(1)) +- 最後尾の Node が子 Node を失った親 Node へ 接続しに行く (4:connectToParent(1)) <img src="./images/lostChild1.svg" alt="message" width="800"> - # 共有画面切り替え - TreeVNC の Root Node は配信者の VNC サーバーと通信を行っている -- Share Screen ボタンが押されると、 Root Node は Share Screen ボタンを押したクライアントの VNC サーバーと通信を始める。 +- 画面を配信されている側のビューワにある Share Screen ボタンが押されると木をたどり、 Root Node に SERVER\_CHANGE\_REQUEST メッセージを送信する +- Root Node は Share Screen ボタンを押したクライアントの VNC サーバーと通信を始める。 - そのため TreeVNC は配信者切り替えの度にVNCを終了し、再接続する必要がない。 -- server Change の図が必要かな? - -# 使用しての問題点 -- マルチディスプレイ問題 -- 複数のネットワーク -- 遠隔地での参加 # QUALITY モードと SPEED モード +- 高解像度のデータの描画処理はPCのスペックによって重くなる場合がある +- 画像描画処理には + - 高画質優先の QUALITY モード + - 描画速度優先の SPEED モード +- 今まで QUALITY モード を使用していた(変更不可) +- 今回ビューワからユーザーがどちらのモードを使用するかを変更できるようにした +- これにより描画処理の遅延が解決できると思われる # マルチディスプレイ +- VNC サーバーからはすべての画面データが送信されてしまっていた +- 共有したいディスプレイを選択して共有するのが望ましい +- 画面切り替えの際のSERVER\_CHANGE\_REQUESTに共有するディスプレイの座標を付加する +- Root Node は 接続した VNC サーバーから画像データを要求する FRAME\_BUFFER\_UPDATE\_REQUEST メッセージに受け取った座標を付加する +- VNC サーバーは要求された座標内の画像データを FRAME\_BUFFER\_UPDATE メッセージで Root Node に送信する +<img src="./images/shareScreenToMultiDisplay.svg" alt="message" width="800"> # 複数ネットワークの対応