1 2 Previous Next 26 Replies Latest reply on Oct 4, 2016 10:25 AM by danshockley

    Mac UI interference while FMP14 is processing in background

    taylorsharpe

      Something new to 14 that had not been an issue in previous versions for me was that when I have a long script running in the background on FMP, it interferes with the front application a lot, in particular, when typing.  The characters get delayed or don't come out at all.  This is happening on FMP 14.0.1 and connected to a FMS 14.0.1.204 server using a Mac Pro with Mac OS X 10.10.3.  It is rather annoying since it keeps me from easily doing other work while FMP is working away at even something simple like a long replace.  Unfortunately for one client, the server is remote and on a slow connection, which means my pain experience is prolonged while things process.  I've found myself logging in using 13.0v9 frequently just to avoid this problem so I can work in other programs while running a big job.  And obviously it is making me write more scripts that perform on server.  But it just seems a backwards step from previous versions. 

       

      Are other people noticing this?  How about on Windows?

        • 1. Re: Mac UI interference while FMP14 is processing in background
          ibrahim_bittar

          Hi Taylor

           

          To me is basically the opposite, when doing something in FileMaker while it is in background, thanks to this $%&##$%%& "wonderful" AppNap on mac, FileMaker slows down a lot, leaving it almost unusable.

           

          The workaround is to leave a part of the window visible so I can fool the OS. This is not exclusive to FileMaker, the problem is with AppNap.

           

          Regards

           

          Ibrahim

          • 2. Re: Mac UI interference while FMP14 is processing in background
            Benjamin Fehr

            you can click on the FMP13 application file, cmd / i for Get Info and deactivate App Nap.

            Can't see such a option for FMP14?!!!

             

            Is App Nap for FMP14 deactivated per default?

            • 3. Re: Mac UI interference while FMP14 is processing in background
              databuzz

              Hi Taylor,

               

              I've noticed this as well, but for me it's been an issue for a few years. I definitely notice it with v13 and possibly v12. If I leave a large process running I then have issues with the keyboard and shortcuts as you mentioned - e.g. I type something which doesn't appear on the screen or I use the shortcut to copy/paste and it doesn't perform that action.

               

              It's also an issue with runtimes - I use the runtime version of BaseElements to process my DDRs so I can keep developing while it runs. I have the same problem when this runs and takes a while - keyboard doesn't always respond etc etc.

               

              I haven't filed a bug report as I wasn't even sure it was a bug - let me know if you're going to file a bug report and I'll chime in.

               

              cheers,

              Andrew

              • 4. Re: Mac UI interference while FMP14 is processing in background

                Macs aren't, or at least weren't, truely multi-tasking. Multi-Finder faked it but actually what they did was timesharing. I get so much time, you now have so much time, they want some time so we have to wait.

                 

                A replace, not a good idea anyway, on a large set of records will do two things. Hog the processor plus delay for Internet download and skip any records that someone is editing or has open in one or more windows...

                 

                14 in its shippng we are the debuggers mode with v0 has issues. All software does.

                 

                I just experienced a real slowdown that I corrected by closing Chrome which had been left open for a while. Chrome as we all know employs 42,000 stealth programs on my computer to collect data one every keystroke... I also think that the version FileMaker offered us before release has extra code for reporting home since it works better without the Internet connection but that could be wrong.

                • 5. Re: Mac UI interference while FMP14 is processing in background
                  CarstenLevin

                  Hi Taylor,

                   

                  It sounds af if you have set up your script to do the process in a way where all the data is transferred and handled on the client computer.

                   

                  My suggestion is that you Perform the Script on Server.

                  Consider waiting or not waiting for completion.

                   

                  But it is interesting that you find FMP14 to be slower than FMP13 connected to a FMS14 Server.

                  Is it just the replace or other routines as well?

                   

                  If it is possible to set up a testscript and time it with the two clients (13-14) it would be very good.

                   

                  In most of our solutions we have found FMP 14 to be as fast or faster than 13. But it may very well depend on the specific scripts/task.

                   

                  Btw: How fast is your client computer (processor/ram)?

                   

                  Best regards


                  Carsten

                   

                  Ps. I have tried something interesting with very data intense scripts. I have tried to do the same procedure in FileMaker Pro and with WebDirect. And in those cases WebDirect are in most cases many times faster than FileMaker Pro. This is of course because WD is performing the scripts on the server. This can only be done with scripts that are WD compliant, but most are with FileMaker 14:-) and with Perform Script on Server you would have to establish context, with WD it is already done because it works lige FileMaker Pro:-.

                   

                   

                   

                  performons.png

                  • 6. Re: Mac UI interference while FMP14 is processing in background
                    BruceHerbach

                    It looks like FileMaker 14 doesn't use or work with AppNap.    This link was informative:

                    http://www.cnet.com/how-to/how-to-disable-app-nap-in-os-x-mavericks/

                     

                    On my system,  in FileMaker 13 I have the option of disabling AppNap.  FileMaker 14 doesn't have the option so I take it to mean that it doesn't work with AppNap.  This is of course is my conjecture and not from FMI.

                     

                    Bruce

                    • 7. Re: Mac UI interference while FMP14 is processing in background
                      Markus Schneider

                      MUlti-Finder was back in the 'classic' times - about 15 years ago, OSX came out, a UNIX system...

                      • 8. Re: Mac UI interference while FMP14 is processing in background
                        taylorsharpe

                        Carsten:  It sounds af if you have set up your script to do the process in a way where all the data is transferred and handled on the client computer.

                         

                         

                        That is typically how the FileMaker app works.  There are a number of scenarios where I am cleaning up data and this involves doing replace by calculation over a lot of records. 

                         

                        My suggestion is that you Perform the Script on Server.

                        Consider waiting or not waiting for completion.

                         

                        Good idea if I've written a script... and I often employ PSOS.  But when doing the replace by calculation, there is no script.  Or why would I write a script for a one time replace?  It just isn't practical since I'll never need it again. 

                         

                        But it is interesting that you find FMP14 to be slower than FMP13 connected to a FMS14 Server.

                        Is it just the replace or other routines as well?

                         

                        I do not find FMP14 to be slower than FMP13, I find the opposite.  But I don't live in a world that only runs FMP.  I have other programs running such as mail or web or Excel, etc.  When I have FMP doing a long replace that takes several minutes and I go to another program, they are not very usable because FMP14 keeps interfering with the UI of the other program such that if I type a sentence, it drops many characters I type.  While FMP13 may run the task slower, I can go to other programs and they are usable without interference from FMP13.  I am more productive in that I can easily do two things at the same time.  With FMP14, I just have to wait for it to get done or fight the frustration of retyping many characters. 

                         

                        Btw: How fast is your client computer (processor/ram)?

                         

                        Mac Pro (cylinder with Xeon processors), 32 Gigs of RAM.  But the same thing happens on an iMac and a MacMini I have FMP on. 

                         

                        Ps. I have tried something interesting with very data intense scripts. I have tried to do the same procedure in FileMaker Pro and with WebDirect. And in those cases WebDirect are in most cases many times faster than FileMaker Pro. This is of course because WD is performing the scripts on the server. This can only be done with scripts that are WD compliant, but most are with FileMaker 14:-) and with Perform Script on Server you would have to establish context, with WD it is already done because it works lige FileMaker Pro:-.

                         

                        I do not have interference problems running it in WebDirect.  Only FMP. 

                         

                         

                        Thanks for the discussion, Carsten. 

                        • 9. Re: Mac UI interference while FMP14 is processing in background
                          taylorsharpe

                          Ibriam:  The workaround is to leave a part of the window visible so I can fool the OS. This is not exclusive to FileMaker, the problem is with AppNap.

                           

                          That sounds like a real possibility and I was unfamiliar with this until you educated me (thank you).  But what is interesting is that I never had AppNap disabled on FMP13 and it did not interfere with my other apps I was using at the same time and FMP14 does.  I guess what I want is to keep it from napping, but also not have it try to grab the UI while I'm in another program. 

                          • 10. Re: Mac UI interference while FMP14 is processing in background

                            The Replace Field Contents has historically been a greedy cpu hog. Years ago when I used it to update a file/table the 10 users on the network would complain that their FileMaker threw up the coffee cup and they couldn't do anything.

                             

                            I also like others four that Replace Field Contents would skip records that were being edited and although it would issue an error it would not tell me what those records were. In other words, it was convenient for lazy developers like me but shouldn't be used.

                             

                            I did two things:

                            I stopped using Replace Field Contents and never use it except during my own developement on a non-shared file.

                            I wrote a loop to do the same thing and when on a shared network I would insert a pause into the loop causing my long script to take a breather and for other users to get some time with the server. Less important now when computers are 1000 times faster.

                             

                            Replace Field Contents with calculation

                             

                            vs

                             

                            For example,

                            Set variable $_time to timestamp

                            go to record 1 of found set

                            Loop

                              check for record lock meaning someone is editing that record

                              if not locked

                               set field x to calculation

                               set field y to calcualtion

                                  [Note that you can many more advanced replaces here than you can with Replace Field]

                               set field timestamptdateupdated to $_time

                              commit record

                              end if

                                 if mod ( record number / 100 ) = 0  (the function that returns the fraction of the division)

                                   pause 5 seconds

                                 end if

                              go to record next exit after last

                            end if

                            Perform find for timestamptupdate # $_time

                            if found count > 0

                              perform this script again

                            end if

                             

                            The script is intended in more refined form of course to create a pause for effect to give time to others and to eliminate the problem caused by Replace Field not replacing all records.

                             

                            You could also reduce your found set to xxx records, etc.

                            • 11. Re: Mac UI interference while FMP14 is processing in background
                              taylorsharpe

                              Jack, your comments are appropriate, but do not describe my situation.  I am familiar with the limitations of locked records, etc.  My project, and this happens a lot when starting a new solution from some other database, involves doing a lot of cleanup of the data, splitting data into new fields, trimming, reformatting phone numbers, zip codes, and you name it.  This cleanup functions need done once and never again, otherwise I would write a script and do a PSOS.  And since this is in a development phase, there is only one user.  The Replace function with calculation is very powerful tool for this type of work.  But if I wanted to work in a live solution and the script needed run and had to handle locked records, etc., I write scripts to handle those processes.  My script is slightly different than yours.  I try and record the ones that don't happen and go through the entire script before trying again in the hopes that the time delay gives the opportunity for people to commit records before the replace is done.  And then I have an array at the end the reports records skipped and determine the appropriate action for them.  But every developer has their favorite way of writing scripts it seems. 

                               

                              I know we are talking a lot about the Replace function and it just happened to be the function that was cause the interference in FMP14 with other apps, but running a long script or say an import does the same thing.  So my problem isn't unique with the Replace calculation function.  FMP14 just doesn't play as well with other apps when its in the background as FMP13 did.  It would be nice if FM could figure out why and bring back the functionality like it was in FMP13. 

                              • 12. Re: Mac UI interference while FMP14 is processing in background
                                monkeybreadsoftware

                                If you need to control App Nap, you can do this via official Apple APIs via MBS Plugin:

                                 

                                http://www.mbs-plugins.com/archive/2015-06-03/Disable_App_Nap_System_and_Scr/monkeybreadsoftware_blog_filemaker

                                 

                                I added this morning functions for that to declare an activity and disable app nap, display sleep and system sleep.

                                You can start an activity when the script starts and end if later when you are done. The Mac can than fall to sleep.

                                • 13. Re: Mac UI interference while FMP14 is processing in background
                                  taylorsharpe

                                  Pretty cool Christian and I think that is great for solving the problem of an app going to sleep in the background. 

                                   

                                  I think I'm actually having the opposite problem.  When FM is in the background running a script and I am in the foreground running another application, FM keeps grabbing the UI and interfering with my foreground application, making things like typing difficult.  What would be nice is if there was a way to tell FMP to stay in the background and not interfere with the foreground application.  It behaved that way in 13 and 12. 

                                  • 14. Re: Mac UI interference while FMP14 is processing in background
                                    emooz

                                    This issue is also a problem using FMPA 14 on Windows 7.

                                    1 2 Previous Next