![]() |
VirtualStringTree + VirtualServer
habe gerade ein komisches Phänomen :
wenn ich eine ganz primitive Anwendung mache, und in diese ein VirtualStringTree gebe, dann braucht dieses Anwendung in einem VirtualServer (MS Virtual Server 2005) immer eine gewisse grundlast - und das möchte ich irgendwie rausbekommen. Ich mache nur eine neue Anwendung, gebe in VirtualStringTree drauf und das wars. Wie bekomme ich am besten raus, was bzw wo da das problem liegt? (und idealerweise, ohne irgendwelche zusätlzichen tools installieren zu müssen ...) |
Re: VirtualStringTree + VirtualServer
Ich denke das liegt an der "Grafikkarte".
Der VST zeichnet sich eigendlich on demand neu, allerdings geht das nicht wirklich in den virtuellen Kisten gut. Daher vermute ich das deine Ausgaben sehr komplex sind oder viel zu sehen ist. |
Re: VirtualStringTree + VirtualServer
Ahm hast du auf dem virtuellen System die Virtual Addins installiert? Mit denen kann man die system performance vom virtuellen system erheblich steigern
|
Re: VirtualStringTree + VirtualServer
die VM AddOns und co sind installiert
und komplex sind die nicht Delphi -> Neue Anwenung -> VirtualTree rein -> fertig also der zeigt nix ausser einem weissen Text an und es ist auch egal, ob ich die Anwendung verstecke oder nicht (dann gibt es ja auch kein PaintOnDemand) das komische ist auch, das der Taskmanager in der Virtual Maschine bei dem prozess nicht wirklich was anzeigt aber wenn ich mir die Ressourcen Auslastung anzeige, dann geht die sobald ein leerer VirtualTree drinnen ist auf so 10-15% rauf, ohne dem VirtualTree brauchts dann maximal 2% drauf gekommen bin ich nur, weil ich wissen wollte warum der server (der host server) 100% CPU auslastung hat, und das konnte ich nicht feststellen - den das sind teils programme, die nur per Timer alle 5 Minuten berechnungen machen (für so 10 sekunden) aber eine andauernde auslastung in der ressourcenübersicht haben (wenn das programm geschlossen ist, dann brauchen die keine ressourcen) |
Re: VirtualStringTree + VirtualServer
Es ist halt kein natives Windowssteuerelement. Es zeichnet sich halt selbst.
|
Re: VirtualStringTree + VirtualServer
Zitat:
da muß noch irgendetwas anderes dran sein - habe schon alle timer und threads kontrolliert (die im VST Drinnen sind) aber da auch noch nicht wirklich was gesehen ... |
Re: VirtualStringTree + VirtualServer
der vst spawnt auch noch threads für das drag and drop.
ggf. hat der ein problem mit dem virtalmachine drag an drop. bei dem virtualpc konnte man doch systemübergreifend droppen? (oder war das vmare) |
Re: VirtualStringTree + VirtualServer
hmmm eingetnlich ist das nur ein tool, das auf dem rehcner 24 stunden läuft, per timer alle 5 minuten eine aktion ausführt und von keinem benutzer gesteuert wird (wird irgendwann mal als service laufen, dann werden diese probleme behoben sein)
daher kam mir es auch so komisch vor, warum ich eine ständige auslastung in den Ressourcen des VirtualServers habe. wenn es alle 5 minuten bei der aktion wäre, ok, aber wenn das tool versteckt ist, und ausser das es wartet, das der timer abläuft nichts tut ... das kommt mir einfach komisch vor |
Re: VirtualStringTree + VirtualServer
Liste der Anhänge anzeigen (Anzahl: 2)
so, habe mal zum testen folgendes gemacht, ein ganz leeres programm
das einzige war einmal ohne alle compiliert und einmal nur die VST erzeugt (wird weder angezeigt noch sonst was gemacht sondern, nur folgend erzeugt)
Delphi-Quellcode:
procedure TfrDemoServer.FormCreate(Sender: TObject);
begin trDemoServer := TVirtualStringTree.Create(self); end; also irgnedwas macht dieser VST noch und irgendwie komme ich nicht dahinter was er macht ... |
Re: VirtualStringTree + VirtualServer
so .....
ich habe zumindest mal rausgefunden, an welcher zeile es liegt, das der VST diese ressourcen braucht .... und zwar wird im
Delphi-Quellcode:
und MinimumTimerInterval steht dabei auf 1 (also 1ms)
procedure InitializeGlobalStructures;
// initialization of stuff global to the unit ... timeBeginPeriod(MinimumTimerInterval); da ich vermute, das es nur die genauigkeit ist, und ich das bei ServerAnwendungen nicht wirklich brauche, werde ich das einfach mal auf 100ms stellen (habe die funktion timeGetTime auch nur fürs scrollen und animieren gefunden -> also nicht wichtig fürs reine anzeigen) [edit]läuft jetzt perfekt, vorher hatte ich mit den 5 virtuellen servern eine auslastung die niemals unter 100% ging (Also totale systemauslastung am host server) jetzt habe ich auf den 4 virtuellen servern (ein virtueller server hatte kein delphi programm am laufen) die neue version mit dem timeBeginPeriod auf 100ms und siehe da der Host server hat jetzt nur mehr um die 30% Systemlast |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:38 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz