Rafal.B 3 Posted February 15 (edited) Hello everyone. I have a classic layout (Windows-FMX, MSSQLExpress database): ADODataSet -> 'Bind Visually' -> StrinGrid ADODataSet.CommantText = 'SELECT TOP 100 * FROM xxx' (regord contains about 90 fields) The database contains approximately 60,000 records. At design time, in Delphi 11, selecting ADODataSet.Active=True causes data to appear in the StrinGrid in ca. 0.3-0.5 sec. In Delphi 12, this operation takes 5-7 seconds. Of course, it behaves identically during execution time. I've already tried: I imported the database into MySQL, I used FireDAC components: FDConnection -> FDQuery -> 'Bind Visual' -> StrigGrid. Unfortunately, the effect is the same. However, when editing FDQuery (FireDAC Query Editir), after pressing 'Execute', the data in the 'RecordSet' tab appears immediately. This means that this delay occurs within 'Bind Visual' -> StrigGrid. What's changed in D12? I have no idea how to solve this. Such a long delay is unacceptable to me. Edited February 15 by Rafal.B Share this post Link to post
Keesver 23 Posted February 15 Just to be clear, the application is the same in D11 and in D12? Or are you comparing VCL to FMX? Share this post Link to post
Rafal.B 3 Posted February 15 (edited) It's the same application. I uninstalled D11 and installed D12. I didn't change anything in the application itself. Application in the FMX environment, Windows 23H2. As a test, I installed D11 on a virtual machine. And everything works quickly there as it should. I noticed that right after starting D12, the first activation of ADODataSet.Active=True happens quickly (like in D11), and each subsequent activation is slower. The same thing happens when the program is executed (fast first, then slowly); Edited February 16 by Rafal.B Share this post Link to post
Keesver 23 Posted February 16 (edited) Delphi 12 Version 29.0.50491.5718: I just did a small test on a fast MSSql server with a similar query on a very large table and I do not see such a delay. The data is shown quickly. I'm just using FDConnection and FDQuery. Probably your setup is different or your table contains some (big) blob's that are fetched? Also tried ADOConnection/ADOQuery, this was actually a little bit faster. Please provide a sample. Edited February 16 by Keesver Share this post Link to post
Rafal.B 3 Posted February 16 I recorded a video showing the problem: Clean install of Windows and Delphi 12 The video shows ADOQuery activation in three situations: 1 - No StringGrid links to BindSouce 2 - StringGrid connected to one BindSouce field 3 - StringGrid connected to all BindSouce fields The problem is option 3. As you can see, the problem is not the speed of the connection to the database, but what happens in BindSouce and StringGrid with a larger number of fields in the record. The number of fields in the record is about 90. The types used are: nchar, datetime, tinyint, int, float and nothing else. I would like to point out that this problem does not occur on D11. Bind-StringGrid.mp4 Share this post Link to post
Rafal.B 3 Posted February 16 This video shows option 3 on the D11 Works as it should. Bind-StringGridOnD11.mp4 Share this post Link to post
Rafal.B 3 Posted February 19 (edited) I found the culprit in this situation. It is: StringGrid -> Options -> Header Disabling this option causes the data to display as quickly as in D11. Of course, the Header is not displayed then. I compared the "FMX.Grid" file with D11 and D12. There are a lot of changes regarding Header. Unfortunately, something went wrong with Embarcadero, and I have no way to report it to them because QP still doesn't work. Knowing what the problem is, the thread should be in the "FMX" topic. Edited February 19 by Rafal.B Share this post Link to post
Rafal.B 3 Posted March 2 I reported this problem to technical support. They confirmed its occurrence. They asked me to wait until the QP portal is launched and report it there. I wonder if I'm the only one who has this problem? Share this post Link to post
Rafal.B 3 Posted April 4 I just installed Delphi 12.1 and no problem, everything works properly (fast). 👍 Share this post Link to post