Jump to content


uniGUI Subscriber
  • Posts

  • Joined

  • Last visited

Recent Profile Visitors

98 profile views

snow's Achievements


Newbie (1/4)



  1. the bottleneck seems to be TUniItemedFormControl.WebCreate in unit uniMultiItem. times are for 1200 ComboBoxes: Creating FStore takes about 10 seconds. JSConfig('proxy', takes about 6 seconds. JSAddEvent( takes about 15 seconds. since those methods are defined in units we have no access to, there doesnt seem to be a lot i can do. and even then it's JavaScript, which isn't my forte. dear people of uniGUI, please fix this performance issue.
  2. if i put the ComboBoxes inside a panel and use UniApplication as panel.Owner, then i get the loading time down to about 13 seconds. but then i cant set p.parent to self, because p.OwnerForm has to be self.OwnerForm. InsertComponent sets p.Owner to self, but creates a host of problems of its own.
  3. as you probably figured out by now, the point of s is to measure the time it takes for the form to show up in the browser. while creating 1200 ComboBoxes takes like 3-4 seconds (or a lot less when you add "visible := False;" to the loop), it still takes 40 seconds for the form to show up in the browser. if you replace creating ComboBoxes with sleep(3), then the form shows up way faster. because it doesnt have 1200 ComboBoxes on it. yes, i have seen it. i've looked at a lot of performance related threads, but the tips there do nothing for my specific problem. i've done some more testing myself. turns out TUniDBComboBox and TUniCheckComboBox are way worse.
  4. greetings, the issue is bad performance when opening one of the biggest forms in my program. While in VCL desktop version it takes a few seconds (like 3-4) for the form to open, in uniGUI it takes about 40 seconds. this is unacceptable. I am aware that this form is quite huge, having around 1200 individual components (all of which were put on the form in the designer (.dfm)). creating this many components takes time, but 40 seconds is way too much. like 4-5 seconds would be acceptable. as a test case, please see attached picture below. it's a newly created project, and the only thing it does is creating instances of TUniComboBox. I timed how long it takes for the form to open by using the FormCreate (you could use FormShow for this, doesnt matter much) and FormAfterShow events. you can interact with the form only after it is shown, so FormAfterShow makes sense to use. as you can see, in this instance it took 47 (usually between 40 and 45) seconds for the form to open. this is an enormous amount of time, considering nothing else is being done. the only thing the user can do is sit around and wait (and maybe fall alseep). please let me know how i can get this tremendous amount of time down to an acceptable level, or significantly improve performance as soon as possible. thank you, snow
  5. Hello everyone, I recently started using uniGUI in my project. Many parts of this application rely on FastReport, most of those on the DialogPage for some data input or selection. I used the uniGUI FastReport Demo to get going, and reports without DialogPages work perfectly. For the other reports, I designed a form (based on TUniForm), which basically parses the DialogPage, creates uniGUI components and links them with the FastReport components on the DialogPage (i.e. a click on the TUniButton tiggers the OnClick event for the corresponing FastReport button). While this works, it is really slow. For my test reports, it takes up to 7-8 seconds to build this form. Some events take up to 1 second to relay all information (from the uniGUI to the FastReport component, which triggers its FastReport event, the wait for this event to finish, and refreshing my form with this new data). Since I'm probably not the only one struggling with this problem: How did you solve it? Like I did? Did you do something completely different? Could FastReport Server be a solution? I appreciate your help.
  • Create New...