View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0001618||SkyChart||1-Software||public||17-01-25 07:41||17-10-21 20:28|
|Reporter||Sasa||Assigned To||Patrick Chevalley|
|Priority||none||Severity||feature||Reproducibility||have not tried|
|Platform||Linux 32-bit||OS||Kubuntu||OS Version||16.04|
|Product Version||3.11 SVN|
|Target Version||4.4||Fixed in Version|
|Summary||0001618: Multiple core CPU usage|
|Description||It would be nice for some future version to make it able to use multiple core CPU feature. I'm not sure about Lazarus support regarding parallelism, however, allowing threading for critical processes may trigger newer OS to split execution on free cores.|
This may radically boost speed of CDC on multiple core CPUs as now all is executed in sequential order on single core. However, threading is not simple task at all for this large project, thus priority is set to none for now.
The reason for this suggestion is simple: most of nowadays CPUs are with double or more cores.
|Tags||No tags attached.|
There is already a number of place CdC use parallel compute thread depending on the number of core in your processor.
This is in the most CPU consuming functions and when parallelism is easy: the functions that draw picture in the full window for the DSS or image list, and the horizon picture.
cu_fits.pas : procedure TFits.GetProjBitmap
cu_fits.pas : procedure TFits.GetProjList
cu_skychart.pas : procedure Tskychart.DrawHorizonPicture
Using parallelism to draw planet, stars and dso at the same time for example can be very complicated because of the chart bitmap shared resource.
This require to first separate searching in the catalog (that can be parallel) from drawing (that cannot).
From another point of view, drawing can be separated as well.
For instance, draw stars separately in one thread, planets in another etc, then finally collect all these separated images and simply blend one over another over the main chart image and finally draw labels depending on data from all separated sources and used algorithm to avoid overlapping...
All in all, with more cores, more memory and more free time to achieve, all can be indeed very fast.
|17-01-25 07:41||Sasa||New Issue|
|17-01-25 10:48||Patrick Chevalley||Assigned To||=> Patrick Chevalley|
|17-01-25 10:48||Patrick Chevalley||Status||new => acknowledged|
|17-01-25 10:48||Patrick Chevalley||Note Added: 0003562|
|17-01-25 12:07||Sasa||Note Added: 0003563|
|17-02-15 22:15||Patrick Chevalley||Target Version||=> 4.2|
|17-10-21 20:28||Patrick Chevalley||Target Version||4.2 => 4.4|