<div dir="ltr"><div><div><div>Dear developers of <span tabindex="-1" id=":2ud.1" style="background:yellow none repeat scroll 0% 0%" class="">KStars</span>,<br><br></div>While porting lines (Equator, <span tabindex="-1" id=":2ud.2" style="background:yellow none repeat scroll 0% 0%" class="">EquatorialCoordinateGrid</span>, <span tabindex="-1" id=":2ud.3" style="background:yellow none repeat scroll 0% 0%" class="">HorizontalCoordinateGrid</span>,
          <br>
             <span tabindex="-1" id=":2ud.4" style="background:yellow none repeat scroll 0% 0%" class="">ConstellationLines</span> etc.) I noticed that performance of Android version fell down pretty significant. <span tabindex="-1" id=":2ud.5" style="background:yellow none repeat scroll 0% 0%" class="">Profiler</span> shows that <span tabindex="-1" id=":2ud.6" style="background:yellow none repeat scroll 0% 0%" class="">sincos</span> is called a lot and at least on my tablet this causes very <span tabindex="-1" id=":2ud.8" style="background:yellow none repeat scroll 0% 0%" class="">laggy</span> slewing.<br></div>I thought that we could use <span tabindex="-1" id=":2ud.9" style="background:yellow none repeat scroll 0% 0%" class="">SkyMesh</span> to see what lines have to be updated and call <span tabindex="-1" id=":2ud.10" style="background:yellow none repeat scroll 0% 0%" class="">toScreenVec</span> accordingly but it turns out that <span tabindex="-1" id=":2ud.11" style="background:yellow none repeat scroll 0% 0%" class="">SkyMesh</span> doesn't always return visible <span tabindex="-1" id=":2ud.12" style="background:yellow none repeat scroll 0% 0%" class="">Trixels</span> correctly. I'm doing the following:<br></div><ol><li>Call <span tabindex="-1" id=":2ud.13" style="background:yellow none repeat scroll 0% 0%" class="">SkyMesh</span>::aperture(focus, radius)</li><li>Iterate over visible <span tabindex="-1" id=":2ud.14" style="background:yellow none repeat scroll 0% 0%" class="">trixels</span> with <span tabindex="-1" id=":2ud.15" style="background:yellow none repeat scroll 0% 0%" class="">MeshIterator</span> region (mesh,DRAW_<span tabindex="-1" id=":2ud.16" style="background:yellow none repeat scroll 0% 0%" class="">BUF</span>);</li></ol><p>On minimum zoom when the whole half sphere is visible I get all 512 <span tabindex="-1" id=":2ud.17" style="background:yellow none repeat scroll 0% 0%" class="">trixels</span>. I thought that in this case it has to be around 256 <span tabindex="-1" id=":2ud.18" style="background:yellow none repeat scroll 0% 0%" class="">trixels</span>. Also when I don't draw lines based on what <span tabindex="-1" id=":2ud.19" style="background:yellow none repeat scroll 0% 0%" class="">trixels</span> are visible, some of lines in visible area are not drawn. Is it a normal behavior or a bug?<br></p><p>Is it possible to minimize the number of calls to Projector::<span tabindex="-1" id=":2ud.20" style="background:yellow none repeat scroll 0% 0%" class="">toScreenVec</span>()? Can we modify Projector::<span tabindex="-1" id=":2ud.21" style="background:yellow none repeat scroll 0% 0%" class="">checkVisibility</span>() so that we don't call <span tabindex="-1" id=":2ud.22" style="background:yellow none repeat scroll 0% 0%" class="">toScreenVec</span>() if we now that the <span tabindex="-1" id=":2ud.23" style="background:yellow none repeat scroll 0% 0%" class="">SkyPoint</span> is not visible?</p><p>I committed all the changes so feel free to test them on your device and measure the performance. Also, if someone has experience with <span tabindex="-1" id=":2ud.24" style="background:yellow none repeat scroll 0% 0%" class="">shaders</span> I would appreciate helping me as Qt Quick Scene Graph doesn't support drawing dashed lines out of a box and I would like to use <span tabindex="-1" id=":2ud.25" style="background:yellow none repeat scroll 0% 0%" class="">shaders</span> for that but have a few questions.</p><p>Regards, <span tabindex="-1" id=":2ud.26" style="background:yellow none repeat scroll 0% 0%" class="">Artem</span><br></p></div>