Ik ontdekte per ongeluk dat het Linux-buildscript een „package"-build gebruikte, wat betekent dat de CPU-optimalisaties beperkt zijn tot generieke optimalisaties om portable binaries te produceren die op elk x86-64-platform geïnstalleerd kunnen worden. Met „gebruikte" bedoel ik dat de package-build niet expliciet was uitgeschakeld, dus was hij standaard ingeschakeld.

Hoe dan ook, dit is nu standaard uitgeschakeld, aangezien de eigenlijke packages (.exe en .appimage) niet via dat script gebouwd worden, dat in de eerste plaats bedoeld is om eindgebruikers te helpen. Om het vorige gedrag terug te krijgen, zou je het volgende moeten uitvoeren:

1$ sh build.sh --build-package --install --sudo

De package-build-optie niet gebruiken kan de prestaties op de CPU met 20 tot 30 % verhogen, afhankelijk van je hardware, dankzij platformspecifieke optimalisaties.

Ik heb ook een nieuw argument geïntroduceerd dat de Git-updatecommando’s zal starten die gebruikers voortdurend lijken te vergeten. Er is echter een kanttekening: de broncode bijwerken door Git van binnenuit het script aan te roepen werkt het script niet bij voor de huidige uitvoering, dus deze methode werkt niet wanneer het script zelf gewijzigd is. Gelukkig veranderen we dit script niet vaak.

Het argument om de broncode en de submodules (Rawspeed, Libraw) bij te werken:

1$ sh build.sh --update --install --sudo

Ik heb ook de interne werking van dat script aangepast om automatisch:

  • de Lensfun-database van objectieven bij te werken,
  • een globale systeemsnelkoppeling (.desktop-bestand) toe te voegen zodat de software globaal beschikbaar is vanuit de app-menu’s,
  • een globaal systeemcommando toe te voegen zodat ansel globaal beschikbaar is vanuit de terminal.

Het doel van al deze wijzigingen is uiteraard om het gebruiksvriendelijker te maken om een zelfgebouwde versie van de software te gebruiken, wat het mogelijk maakt om de prestaties te verbeteren, vooral voor computers zonder GPU. Het one-pit-stop-commando zou zijn:

1$ sh build.sh --update --install --sudo --clean-all

Maar natuurlijk moet je de Git-update daarvoor nog één laatste keer handmatig uitvoeren, om het script zelf bij te werken:

1$ git pull --recurse-submodule

Als alternatief kun je het buildscript rechtstreeks downloaden en het oude build.sh-bestand in de hoofdmap van de broncodemap vervangen.


Translated from English by : Claude. In case of conflict, inconsistency or error, the English version shall prevail.