Alpha Software Mobile Development Tools:   Alpha Anywhere    |   Alpha TransForm subscribe to our YouTube Channel  Follow Us on LinkedIn  Follow Us on Twitter  Follow Us on Facebook

Announcement

Collapse

The Alpha Software Forum Participation Guidelines

The Alpha Software Forum is a free forum created for Alpha Software Developer Community to ask for help, exchange ideas, and share solutions. Alpha Software strives to create an environment where all members of the community can feel safe to participate. In order to ensure the Alpha Software Forum is a place where all feel welcome, forum participants are expected to behave as follows:
  • Be professional in your conduct
  • Be kind to others
  • Be constructive when giving feedback
  • Be open to new ideas and suggestions
  • Stay on topic


Be sure all comments and threads you post are respectful. Posts that contain any of the following content will be considered a violation of your agreement as a member of the Alpha Software Forum Community and will be moderated:
  • Spam.
  • Vulgar language.
  • Quotes from private conversations without permission, including pricing and other sales related discussions.
  • Personal attacks, insults, or subtle put-downs.
  • Harassment, bullying, threatening, mocking, shaming, or deriding anyone.
  • Sexist, racist, homophobic, transphobic, ableist, or otherwise discriminatory jokes and language.
  • Sexually explicit or violent material, links, or language.
  • Pirated, hacked, or copyright-infringing material.
  • Encouraging of others to engage in the above behaviors.


If a thread or post is found to contain any of the content outlined above, a moderator may choose to take one of the following actions:
  • Remove the Post or Thread - the content is removed from the forum.
  • Place the User in Moderation - all posts and new threads must be approved by a moderator before they are posted.
  • Temporarily Ban the User - user is banned from forum for a period of time.
  • Permanently Ban the User - user is permanently banned from the forum.


Moderators may also rename posts and threads if they are too generic or do not property reflect the content.

Moderators may move threads if they have been posted in the incorrect forum.

Threads/Posts questioning specific moderator decisions or actions (such as "why was a user banned?") are not allowed and will be removed.

The owners of Alpha Software Corporation (Forum Owner) reserve the right to remove, edit, move, or close any thread for any reason; or ban any forum member without notice, reason, or explanation.

Community members are encouraged to click the "Report Post" icon in the lower left of a given post if they feel the post is in violation of the rules. This will alert the Moderators to take a look.

Alpha Software Corporation may amend the guidelines from time to time and may also vary the procedures it sets out where appropriate in a particular case. Your agreement to comply with the guidelines will be deemed agreement to any changes to it.



Bonus TIPS for Successful Posting

Try a Search First
It is highly recommended that a Search be done on your topic before posting, as many questions have been answered in prior posts. As with any search engine, the shorter the search term, the more "hits" will be returned, but the more specific the search term is, the greater the relevance of those "hits". Searching for "table" might well return every message on the board while "tablesum" would greatly restrict the number of messages returned.

When you do post
First, make sure you are posting your question in the correct forum. For example, if you post an issue regarding Desktop applications on the Mobile & Browser Applications board , not only will your question not be seen by the appropriate audience, it may also be removed or relocated.

The more detail you provide about your problem or question, the more likely someone is to understand your request and be able to help. A sample database with a minimum of records (and its support files, zipped together) will make it much easier to diagnose issues with your application. Screen shots of error messages are especially helpful.

When explaining how to reproduce your problem, please be as detailed as possible. Describe every step, click-by-click and keypress-by-keypress. Otherwise when others try to duplicate your problem, they may do something slightly different and end up with different results.

A note about attachments
You may only attach one file to each message. Attachment file size is limited to 2MB. If you need to include several files, you may do so by zipping them into a single archive.

If you forgot to attach your files to your post, please do NOT create a new thread. Instead, reply to your original message and attach the file there.

When attaching screen shots, it is best to attach an image file (.BMP, .JPG, .GIF, .PNG, etc.) or a zip file of several images, as opposed to a Word document containing the screen shots. Because Word documents are prone to viruses, many message board users will not open your Word file, therefore limiting their ability to help you.

Similarly, if you are uploading a zipped archive, you should simply create a .ZIP file and not a self-extracting .EXE as many users will not run your EXE file.
See more
See less

Slow Windows 10 Workstation Performance

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Slow Windows 10 Workstation Performance

    We are having an issue as we replace old Windows 7 machines with Windows 10 machines. We run shadows on the workstations connected to a file server running 2012 R2. Typically We will have four or five sessions running concurrently.

    We have a main menu that displays a browse with a list of open tickets. A double click on a line opens that ticket for editing. We display 5 images on the form (driver's license, customer picture, cash card image, signature and fingerprint) all of which are required for the ticket to be completed. We have many stored images in the categories above, each in their own sub-folder. We have relied on using filefind.get() to retrieve the images for display. The issue is that, the first time we try to open the form (in a day), it can take five minutes or more for the the images to be retrieved and the form to display. After the form has been opened once, subsequent attempts open and display the images in a couple of seconds. So, it appears that after the initial attempt to retrieve the images, they are then in the cache and can be quickly retrieved. If We don't display the images on the form, the form opens in a second or two on the first attempt.

    I have tweaked some server settings in the hope of improving things. I have made sure the application folder/sub-folders are indexed and I have turned on Windows Search. I see no improvement from the workstation, and the server performance actually seems to be slower. This is a virtual (hyper-v) server being hosted on an older (8 - 9 years or more) physical server.

    Before I start making big changes to the forms and workflow I was wondering if anyone else has encountered this sort of thing and if anyone had any suggestions on what else I could try.

    Thank you
    Finian

    #2
    Got more specs on the server hardware and network structure?
    Al Buchholz
    Bookwood Systems, LTD
    Weekly QReportBuilder Webinars Thursday 1 pm CST

    Occam's Razor - KISS
    Normalize till it hurts - De-normalize till it works.
    Advice offered and questions asked in the spirit of learning how to fish is better than someone giving you a fish.
    When we triage a problem it is much easier to read sample systems than to read a mind.
    "Make it as simple as possible, but not simpler."
    Albert Einstein

    http://www.iadn.com/images/media/iadn_member.png

    Comment


      #3
      Hi Al:

      I's a virtual (Hyper-V) server configured as Xenon E5630 @2.53 GHz with 16Gigs RAM. I don't have access to the specs of the host machine right now but it is more than 5 years (10?) old with abundant memory and disk space. It's running Server 2012 R2. The network is running Active Directory and is administered by an outside consultant. The network cards and switches are all gigabyte and seem to be working OK. We've used the same setup for years. The workstations are a mix of virtual machines running Windows 7 and Windows 7 and Windows 10 desktops where we have scanners (ID, signature, fingerprint and document) attached. We have a bunch of IP cameras for different purposes. Here the server is only sharing files. The workstations are all shadowed via a mapped network drive.

      This issue only occurs with the Windows 10 workstations. I have debugged the form opening so that I can see the "freeze" occurs during the first attempt to retrieve the image name(s) from their respective folders which I am doing with filefind.get() which has always returned the filename(s) very quickly. That no longer happens on the first attempt. Once the first attempt to retrieve the images completes, subsequent retrievals are pretty much instantaneous. To put things in perspective, the number of images in the image folders ranges from 20,000 up to 100,000+ per folder. But the number of images per folder has never been a problem before.


      Finian

      Comment


        #4
        Hi Finian,
        My system is image intense, handling the movement, re-sizing and display of thousands of images within routine work in the system. We use Terminal Server having moved from Windows Server 2008 R2 running as Hyper-V virtual machine on a Windows 10 base OS to Windows Server 2019 running our system IS as a virtual machine all running not shadowed with work stations using Win 7 and Win 10 machines. This last may be differences enough to not be comparable. But I'll give a shot at helping anyway.

        A double click on a line opens that ticket for editing. We display 5 images on the form (driver's license, customer picture, cash card image, signature and fingerprint) all of which are required for the ticket to be completed.
        Is this form based on a set or single table, and is the form displaying the images based off the same table as the browse or different table. What method are you using to display the images? What are the sizes of the images and what is the file type?

        The image name(s) from their respective folders which I am doing with filefind.get()
        Why? It is unclear why you are employing a filefind.get() search for acquiring a filename. The double click in the browse must acquire a key field value used in the image file name for use in the filefind.get(). You stated each of the 5 images are in separate folders. Does the concatenation of the image folder path + the key value not the image file name? Is filefind.get() needed to acquire more than one file possibility for the key value for the user to select? What happens with the image file name after the file name is acquired with filefind.get()?
        Mike W
        __________________________
        "I rebel in at least small things to express to the world that I have not completely surrendered"

        Comment


          #5
          Not having the same TYPE of setup Finian, I can only report my findings with Win10 and Browses.
          In one app - single user - launching the Browse which is a complex one with icon images displaying the status of the record takes more time than you think it woul.
          In Win7, it was instantaneous.
          I suspected it was something to do with the new W10 security, but got sidetracked as it is really only used in anger for 2 days a month.

          Suggest you try a small test app on the same server and see what happens without a Browse.
          Also, try the app locally on a W10 DT.
          See our Hybrid Option here;
          https://hybridapps.example-software.com/


          Apologies to anyone I haven't managed to upset yet.
          You are held in a queue and I will get to you soon.

          Comment


            #6
            Hello Mike et al: (no pun intended) the form is based on a pretty simple set. The key lookup values are stored in the parent record. The images are displayed as bitmap controls so we need to fetch the file name(s) each time a record is to be displayed. We used to use Image Refence fields for the image information. They sort of worked when we were only displaying the driver's license image but when we started to add additional images on the form it became a nightmare. We switched to Bitmap controls and we opted to retrieve the filenames using filefind.get() rather than adding additional text fields to store the filenames. As long as we were using Windows 7, the return from filefind.get() was pretty much instantaneous (regardless of the number of files in the folder) and now, in Windows 10, it is not.

            All of the image file names are constructed using key fields in the file name such as the ticket number+customer_id. Unfortunately we also appended the date and time to the file name so we can't just create an accurate file name based on the keys alone, that's where filefind.get() was so useful. The only remedy I can think of is to add those text fields we opted against before and update the table(s) with the file names. I'm hoping to keep any required design changes to a minimum.
            Finian

            Comment


              #7
              Hi Finian,
              I know a lot of people resist using sql, but sql does a remarkably fast job of searching and processing.
              I understand the pain of converting to sql from dbf, but they can co-exist.
              As an example, I have a project that compiles and prints commission reports a month at a time.
              This process used to take about an hour using dbf tables. Since I converted most of the processing
              to sql, it now takes less than 10 minutes.
              Gregg
              https://paiza.io is a great site to test and share sql code

              Comment


                #8
                I'm with Gregg on this.
                DBF is fine for quite local stuff, but not so great on a larger Web type or distributed app.
                SQL can effectively work anywhere, DT/Web/Intranet and it only needs to be learned once. So you can develop and deply locally or globally using the same Db kit.
                I keep feet in both camps and use DBF and SQL, but not usually in the same app. ( It's an age thing.)

                It's worth investing time and I think you will find it's not as complex or difficult as you might have thought.
                See our Hybrid Option here;
                https://hybridapps.example-software.com/


                Apologies to anyone I haven't managed to upset yet.
                You are held in a queue and I will get to you soon.

                Comment


                  #9
                  do you guys have any idea how much time it would take to convert a l a r g e DBF system to SQL? it could take from months to a year!!! at least!!!
                  Cole Custom Programming - Terrell, Texas
                  972 524 8714
                  [email protected]

                  ____________________
                  "A young man who is not liberal has no heart, but an old man who is not conservative has no mind." GB Shaw

                  Comment


                    #10
                    You are correct Martin, and I do know. I rewrote in a different RAD toolkit in SQL on the Web.
                    It's one of those issues where you ask yourself "have I chosen the right horse?" Or that there was only one horse available.
                    Once committed with a large system, it's not easy to change in the middle - for many reasons.

                    Going forward with an SQL base for new stuff may be the answer, and living with the old DBF features in what is rapidly becoming a legacy DB style.

                    As an aside, I have had to resurrect an old Net Book running XP. Far faster than Win10 on my Laptop. Better connectivity to servers and PnP devices.
                    See our Hybrid Option here;
                    https://hybridapps.example-software.com/


                    Apologies to anyone I haven't managed to upset yet.
                    You are held in a queue and I will get to you soon.

                    Comment


                      #11
                      I would think the time spent converting depends on a few things. Are you scrapping your current app ? How much of your dbf data is actively used on a regular basis ?
                      dbf tables do not perform as well as sql with logs of records. Let your creative side (not to be confused with artistic) get involved.
                      The first question should be what are you trying to accomplish. After that, consider options. Moving all your data to sql, then pulling a
                      much smaller subset from sql should improve performance.
                      Gregg
                      https://paiza.io is a great site to test and share sql code

                      Comment


                        #12
                        Don't get me started on SQL Logs!
                        See our Hybrid Option here;
                        https://hybridapps.example-software.com/


                        Apologies to anyone I haven't managed to upset yet.
                        You are held in a queue and I will get to you soon.

                        Comment


                          #13
                          Here are some specs for an app that manages a large metallurgical laboratory that I have been managing since 2003. While I agree that the web and web tools and several new language/platforms are the future, old timers like me don't want to go with the web; we just want to keep using a database system that works well and that we are fluent in.

                          Tables: 1044
                          Sets: 203
                          Forms: 797
                          Browses: 68
                          Reports: 485
                          Letters: 0
                          Labels: 28
                          Scripts: 346
                          Appends: 261
                          Summaries: 149
                          Functions: 158
                          including field rule scripts, form scripts, and button scripts - there are close to 2,000 extra scripts
                          Cole Custom Programming - Terrell, Texas
                          972 524 8714
                          [email protected]

                          ____________________
                          "A young man who is not liberal has no heart, but an old man who is not conservative has no mind." GB Shaw

                          Comment


                            #14
                            I know exactly what you mean. That is probably not worth contemplating as a project. If it ain't broke...., however, read on.

                            In 2014 I was asked to develop an application which would cover the SLA for a number of sites. Each site has different suppliers, some have lifts/elevators, some have special needs, and some have very strict contamination control and legally enforceable requirements.

                            The client needed to be able to monitor the many, many different suppliers work efficiency so as to ensure it was carried out on time and to the specification. This was done partly by self certification documents, but mostly by visual or swab inspection.

                            The results had to be recorded in one of 3 ways; using a laptop, desk computer or smart phone.

                            Having used DBF and Alpha to develop and sell apps since around 1994, I decided at that point to learn more about the web side of development. So I now have a foot in both camps.

                            A recent development is for local authorities and they want whole control, no web, all local data. So I am developing in Alpha and DBF - which as an "oldie" I can do quickly with not too many errors first time around.

                            However, I do know that on the horizon the request will come for key data to be available on a smart phone. Not the whole shebang, just key finance stuff which may be asked for during meetings. That's where one SQL table sits in the schema and is linked to a published instance on the web. See the Hybrid App approach in my signature.

                            Really easy to do. Examples available.

                            See our Hybrid Option here;
                            https://hybridapps.example-software.com/


                            Apologies to anyone I haven't managed to upset yet.
                            You are held in a queue and I will get to you soon.

                            Comment


                              #15
                              Hello,

                              How do you create the "Data Entry" forms When you using the SQL? Does Alpha-Form or xdialog work with "SQL" tables?

                              Comment

                              Working...
                              X