• 17.11.2019, 11:35
  • Register
  • Login
  • You are not logged in.

 

Dear visitor, welcome to Aqua Computer Forum. If this is your first visit here, please read the Help. It explains how this page works. You must be registered before you can use all the page's features. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

Wednesday, October 16th 2019, 2:40pm

X.6 mit den Vision Bugfixes ist Online.
ich trau mich nicht zu updaten :D ..nich das wieder was net geht :P

Wednesday, October 16th 2019, 2:44pm

X.6 mit den Vision Bugfixes ist Online.
Thank you very much for fast fix :thumbsup:

Diago

Full Member

Wednesday, October 16th 2019, 4:33pm

Geht es irgendwie Booleans/Freitext auszugeben als Sensor Ergebnis?

Ich würde mir gerne einen Sensor basteln der alle "unwichtigen" Sensoren dahingehend überprüft ob sie im Norm Bereich sind und dann am Ende nur einen Status ausgibt. Das geht insofern alles, aber ich finde keine Funktion die mir aus dem Sensorergebnis 1 zum Besipiel ein OK oder was auch immer für einen Text macht.

Als Beispiel: Mich interessiert die Drehzahl der Pumpe nicht solange sie im gewünschten Bereich liegt -> Ich hätte gerne einen Sensor der "Pumpe" heißt -> der Wert soll sein "läuft" "überprüfen" "läuft nicht" je nach Drehzahl.
Oder auch: Ein Sensor der überprüft ob alle Festplatten hinreichend kühl sind und mir genau das ausgibt ohne das ich die einzelnen Temperaturen angucken muss.
Ich würde das sogar für alle Sensoren ausweiten und quasi einen Sensor "Systemstatus" haben wollen.

Entweder gibt es die Funktion und ich bin zu blind oder ich fände das ein cooles Feature was hoffentlich nicht zu viel Arbeit zum implementieren macht.

Wednesday, October 16th 2019, 5:13pm

Das geht nicht direkt.
Bei den Sensoren gibt es nur Werte/Zahlen als Ausgang.

Wenn das aber auf einer Übersichtsseite verwertet werden soll kann man da recht leicht einen Freitext draus machen.
Wie das geht zeigt das Element Alarm Status vom aquaero (in der Vorlage) recht gut. Man kann da eigentlich alles machen.




Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<UserControl
    x:Name="this"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    mc:Ignorable="d" d:DesignHeight="50" d:DesignWidth="300">
    <Grid>
        <TextBlock Foreground="White" FontSize="32">
            <TextBlock.Style>
                <Style TargetType="{x:Type TextBlock}">
                    <Setter Property="Text" Value="Wert ist Null" />
                    <Style.Triggers>
                        <DataTrigger
                                Value="True"
                                Binding="{Binding ElementName=this, Path=DataContext.Value, ConverterParameter=1, Converter={StaticResource CompareGreaterEqualConverter}}">
                            <Setter Property="Text" Value="Wert ist Eins"/>
                        </DataTrigger>

                    </Style.Triggers>
                </Style>
            </TextBlock.Style>
        </TextBlock>
    </Grid>
</UserControl>

Diago

Full Member

Wednesday, October 16th 2019, 6:56pm

Das klappt! Perfekt vielen Dank!

DOCa Cola

Junior Member

Wednesday, October 16th 2019, 7:00pm

Ein Variablenblock könnte so funktionieren. Ein Werteingang und ein Triggereingang. Wenn der Triggereingang 1 ist, wird der Wert (vom Werteingang) abgespeichert und weiterhin ausgegeben. Der Triggereingang müsste sich so gut mit den Logikblöcken kombinieren lassen. Eventuell wäre das was für eine zukünftige Version. Würden sich noch paar mehr interessante Dinge realisieren lassen.

Wednesday, October 16th 2019, 7:08pm

Eventuell wäre das was für eine zukünftige Version. Würden sich noch paar mehr interessante Dinge realisieren lassen.
das geht schon schon alles.

Diago

Full Member

Wednesday, October 16th 2019, 8:56pm

Auch wenn man es mit den verfügbaren mitteln basteln kann (leider aufwendig je nach Anwendung).
Können wir noch andere Logik Beziehungen bekommen? Die dürften dann natürlich nur 1 oder 0 vertragen als Eingang.

Also And / or / nand / not etc.

Wäre ziemlich cool, gerade weil ihr ja eh schon einige Funktionen habt die 0 oder 1 ausgeben.

XNOR ist ja schon implementiert mit dem "Gleich" Block. und XOR mit dem "Ungleich" Block

DOCa Cola

Junior Member

Wednesday, October 16th 2019, 9:24pm

Eventuell wäre das was für eine zukünftige Version. Würden sich noch paar mehr interessante Dinge realisieren lassen.
das geht schon schon alles.
Also im moment sehe ich keinen Weg einen ausgegebenen Wert in einem Block zu "halten" (speichern). Alle Werte und Berechnungen/Logikblöcke sind immer relativ zu einem irgendwo aktuell ausgegebenen Messwert oder Konstante. Abgesehen von den Blöcken mit Zeitbezug, die einen Wert (mit gewissen Konditionen) über Zeit halten können.

Hey, aber ich verstehe auch nicht, warum ich jedes mal, wenn ich Feedback gebe nen Spruch an den Kopf geschmissen bekomme. Programm mal richtig konfigurieren, ist sowieso alles viel besser, gibt es schon alles, geht schon alles. Erstmal hat das in beiden Fällen nicht gestimmt (und nun auch wieder?) und kommt auf jeden Fall unfreundlich rüber wie es geschrieben ist. Wenn jemand Feedback gibt muss man nicht gleich gekränkt sein.

Wednesday, October 16th 2019, 9:58pm

Alle Logikelemente können mit den Bereits vorhandenen Abgebildet werden.

so geht das mit dem Max wert, das haben wir EXTRA so nicht direkt implementiert weil dann unsinnige fehler entstehen können.
Wichtig ist dabei die reihenfolge wie die sensoren angelegt werden. Die Fallbackwerte der quellen müssen bei MAX dann null oder negativ, bei MIN dann das maximum.





Das sind hier halt schon sehr exotische Sonderfälle. Man kann mit den vorhandenen Funktionen nahezu alles abdecken. Man muss dazu vielleicht etwas kreativ sein. Da man mit allen Zahlen und Ergebnissen rechnen kann gibt es da kaum grenzen.

DOCa Cola

Junior Member

Friday, October 18th 2019, 9:31am

So wie ich das sehe bekommt den Max Wert aus Peak Hold aber auch nie wieder weg, da das eben ein kompletter Fluss ist, den man nicht unterbrechen kann. Also ich komm nicht drauf, wie man mit den jetzigen Werkzeugen einen Schwellenwert speichern könnte.


Also Beispiel: Von der Sensor Eingangstemperatur immer den Peak Wert nehmen und abspeichern (das hast du ja schon gemacht), aber dann nur so lange halten/ausgeben, bis die Sensor Eingangstemperatur diesen Peak Wert um 5° unterschreitet. Dann den Peak Wert auf die aktuelle Sensor Eingangstemperatur zurücksetzen und das ganze Spiel wieder von vorne.


Wäre toll, wenn das vielleicht mal Beispielhaft zeigen könntest.


Edit:


Noch eine andere Sache über die ich mich schon lange wundere (das hatte ich auch schon mit der Aquasuite 2016).


AquaComputerService.exe wirft alle paar sekunden mal eben 40 mb oder mehr auf ihren Arbeitsspeicher drauf und schmeißt die dann wieder raus. Ich habe keinerlei Logging in der AquaSuite aktiviert. AquaSuite läuft auch nicht im Hintergrund. Ich verwende meine Aquaero praktisch nur zur Temperaturregelung. Ist das ein Bug oder normales Verhalten?


Die CPU Auslastung der Service ist auch immer vergleichsweise hoch. Bis zu 0.5% CPU Leistung. Wenn man das umrechnet auf einen Kern des 8700k sind das immerhin 6% eines Kerns. Der AquaComputerService ist bei der CPU Auslastung im Taskmanager im Idle bei mir immer weit vorne dabei.
DOCa Cola has attached the following image:
  • aquasuiteservice.png

This post has been edited 2 times, last edit by "DOCa Cola" (Oct 18th 2019, 9:54am)

Friday, October 18th 2019, 10:36am

Das verhalten was du da Haben willst geht in der Tat noch nicht. Oder nicht so ohne weiteres. Wir implementieren aber noch 2-3 Bausteine die noch fehlen oder nur umständlich nachzubilden sind.

Das mit der RAM Auslastung ist recht einfach, der Garbage Collector arbeitet je mehr RAM man zur Verfügung hat immer seltener (um die CPU Last zu minimieren). Dann sieht das dann so aus.
Die CPU Last des Service hängt von vielen Dingen ab, wenn man komplexe dinge in den Sensoren einstellt benötigt das auch mehr Rechenleistung.

DaBibo

Full Member

Friday, October 18th 2019, 12:09pm

Wünsche :

- Einzelnes Triggern von Farbwerk LEDs (Also nicht nur über die 4 Profile, sondern mehr Konfigurationen die man auslösen kann, gerne dann in "einschalten" "ausschalten" und Endlosschleife)
- Regler als Element im Playground
- Delay Elemente
- x/y Datenplottfunktion

DOCa Cola

Junior Member

Friday, October 18th 2019, 12:52pm

Ich hab mal mit einer frischen Windows 10 installation vom externen usb stick gebootet. Aquasuite installiert. Meine aquaero komplett auf Werkseinstellungen zurückgesetzt und alle logging features in Aquasuite deaktiviert (Lüfter alle auf 100%). Also komplett ohne Software sensor zeug und logging zieht der service noch zwischen 0,5 und 1,0% von der CPU. Also 3-6% von einem Kern auf nem 8700k. Der RAM Pegel verhält sich allerdings viel ruhiger, auch als ich die Kurvendaten wieder reingeladen habe. Werde mal komplett Aquasuite auf meiner Hauptinstallation wegwischen und schauen was dann passiert. Die (vergleichsweise) hohe CPU Auslastung scheint aber so oder so gegeben zu sein.

Edit: Ok, ich habe nur nicht lang genug gewartet, die RAM Usage verhält sich nach einer Weile genauso.
Neuinstallation auf meiner Hauptpartition hat sich nichts geändert. Jetzt sind alle Softwaresensoren aus der Software draussen und ich habe immer noch ähnlich hohe CPU Auslastung obwohl der Service ja eigentlich nichts zu tun hat. Identisch mit der sauberen Windows partition. Hat also mit den Softwaresensoren wohl eher nichts zu tun.

Edit2: Mit komplett abgesteckter aquaero verballert der dienst immer noch bis zu 0,5% cpu (3% vom kern).
Habe meinen USB Stick mit der sauberen Windows 10 installation mal noch an nem Laptop getestet (mit schwächerer CPU) und auch da der Dienst auch 2%-4% CPU Leistung von einem Kern, auch komplett ohne Aquasuite Hardware, Logging oder Software Sensoren.

Edit3: Der AquaComputerServiceHelper ist da bei allem noch nichtmal reingerechnet. Kann doch echt nicht sein, dass da soviel CPU Leistung nur fürs nichtstun mit draufgeht.
---
Der Screenshot ist von dem neu installierten Windows 10 mit eingesteckter Aquaero auf Werkseinstellungen.
DOCa Cola has attached the following image:
  • Unbenannt.png

This post has been edited 8 times, last edit by "DOCa Cola" (Oct 18th 2019, 1:40pm)

Friday, October 18th 2019, 1:45pm

Wie kommst du darauf das das die aquasuite bzw. der Service nichts macht. Da läuft eine Kommunikation zw. aquasuite und Service.
Es werden USB geräte gelesen, der Service macht das Hawrdware Monitoring, (irgendwo müssen die Daten ja herkomme) usw.
Wenn Dir das zu viel ist wenn der Service 1% Last macht wird du Dich nach anderer Software umsehen müssen.

DOCa Cola

Junior Member

Friday, October 18th 2019, 2:02pm

Ich sagte nur, wenn die Aquaero garnicht eingesteckt ist, dürfte der ja praktisch nichts zu tut haben. Und ja, da ist die CPU Last schon hoch, dafür das der dann nur paar Geräte abfragt. Selbst wenn aktiv mit dem Gerät kommuniziert wird. Interprocess communication frisst auch nicht soviel cpu leistung. Dann stimmt vielleicht was mit dem Code nicht. Eventuell mal einen Profiler laufen lassen und gucken was soviel frisst. Ja, 1,0% im Taskmanager von einer 12 Thread CPU sind 12% eines Kerns. Das ist definitiv ungewöhnlich. Sorry, dass das als Feedback nicht gefällt. Ich will damit niemanden beleidigen, ich hab hier nur meine Zeit investiert damit ich helfen kann, die Software zu verbessern.

Friday, October 18th 2019, 4:57pm

Bei mir verbrauchen die drei Aquacomputer Programme/Dienste zusammen 0,7 - 1,5 % CPU Leistung im Desktop/Idle, und das mit angeschlossenem Aquaero, Vision, D5 Next und Farbwerk 360.
Nebenbei hole ich noch Daten aus HWInfo. Der Speicher geht Zyklisch von 117 MB auf 164 MB hoch und fällt dann zurück, wobei ein Zyklus ca. 7 Sekunden sind.
Ich würde behaupten das ist vollkommen ok, wenn ich mir so den Verbrauch von diversen anderen Programmen anschaue, die nun wirklich nichts zu tun haben :)

Die Razer und Roccat Dienste genehmigen sich auch gerne jeweils 0,3% Prozessorleistung, machen aber beide nichts ;)

DOCa Cola

Junior Member

Friday, October 18th 2019, 8:14pm

Ne. Also erstmal ist das ganze auch kein Riesenproblem. Da ich das jetzt schon länger beobachte und ich jetzt auch die neuste Version habe, dachte ich probier das jetzt mal aus, ob das nur auf meinem Computer so ist. Ich hatte ja jetzt lange die 2016er Version und habe erst vor kurzem geupdated und gehofft, dass es vielleicht besser geworden ist.
Auffällig ist halt, dass es scheinbar kaum einen Unterschied gibt, ob jetzt ein Gerät angeschlossen ist, oder nicht. Wenn man im Taskmanager nach CPU Zeit sortiert ist der AquaComputerService der Hintergrundtask bei mir der sich am meisten genehmigt. Und ich habe auch eine Menge Hintergrunddienste. Kann ja sein, dass da irgendein Schnitzer im Code ist, der da was zuviel pro Sekunde machen lässt. Ich meine, wieso sollte ich da nichts sagen, wenn mir soetwas auffällt? Da ich mich gleich nach einer anderen Software umschauen soll, wirkt das auf mich so, als würde das irgendwie als persönlicher Angriff aufgefasst. Ist aber nicht so gemeint. Ich bin auch Programmierer, zwar eher C/C++, mit Win32 kenne ich mich gut aus und habe genug in x86 Assembly gemacht. Da glaube ich schon mal sagen zu können ob das jetzt im Bereich des Möglichen liegt, oder nicht.

Auch in C# kann man genauso schnellen resourcenschonenden Code schreiben. An .NET liegt es sicher nicht, dass der Dienst vergleichsweise viel CPU benötigt. Ob der jetzt bisschen IPC macht, ein paar USB devices abfragt oder nicht. Und ich glaube, dass die AquaSuite Programmierer auch in der Lage sind das zu verbessern, wenn sie denn wollten. Ein Dienst der 24/7 mit dem Computer mitläuft darf ruhig ein bischen Resourcenoptimiert werden. Muss ja auch nicht sofort sein. Was mir auf jeden Fall reichen würde ist, dass man den doch etwas ungewöhnlichen CPU Verbrauch einfach als solchen anerkennt und mal irgendwann einen Blick drauf wirft, statt mir zu sagen, ich solle mir doch eine andere Software suchen.

Weder die Hardware noch die Software finde ich schlecht, im Gegenteil. Deswegen habe ich mir gerne die Zeit genommen hier mal meine Beobachtungen mitzuteilen um zu helfen die Software zu verbessern.

Screenshot im Anhang: Mein Task-Manager ca. 20 Minuten nach dem booten sortiert nach CPU-Zeit. Von allem Hintergrunddiensten führt AquaComputerService die Liste klar an. Dazu kommt auch noch etwas weiter unten der AquaComputerSericeHelper. Razer, Logitech, Nvidia, vpn, realtek, classic startmenu, vnc, dropbox, nextcloud und ein dutzend andere Hintergrunddienste habe ich auch am laufen.
DOCa Cola has attached the following image:
  • cpu-zeit.png

Friday, October 18th 2019, 8:33pm

Im Gegensatz zu den meisten Diensten macht der Service auch etwas und das kostet nun auch etwas CPU Last. Wir werden uns das noch mal anschauen. Das Problem an der Sache ist einfach das so Sachen wie Video und Soundanalyse einfach Leistung kosten.
Auch das ist alles schon mit C++ (Native Code) optimiert. Aber das passiert halt alles mit Latenzen um die 20-30ms um die delays so gering wie möglich zu halten - da kommt ja dann auch noch USB dazu.
Die aquasuite/Service ist so gemacht das es den workload auf relativ viele Threads auslagert. Sprich je mehr CPU Cores man hat desto weniger fällt das alles ins Gewicht.

Stephan

Administrator

Friday, October 18th 2019, 8:40pm

Ne. Also erstmal ist das ganze auch kein Riesenproblem. Da ich das jetzt schon länger beobachte und ich jetzt auch die neuste Version habe, dachte ich probier das jetzt mal aus, ob das nur auf meinem Computer so ist. Ich hatte ja jetzt lange die 2016er Version und habe erst vor kurzem geupdated und gehofft, dass es vielleicht besser geworden ist.
Auffällig ist halt, dass es scheinbar kaum einen Unterschied gibt, ob jetzt ein Gerät angeschlossen ist, oder nicht. Wenn man im Taskmanager nach CPU Zeit sortiert ist der AquaComputerService der Hintergrundtask bei mir der sich am meisten genehmigt. Und ich habe auch eine Menge Hintergrunddienste. Kann ja sein, dass da irgendein Schnitzer im Code ist, der da was zuviel pro Sekunde machen lässt. Ich meine, wieso sollte ich da nichts sagen, wenn mir soetwas auffällt? Da ich mich gleich nach einer anderen Software umschauen soll, wirkt das auf mich so, als würde das irgendwie als persönlicher Angriff aufgefasst. Ist aber nicht so gemeint. Ich bin auch Programmierer, zwar eher C/C++, mit Win32 kenne ich mich gut aus und habe genug in x86 Assembly gemacht. Da glaube ich schon mal sagen zu können ob das jetzt im Bereich des Möglichen liegt, oder nicht.

Auch in C# kann man genauso schnellen resourcenschonenden Code schreiben. An .NET liegt es sicher nicht, dass der Dienst vergleichsweise viel CPU benötigt. Ob der jetzt bisschen IPC macht, ein paar USB devices abfragt oder nicht. Und ich glaube, dass die AquaSuite Programmierer auch in der Lage sind das zu verbessern, wenn sie denn wollten. Ein Dienst der 24/7 mit dem Computer mitläuft darf ruhig ein bischen Resourcenoptimiert werden. Muss ja auch nicht sofort sein. Was mir auf jeden Fall reichen würde ist, dass man den doch etwas ungewöhnlichen CPU Verbrauch einfach als solchen anerkennt und mal irgendwann einen Blick drauf wirft, statt mir zu sagen, ich solle mir doch eine andere Software suchen.

Weder die Hardware noch die Software finde ich schlecht, im Gegenteil. Deswegen habe ich mir gerne die Zeit genommen hier mal meine Beobachtungen mitzuteilen um zu helfen die Software zu verbessern.

Screenshot im Anhang: Mein Task-Manager ca. 20 Minuten nach dem booten sortiert nach CPU-Zeit. Von allem Hintergrunddiensten führt AquaComputerService die Liste klar an. Dazu kommt auch noch etwas weiter unten der AquaComputerSericeHelper. Razer, Logitech, Nvidia, vpn, realtek, classic startmenu, vnc, dropbox, nextcloud und ein dutzend andere Hintergrunddienste habe ich auch am laufen.


Du kannst sicher sein, dass wir sehr viel Zeit für die Optimierung von Code und das senken von CPU-Last aufwenden. Gerade weil wir wissen, welche Prozesse/Threads die Performance benötigen ist Deine Kritik hier aber nicht wirklich angebracht. Über den RAM Verbrauch brauchen wir nicht diskutieren - da ist weniger nahezu nicht möglich. Bei der CPU solltest Du beachten, dass im Idle der Takt reduziert wird und Windows dies nicht richtig auswerten kann, Die angezeigte Last ist hier meist deutlich höher. Lass mal das System mit Prime laufen und schau Dir dann die Last an.