View Issue Details

IDProjectCategoryView StatusLast Update
0002147CCdciel[All Projects] Generalpublic19-06-29 14:21
ReporterThomas JaegerAssigned ToPatrick Chevalley 
PriorityhighSeveritymajorReproducibilityalways
Status resolvedResolutionfixed 
PlatformPCOSLinuxOS Version64bit
Product Version0.9 
Target Version1.0Fixed in Version 
Summary0002147: Great performance degradation with 0.9.58
DescriptionToday I received 0.9.58 from PPA. I wanted to start imaging but I recognized a major performance degradation with this version.

The download of my ASI183 degraded from 1s to nearly 15s. A high cpu load is also there. A restart of my PC does not solve this.

Because the night came closer, and I usually start with making 120 Flats, I decided to switch back to 0.9.57.
TagsNo tags attached.

Activities

Thomas Jaeger

19-06-27 22:24

reporter  

Log_20190627_215359-bad.log (3,040 bytes)
Log_20190627_220019-good.log (18,155 bytes)

Patrick Chevalley

19-06-27 23:13

administrator   ~0005723

Sorry for this unwanted effect.

This version include a change to read the INDI message the standard way to make it more reliable.
Previously I use a trick to read the Indi data to a 8KB buffer, then try to find the start and end of the xml message in this buffer.
Now I read each line separated by LF, this is more reliable but the image data is cut in small line of 72 bytes by the server, so the number of read operation is multiplied by 100.

I use this method myself for two night without remarking any performance problem, I even find it more reactive because it not have to wait a timeout when small data is send and not fill the 8KB buffer.
I also tested the simulator with a ccd size of 4000x3000 without problem.

The log is not very informative. To have a better idea of your configuration can you send me the config file ~/.config/ccdciel/ccdciel_CA300-ASI183-EQMOD.conf
Also is the camera connected locally or to a remote Indi server?
This will help me to reproduce the problem.

Patrick Chevalley

19-06-28 08:30

administrator   ~0005724

A solution is probably to keep the new method for all device and property, except for the image blob that will use the old method with a big buffer.

I try to make that today.

Thomas Jaeger

19-06-28 13:55

reporter   ~0005725

Hello,
I suppied the logs because I want to show the difference in download time:

with 0.9.57 approx. 3-4sec.
2019-06-27T22:15:12.678 1: Starting Flat exposure 2/41 for 1.03 seconds
2019-06-27T22:15:18.445 2: Flat level=20831
2019-06-27T22:15:18.473 1: Saved file /home/starhopper/CCD/M57/Flat/Flat_G_53_auto_20190627_201518.fits

with 0.9.58 approx. 32sec
2019-06-27T21:55:27.226 2: Set Binning 1x1
2019-06-27T21:55:27.226 3: ZWO CCD ASI183MM Pro: Set binning 1x1
2019-06-27T21:55:27.638 2: Start single preview
2019-06-27T21:56:01.436 2: End preview

I attached the config file. Do not hurry, It is clear in germany with dark blue skies. I can image with 0.9.57. By the way my sequence of M13 ran perfect and unattended. EQMOD, Skycharts, PHD, platesolving and sysnc, automatic flats , dynamic autofocus work flawlessly. I am very happy.

Thomas

Thomas Jaeger

19-06-28 13:58

reporter  

ccdciel_CA300-ASI183-EQMOD.conf.txt (9,488 bytes)
<?xml version="1.0" encoding="utf-8"?>
<CONFIG Language="en" Interface="0" DomeInterface="0" MountInterface="0" CameraInterface="0" SafetyInterface="0" FocuserInterface="0" RotatorInterface="0" WeatherInterface="0" FilterWheelInterface="0">
  <INDI Server="localhost" ServerPort="7624"/>
  <Devices Dome="False" Mount="True" Camera="True" Safety="False" Focuser="True" Rotator="False" Timeout="100" Weather="False" Watchdog="False" FilterWheel="True"/>
  <INDIcamera Device="ZWO CCD ASI183MM Pro" Sensor="CCD1" Server="localhost" DevicePort="" ServerPort="7624" IndiTransfert="0" AutoLoadConfig="True" IndiTransfertDir="/tmp"/>
  <ASCOMcamera Device="" FlipImage="True"/>
  <INDIwheel Device="ASI EFW" Server="localhost" DevicePort="" ServerPort="7624" AutoLoadConfig="True"/>
  <ASCOMwheel Device=""/>
  <INDIfocuser Device="MoonLite" Server="localhost" DevicePort="" ServerPort="7624" AutoLoadConfig="True"/>
  <ASCOMfocuser Device=""/>
  <INDIrotator Server="localhost" DevicePort="" ServerPort="7624" AutoLoadConfig="False"/>
  <ASCOMrotator Device=""/>
  <INDImount Device="EQMod Mount" Server="localhost" DevicePort="" ServerPort="7624" AutoLoadConfig="True"/>
  <ASCOMmount Device=""/>
  <INDIwatchdog Server="localhost" Threshold="10" ServerPort="7624" AutoLoadConfig="False"/>
  <Files TmpDir="/home/starhopper/.config/ccdciel/tmp" SubDirOpt0="0" SubDirOpt1="1" SubDirOpt2="2" SubDirOpt3="3" SubDirOpt4="4" SubDirOpt5="5" SubDirOpt6="6" SubDirOpt7="7" CapturePath="/home/starhopper/CCD" FileNameSep="_" FileNameOpt0="0" FileNameOpt1="1" FileNameOpt2="6" FileNameOpt3="2" FileNameOpt4="5" FileNameOpt5="3" FileNameOpt6="4" SubDirActive0="True" SubDirActive1="True" SubDirActive2="False" SubDirActive3="False" SubDirActive4="False" SubDirActive5="False" SubDirActive6="False" SubDirActive7="False" FileNameActive0="True" FileNameActive1="True" FileNameActive2="True" FileNameActive3="True" FileNameActive4="True" FileNameActive5="False" FileNameActive6="False"/>
  <StarAnalysis Focus="1000" Window="250" FocuserDelay="1" Undersampled="False" AutoFocusMode="1" AutofocusTemp="0" AutofocusMinSNR="2" FocuserBacklash="100" FocuserLastTemp="18.5" AutofocusBinning="2" AutofocusInPlace="True" AutofocusMoveDir="False" AutofocusNearHFD="11.4" AutofocusNearNum="3" AutofocusStarMag="4" FocuserTempCoeff="0" AutofocusExposure="2" AutofocusMaxSpeed="122" AutofocusMinSpeed="18" AutofocusStartHFD="15.7" AutofocusTolerance="5.66" FocuserBacklashActive="True" AutofocusPrecisionSlew="2" AutofocusSlippageOffset="0" AutofocusDynamicMovement="112" AutofocusDynamicNumPoint="7" FocuserBacklashDirection="False" AutofocusSlippageCorrection="False">
    <Vcurve PosFocus="9" PosNearL="4" PosNearR="14" VcNsteps="15" VcCenterpos="9744" VcHalfwidth="1080" AutofocusVcDir="False" AutofocusVcNum="15" AutofocusVcPID="-68.3584246649389" AutofocusVcpiL="5314.80184274292" AutofocusVcpiR="5246.44341807798" AutofocusVcHfd0="21.456738430105" AutofocusVcHfd1="18.6487875764264" AutofocusVcHfd2="17.5500151839862" AutofocusVcHfd3="14.3846924663809" AutofocusVcHfd4="12.7930175498261" AutofocusVcHfd5="9.98297412637691" AutofocusVcHfd6="8.17004995097099" AutofocusVcHfd7="6.9952499289362" AutofocusVcHfd8="5.31316205459937" AutofocusVcHfd9="5.16470822421086" AutofocusVcPos0="4955" AutofocusVcPos1="4991" AutofocusVcPos2="5025" AutofocusVcPos3="5063" AutofocusVcPos4="5099" AutofocusVcPos5="5135" AutofocusVcPos6="5171" AutofocusVcPos7="5207" AutofocusVcPos8="5243" AutofocusVcPos9="5279" AutofocusVcTemp="20" AutofocusVcHfd10="5.4465298942004" AutofocusVcHfd11="6.43982898375169" AutofocusVcHfd12="8.89576384125516" AutofocusVcHfd13="10.2960565054014" AutofocusVcHfd14="13.1996535712372" AutofocusVcHfd15="15.3317691614105" AutofocusVcPos10="5315" AutofocusVcPos11="5351" AutofocusVcPos12="5387" AutofocusVcPos13="5423" AutofocusVcPos14="5459" AutofocusVcPos15="5495" AutofocusVcSlopeL="-0.0587378013798691" AutofocusVcSlopeR="0.0613549169036129" AutofocusVcBinning="4" AutofocusVcSkipNum="2" AutofocusVcFilterOffset="0"/>
  </StarAnalysis>
  <Filters Num="7" Filter1="L" Filter2="R" Filter3="G" Filter4="B" Filter5="Ha" Filter6="SII" Filter7="OIII" Filter8="OIII" Filter9="frei" Offset1="0" Offset2="0" Offset3="0" Offset4="0" Offset5="0" Offset6="0" Offset7="0" Offset8="0" Offset9="0" ExpFact1="1" ExpFact2="1" ExpFact3="1" ExpFact4="1.5" ExpFact5="4" ExpFact6="3" ExpFact7="6" ExpFact8="1" ExpFact9="1" Filter10="frei" Offset10="0" ExpFact10="1"/>
  <Log LogLevel="3" Messages="True" Debug_Ascom="False" UseTcpServer="False"/>
  <Info HorizonFile="" ElevationMin="0" ObserverName="starhopper" TelescopeName="CA300" ObservatoryName="Zirndorf" ObservatoryLatitude="49.4652777777778" ObservatoryElevation="0" ObservatoryLongitude="10.9438888888889"/>
  <Color Bayer="False" BayerMode="0" RedBalance="1" BlueBalance="1" GreenBalance="1" ClippingOverflow="65535" ClippingUnderflow="0"/>
  <BadPixel Sigma="5"/>
  <PreviewStack StackShow="False" StackUseDark="False" StackDarkFile=""/>
  <Video PreviewRate="5"/>
  <RefImage Color="0" Treshold="236"/>
  <Cooler CameraAutoCool="True" TemperatureScale="0" TemperatureSlope="5" CameraAutoCoolTemp="-10"/>
  <Flat FlatType="1" FlatMaxExp="20" FlatMinExp="0" FlatLevelMax="24000" FlatLevelMin="19000" DomeFlatSetLight="False" FlatAutoExposure="True" DomeFlatSetLightON="" DomeFlatSetLightOFF="" DomeFlatTelescopeAz="90" DomeFlatTelescopeAlt="5" DomeFlatTelescopeSlew="False"/>
  <Astrometry Plot="False" Timeout="120" Resolver="0" MaxRadius="90" PixelSize="2.4" CygwinPath="C:\cygwin" DownSample="4" ASTAPFolder="/opt/astap" AstUseScript="False" ElbrusFolder="C:\Elbrus\Images" FocaleLength="1200" OtherOptions="" SourcesLimit="150" ASTAPLimitMag="16.5" ASTAPStartMag="10" AstCustScript="" ElbrusUnixpath="/home/starhopper/Elbrus/Images" PlatesolveWait="0" ScaleTolerance="0.1" ASTAPdownsample="1" PlatesolveFolder="C:\PlateSolve2.28" ASTAPSearchRadius="5" FocaleFromTelescope="False" PixelSizeFromCamera="True"/>
  <PrecSlew Delay="5" Retry="3" Filter="0" Method="0" Binning="4" Exposure="4" Precision="3"/>
  <Meridian MinutesPast="0" MeridianOption="0" MinutesPastMin="0" MeridianFlipAutofocus="False" MeridianFlipCalibrate="False" MeridianFlipPauseAfter="False" MeridianFlipPauseBefore="False" MeridianFlipStopSlaving="False" MeridianFlipPauseTimeout="0"/>
  <Autoguider PHDport="4400" Software="0" PHDhostname="localhost" LinGuiderPort="5656" LinGuiderSocket="/tmp/lg_ss" LinGuiderHostname="localhost" LinGuiderUseUnixSocket="True">
    <Dither Pixel="7" RAonly="False" WaitTime="5"/>
    <Settle Pixel="2" MaxTime="30" MinTime="5" CalibrationDelay="300"/>
    <Recovery CancelTimeout="1800" RestartTimeout="15"/>
  </Autoguider>
  <Planetarium CdCport="" Software="0" CdChostname="localhost"/>
  <Configuration Version="0.9.57"/>
  <Temperature Setpoint="-20"/>
  <Preview Gain="200" Binning="4x4" Exposure="2.0"/>
  <Capture Gain="53" Count="23" Binning="1x1" Exposure="120" FileName="M13"/>
  <Sequence Targets="/home/starhopper/.config/ccdciel/M13.targets.targets" Unattended="True">
    <EditTarget Width="1244" Height="788"/>
  </Sequence>
  <Visu Gamma="1" Hist1="True" Hist2="False" Hist3="False" Hist4="False" HistMinMax="False"/>
  <Binning Num="4" Binning0="1x1" Binning1="2x2" Binning2="3x3" Binning3="4x4" Binning4="5x5" Binning5="6x6" Binning6="7x7" Binning7="8x8" Binning8="9x9"/>
  <Gain Gain="53" ISO0="Auto" ISO1="100" ISO2="200" ISO3="400" ISO4="800" ISO5="1600" ISO6="3200" ISO7="6400" ISO8="12800" ISO9="25600" ISO10="51200" ISO11="102400" NumISO="0" GainMax="450" GainMin="0" hasGain="True" hasGainISO="False"/>
  <Rotator Reverse="False" CalibrationAngle="0"/>
  <Sensor MaxADU="65535" GainFromCamera="False" MaxADUFromCamera="True"/>
  <Mount SetDateTime="False" GetObservatory="False" SetObservatory="False"/>
  <INDIdome Server="localhost" DevicePort="" ServerPort="7624" AutoLoadConfig="True"/>
  <ASCOMdome Device=""/>
  <INDIweather Server="localhost" ServerPort="7624" AutoLoadConfig="True"/>
  <ASCOMweather Device="" DeviceType="0"/>
  <INDIsafety Server="localhost" ServerPort="7624" AutoLoadConfig="True"/>
  <ASCOMsafety Device=""/>
  <Weather RestartDelay="5"/>
  <Safety>
    <Actions Action0="0" Action1="0" Action2="0" Action3="0" Action4="0" Action5="0" Action6="0" Action7="0" Action8="0" Action9="0" Action10="0" Action11="0" Action12="0" Action13="0" Action14="0" Parameter0="" Parameter1="" Parameter2="" Parameter3="" Parameter4="" Parameter5="" Parameter6="" Parameter7="" Parameter8="" Parameter9="" Parameter10="" Parameter11="" Parameter12="" Parameter13="" Parameter14=""/>
  </Safety>
  <Readout Num="0"/>
  <Script ScriptName="siril_light"/>
  <ASCOMRestcamera Host="127.0.0.1" Port="11111" Device="0" Protocol="0" FlipImage="True"/>
  <ASCOMRestwheel Host="127.0.0.1" Port="11111" Device="0" Protocol="0"/>
  <ASCOMRestfocuser Host="127.0.0.1" Port="11111" Device="0" Protocol="0"/>
  <ASCOMRestrotator Host="127.0.0.1" Port="11111" Device="0" Protocol="0"/>
  <ASCOMRestmount Host="127.0.0.1" Port="11111" Device="0" Protocol="0"/>
  <ASCOMRestdome Host="127.0.0.1" Port="11111" Device="0" Protocol="0"/>
  <ASCOMRestweather Host="127.0.0.1" Port="11111" Device="0" Protocol="0" DeviceType="0"/>
  <ASCOMRestsafety Host="127.0.0.1" Port="11111" Device="0" Protocol="0"/>
  <Dome ActionWait="1" SlaveToMount="False" NoSafetyCheck="False">
    <Open Action0="0" Action1="0" Action2="0" Action3="0" Action4="0"/>
    <Close Action0="0" Action1="0" Action2="0" Action3="0" Action4="0"/>
  </Dome>
</CONFIG>

Patrick Chevalley

19-06-28 17:18

administrator   ~0005727

Thank you. There is nothing special in your configuration so I really must fix that.

This change add a special client to process only the blob using a big buffer:
https://github.com/pchev/ccdciel/commit/20d20c13930535b6f337c6f93f8a2837e0942840

A test version is available, tell me how it work.
https://vega.ap-i.net/tmp/ccdciel_0.9.58-1617test1_amd64.deb

Thomas Jaeger

19-06-29 11:57

reporter   ~0005728

I tested version 1587 against 1617 with my ASI Cam and saw now drawback. It works.

ciel1617-Log_20190629_114909.log (3,354 bytes)
ciel1587-Log_20190629_114335.log (3,077 bytes)

Patrick Chevalley

19-06-29 12:10

administrator   ~0005729

Thank you Thomas,

I also use this version all the last night without issue.
This morning I make more testing with the simulator and make a small correction for dual sensors camera:
https://github.com/pchev/ccdciel/commit/a1d87d6846026893bf2d2224413214769e544710

I make a new version now because this probably affect all the users with a big sensor.

Patrick Chevalley

19-06-29 14:21

administrator   ~0005730

I see you make good progress with the German translation, I will add it to the next version.

Issue History

Date Modified Username Field Change
19-06-27 22:19 Thomas Jaeger New Issue
19-06-27 22:24 Thomas Jaeger File Added: Log_20190627_220019-good.log
19-06-27 22:24 Thomas Jaeger File Added: Log_20190627_215359-bad.log
19-06-27 23:13 Patrick Chevalley Note Added: 0005723
19-06-27 23:13 Patrick Chevalley Assigned To => Patrick Chevalley
19-06-27 23:13 Patrick Chevalley Status new => feedback
19-06-27 23:13 Patrick Chevalley Target Version => 1.0
19-06-28 08:30 Patrick Chevalley Note Added: 0005724
19-06-28 13:55 Thomas Jaeger Note Added: 0005725
19-06-28 13:55 Thomas Jaeger Status feedback => assigned
19-06-28 13:58 Thomas Jaeger File Added: ccdciel_CA300-ASI183-EQMOD.conf.txt
19-06-28 17:18 Patrick Chevalley Note Added: 0005727
19-06-29 11:57 Thomas Jaeger File Added: ciel1587-Log_20190629_114335.log
19-06-29 11:57 Thomas Jaeger File Added: ciel1617-Log_20190629_114909.log
19-06-29 11:57 Thomas Jaeger Note Added: 0005728
19-06-29 12:10 Patrick Chevalley Status assigned => resolved
19-06-29 12:10 Patrick Chevalley Resolution open => fixed
19-06-29 12:10 Patrick Chevalley Note Added: 0005729
19-06-29 14:21 Patrick Chevalley Note Added: 0005730