AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken QuantumGrid in Provider Mode und DataChanged: Performance-Problem
Thema durchsuchen
Ansicht
Themen-Optionen

QuantumGrid in Provider Mode und DataChanged: Performance-Problem

Ein Thema von romber · begonnen am 10. Dez 2011 · letzter Beitrag vom 19. Dez 2011
Antwort Antwort
Seite 1 von 2  1 2      
romber

Registriert seit: 15. Apr 2004
Ort: Köln
1.164 Beiträge
 
Delphi 10 Seattle Professional
 
#1

QuantumGrid in Provider Mode und DataChanged: Performance-Problem

  Alt 10. Dez 2011, 11:44
Datenbank: TcxCustomDataSource • Version: 5 • Zugriff über: TcxCustomDataSource
Hallo!

Ich habe hier ein DevExpress QuantumGrid, den ich in Provider Mode benutze und über ein von TcxCustomDataSource abgeleitetes Objekt sehr intensiv mit Daten befühle (bis zu 100 Datensätze/Sekunde). Jeden neuen Datensatz soll sofort im Grid angezeigt werden. Dafür rufe ich die Methode DataChanged des TcxCustomDataSource auf. Und genau hier habe ich ein Problem. Bei einer großen Menge der bereits vorhandenen Datensätzen friert mein Grid für mehre Sekunden ein. Das liegt wohl daran, dass beim Aufruf von DataChanged alle Datensätze neu geladen werden.

Gibt es eine Möglichkeit, nur den neu hinzugefügten Datensatz dem Grid hinzu zu fügen, ohne das jedesmal die ganzen Daten neu geladen werden?
  Mit Zitat antworten Zitat
Bebe

Registriert seit: 3. Apr 2005
Ort: Berlin
104 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2

AW: QuantumGrid in Provider Mode und DataChanged: Performance-Problem

  Alt 10. Dez 2011, 14:20
Vielleicht helfen dir diese beiden Links.

http://www.devexpress.com/Support/Center/KB/p/A291.aspx

oder dieser

http://www.devexpress.com/Support/Center/p/DQ42284.aspx

Gruß
Matze
  Mit Zitat antworten Zitat
romber

Registriert seit: 15. Apr 2004
Ort: Köln
1.164 Beiträge
 
Delphi 10 Seattle Professional
 
#3

AW: QuantumGrid in Provider Mode und DataChanged: Performance-Problem

  Alt 10. Dez 2011, 19:55
Vielen Dank für diese Links!

Das Problem ist, dass DataController meines Views keine Eigenschaft DataModeController hat. Ich vermute, dass diese Eigenschaft nur den DB-Varianten des Views zur Verfügung steht. Meine Grid ist an keine DB gebunden, ich nutze Provider Mode mit CustomDataSource.
  Mit Zitat antworten Zitat
Tyrolean

Registriert seit: 3. Jul 2003
76 Beiträge
 
Delphi 7 Professional
 
#4

AW: QuantumGrid in Provider Mode und DataChanged: Performance-Problem

  Alt 11. Dez 2011, 16:07
Hallo!

Ich habe hier ein DevExpress QuantumGrid, den ich in Provider Mode benutze und über ein von TcxCustomDataSource abgeleitetes Objekt sehr intensiv mit Daten befühle (bis zu 100 Datensätze/Sekunde). Jeden neuen Datensatz soll sofort im Grid angezeigt werden. Dafür rufe ich die Methode DataChanged des TcxCustomDataSource auf. Und genau hier habe ich ein Problem. Bei einer großen Menge der bereits vorhandenen Datensätzen friert mein Grid für mehre Sekunden ein. Das liegt wohl daran, dass beim Aufruf von DataChanged alle Datensätze neu geladen werden.

Gibt es eine Möglichkeit, nur den neu hinzugefügten Datensatz dem Grid hinzu zu fügen, ohne das jedesmal die ganzen Daten neu geladen werden?
Was passiert denn, wenn du einfach den Datensatz anhängst. Ich vermute mal so in der ARt

iREc := vDaten.DAtaController.AppendRecord;
vDaten.DataController.VAlues[iREc,0] := 'Datensatz ' + IntToStr(iRec);

Bei mir zeigt er einfach diesen neuen Datensatz an ohne was spezielles zu machen ...
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#5

AW: QuantumGrid in Provider Mode und DataChanged: Performance-Problem

  Alt 11. Dez 2011, 17:45
Warum soll jeder Datensatz sofort sichtbar sein? Mehr als 20 Bildwechsel pro Sekunde bekommt das Auge doch sowieso nicht mit.

Verzichte auf das Datachanged bei jedem neuen Datensatz und erstelle stattdessen einen Timer, der das DataChanged mehrmals pro Sekunde aufruft. So kannst Du sicher sein, das dir auch bei 10000 Datensätzen/Sek. der Rechner nicht einfriert.
  Mit Zitat antworten Zitat
romber

Registriert seit: 15. Apr 2004
Ort: Köln
1.164 Beiträge
 
Delphi 10 Seattle Professional
 
#6

AW: QuantumGrid in Provider Mode und DataChanged: Performance-Problem

  Alt 11. Dez 2011, 20:51
Was passiert denn, wenn du einfach den Datensatz anhängst. Ich vermute mal so in der ARt

iREc := vDaten.DAtaController.AppendRecord;
vDaten.DataController.VAlues[iREc,0] := 'Datensatz ' + IntToStr(iRec);

Bei mir zeigt er einfach diesen neuen Datensatz an ohne was spezielles zu machen ...
Innerhalb der Append wird dann ebenfalls die DataChanged aufgerufen und alle Daten werden neu geladen. Man merkt's gar nicht, wenn nicht viele Datensätze hat.
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#7

AW: QuantumGrid in Provider Mode und DataChanged: Performance-Problem

  Alt 12. Dez 2011, 06:27
Innerhalb der Append wird dann ebenfalls die DataChanged aufgerufen...
Das ist korrekt, aber hier irrelevant: DataChanged wird im Setter der Value-Eigenschaft aufgerufen, um die Änderung des Zellinhaltes schtbar zu machen.

..Man merkt's gar nicht, wenn nicht viele Datensätze hat.
Bei 100 Datensätzen pro Sekunde ist die Applikation dann doch ein wenig damit beschäftigt, den (zum größten Teil überflüssigen) Aktualisierungsanforderungen nachzukommen.

Geändert von Furtbichler (12. Dez 2011 um 06:34 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.735 Beiträge
 
Delphi 2007 Professional
 
#8

AW: QuantumGrid in Provider Mode und DataChanged: Performance-Problem

  Alt 12. Dez 2011, 07:30
Das hilft dir jetzt aktuell nicht, aber du kannst ja mal für die Zukunft diese Suggestion tracken. (Tracken dient bei DevEx auch als Votingsystem.)
Uli Gerhardt
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.735 Beiträge
 
Delphi 2007 Professional
 
#9

AW: QuantumGrid in Provider Mode und DataChanged: Performance-Problem

  Alt 12. Dez 2011, 07:34
(Doppelmoppel. Bitte ignorieren. )
Uli Gerhardt

Geändert von uligerhardt (12. Dez 2011 um 07:38 Uhr)
  Mit Zitat antworten Zitat
romber

Registriert seit: 15. Apr 2004
Ort: Köln
1.164 Beiträge
 
Delphi 10 Seattle Professional
 
#10

AW: QuantumGrid in Provider Mode und DataChanged: Performance-Problem

  Alt 12. Dez 2011, 12:08
Das hilft dir jetzt aktuell nicht, aber du kannst ja mal für die Zukunft diese Suggestion tracken. (Tracken dient bei DevEx auch als Votingsystem.)
Vielen Dank für das Link!

Das Problem ist ja allgemein bekannt, nur eine Lösung gibt's nach wie vor nicht. Ich habe auf dem DevExpress Forum mehrere Threads zu diesem Thema gefunden, einige bereits 2007 verfasst. Seit dem hat sich nichts getan in dieser Richtung. Ich habe gehofft, jemand hier hat sich vielleicht irgendwelche Tricks ausgedacht. Wäre schön...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 05:41 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