AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Was vermisst ihr in der RTL/VCL? Wünsche + Vorschläge!
Thema durchsuchen
Ansicht
Themen-Optionen

Was vermisst ihr in der RTL/VCL? Wünsche + Vorschläge!

Ein Thema von Neutral General · begonnen am 16. Okt 2015 · letzter Beitrag vom 24. Nov 2015
Antwort Antwort
Seite 3 von 4     123 4      
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.008 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#21

AW: Was vermisst ihr in der RTL/VCL? Wünsche + Vorschläge!

  Alt 21. Okt 2015, 13:09
Ich würde mir einen Threaded Memory Manager wünschen, also einen MM für jeden Thread. Dann kann jeder Thread in seinem MM toben, ohne von den anderen Threads ausgebremst zu werden. Wenn dann noch die LOCK bei der string Verarbeitung wegfallen, http://synopse.info/forum/viewtopic.php?id=423 könnte Delphi alle CPU Kerne nutzen.
Und welcher Threadmanager verarbeitet die Objekte/strings die in Thread A erzeugt werden und an Thread B gegeben werden? Wenn dich Speichermanagement in einer Multithread Umgebung ausbremst, dann bau dir nen Objektpool, so dass Instanzen nicht immer erzeugt und freigegeben werden.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#22

AW: Was vermisst ihr in der RTL/VCL? Wünsche + Vorschläge!

  Alt 21. Okt 2015, 14:26
Ich würde mir einen Threaded Memory Manager wünschen, also einen MM für jeden Thread. Dann kann jeder Thread in seinem MM toben, ohne von den anderen Threads ausgebremst zu werden. Wenn dann noch die LOCK bei der string Verarbeitung wegfallen, http://synopse.info/forum/viewtopic.php?id=423 könnte Delphi alle CPU Kerne nutzen.
Der verlinkte Beitrag ist imho etwas missverständlich geschrieben. Wenn man Reference-Counting über mehrere Kerne machen möchte, sind diese LOCKed Instruktionen nötig. Das angesprochene Locking über CS ist mindestens genauso teuer. Wenn eh CS benutzt werden, dann sollte es afaik auf modernen Maschinen auch kein Skalierungsproblem mit den Reference-Countern geben.
  Mit Zitat antworten Zitat
Bambini
(Gast)

n/a Beiträge
 
#23

AW: Was vermisst ihr in der RTL/VCL? Wünsche + Vorschläge!

  Alt 21. Okt 2015, 14:34
Und welcher Threadmanager verarbeitet die Objekte/strings die in Thread A erzeugt werden und an Thread B gegeben werden?
Die erzeugten Objekt bleiben ja am Leben, egal ob sie im MM von Thread A oder B erzeugt wurden können von überall verwendet werden.

Wenn dich Speichermanagement in einer Multithread Umgebung ausbremst, dann bau dir nen Objektpool, so dass Instanzen nicht immer erzeugt und freigegeben werden.
Es bremst ja jeder GetMem() Aufruf, nicht nur ein TObject.Create(), sondern auch schon ein simples a := a + 'X'; oder ein TStringBuilder.Append('Bitte anhängen');

Natürlich kann man sein Programm auch an die Limits der RTL anpassen und dafür Workarounds bauen.
Und da es hier etwas zum Wünschen gab: Schöner ist es natürlich, das Delphi das kann, was .NET und C++ auch schon lange können.
  Mit Zitat antworten Zitat
greenmile

Registriert seit: 17. Apr 2003
1.107 Beiträge
 
Delphi 10.3 Rio
 
#24

AW: Was vermisst ihr in der RTL/VCL? Wünsche + Vorschläge!

  Alt 21. Okt 2015, 14:43
Ich wünsche mir, dass sowas endlich mal direkt eingebaut ist.
Delphi-Quellcode:
type
  TPageControl = class(ComCtrls.TPageControl)
  private
    FStartupPage: TTabSheet; // Diese Seite wird beim Start der Form geladen, unabhängig von der letzten aktiven Seite in der IDE.
    procedure SetStartupPage(Value: TTabSheet);
    function SaveActivePage: Boolean;
    function SaveStartupPage: Boolean;
  published
    property ActivePage {: TTabSheet read FActivePage write SetActivePage} stored SaveActivePage;
    property ActivePageOnStartup: TTabSheet read FStartupPage write SetStartupPage stored SaveStartupPage;
  end;

function TPageControl.SaveActivePage: Boolean;
begin
  Result := Assigned(ActivePage) and not Assigned(FStartupPage);
end;

function TPageControl.SaveStartupPage: Boolean;
begin
  Result := Assigned(FStartupPage);
end;

procedure TPageControl.SetStartupPage(Value: TTabSheet);
begin
  FStartupPage := Value;
  if Assigned(FStartupPage) then
    inherited ActivePage := FStartupPage;
end;
Ich habe es noch nie verstanden, wieso das nicht drin ist. Ist mit wenigen Zeilen Source erledigt. Da ich aber inzwischen fast nur noch TMS verwende, ist es mir egal.
  Mit Zitat antworten Zitat
Bambini
(Gast)

n/a Beiträge
 
#25

AW: Was vermisst ihr in der RTL/VCL? Wünsche + Vorschläge!

  Alt 21. Okt 2015, 14:44
Der verlinkte Beitrag ist imho etwas missverständlich geschrieben. Wenn man Reference-Counting über mehrere Kerne machen möchte, sind diese LOCKed Instruktionen nötig. Das angesprochene Locking über CS ist mindestens genauso teuer. Wenn eh CS benutzt werden, dann sollte es afaik auf modernen Maschinen auch kein Skalierungsproblem mit den Reference-Countern geben.
Soweit ich das verstehe, LOCK'en Delphi strings immer die Kerne. D.h. macht ein Thread viele String Operationen, müssen die anderen immer warten, obwohl die mit dessen strings und Variablen nix zu tun haben.
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#26

AW: Was vermisst ihr in der RTL/VCL? Wünsche + Vorschläge!

  Alt 21. Okt 2015, 15:13
Soweit ich das verstehe, LOCK'en Delphi strings immer die Kerne. D.h. macht ein Thread viele String Operationen, müssen die anderen immer warten, obwohl die mit dessen strings und Variablen nix zu tun haben.
Ursprünglich hat dieser Präfix zum Locken des kompletten Speicherbus geführt, aber das ist schon länger her. Etwas aufwendiger ist das schon, aber wenn das nicht auf gemeinsamen Cache-Lines passiert, nicht annähernd so dramatisch.
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.008 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#27

AW: Was vermisst ihr in der RTL/VCL? Wünsche + Vorschläge!

  Alt 21. Okt 2015, 15:24
Und welcher Threadmanager verarbeitet die Objekte/strings die in Thread A erzeugt werden und an Thread B gegeben werden?
Die erzeugten Objekt bleiben ja am Leben, egal ob sie im MM von Thread A oder B erzeugt wurden können von überall verwendet werden.
Sagt wer? Was soll denn passieren, wenn Thread B ein in Thread A erstelltes Objekt freigibt?
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#28

AW: Was vermisst ihr in der RTL/VCL? Wünsche + Vorschläge!

  Alt 21. Okt 2015, 15:41
Sagt wer? Was soll denn passieren, wenn Thread B ein in Thread A erstelltes Objekt freigibt?
Fügt er es entweder in seinen Pool ein oder gibt es zurück. All diese Probleme sind bekannt und werden von parallelen MM berücksichtigt. Ich finde das Paper zu Hoard ist als Einstieg in parallele MM gut geeignet (viele nützliche Referenzen).
  Mit Zitat antworten Zitat
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.268 Beiträge
 
Delphi 11 Alexandria
 
#29

AW: Was vermisst ihr in der RTL/VCL? Wünsche + Vorschläge!

  Alt 24. Nov 2015, 09:53
Ich hole mal den Thread nach oben.

In der Regel verwende ich in meinen Programmen 3-4 verschiedene Schriftstile

Normaler Text (size = 9, color = clblack)
Hervorgehobener Text1 (size = 9, color = clnavy)
Hervorgehobener Text2 (size = 9, color = clred)
Überschrift (size = 12, color = clblack)

Ich wünsche mir eine Art "Cascading Style Sheets" für die Darstellung von (VCL-)Componenten. In Html lege ich einfach in CCS die Vorgaben für Schriften fest und kann dann über h1, h2, h3 etc. einem Text mitteilen, welche Schrift verwendet wird.

Es müsste dann ein neues Property "FontStylename" geben, bei dem ich dann einfach den Stil "Hervorgehobener Text1" auswähle und schon sind die entsprechenden Werte gesetzt. Schriften könnten an zentraler stelle geändert werden.

Zur Zeit nervt auch, daß eine Änderung an der Textgröße automatisch alle Eigenschaften von Font in der DFM-gespeichert. Ich arbeite viel mit vererbten Formularen. Das bedeutet, daß eine geänderte Textgröße im abgeleiteten Formular bewirkt, daß eine Änderung des Fontnamen im Template keine Auswirkung im abgeleiteten Formular mehr hat.
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de

Geändert von bernau (24. Nov 2015 um 11:32 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#30

AW: Was vermisst ihr in der RTL/VCL? Wünsche + Vorschläge!

  Alt 24. Nov 2015, 10:48
Ich wünsche mir eine Art "Cascading Style Sheets" für die Darstellung von (VCL-)Componenten.
Meiner Erfahrung nach wird UI-Entwicklung immer angenehmer, je mehr man deklarativ hinschreiben kann
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 4     123 4      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:56 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz