Does WPF waits for GPU present to complete?

I'm testing how frequently WPF display can change when I have one window per monitor. My frame rate isn't amazing, and using xperf and GPUView it looks like WPF prepares both windows and then calls "Present packet" on both at the same time, and
waits for both to complete before moving on to send the next frames to the video card. I think my frame rate could have been faster if WPF didn't wait for the present to complete on both displays. When I run two WPF processes, each with one window on
one monitor, the present packets are independent, so parallel processing is more efficient and the frame rate is higher.
Did anyone observe the same behavior? Is there a flag I can set to make the WPF windows of one process more independent? 

Hello Shir Oren,
I'm confused about those monitors, do you mean you have a computer with a few monitors?
Then "When I run two WPF processes" can you briefly introduce it here? Different applications on different monitor? Do you actually mean thread but not process here?
Actually WPF can take advantage of both Hardware and Software Rendering Pipeline, for details please refer to MSDN article:
https://msdn.microsoft.com/en-us/library/bb613578(v=vs.110).aspx
I'm not sure whether there is a flag you metioned but I haven't found it at this time. So I recommend you focus on the exist WPF render tiers from here
https://msdn.microsoft.com/en-us/library/ms742196(v=vs.110).aspx to consider raise your performance.
Best regards,
Barry
We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
Click
HERE to participate the survey.

Similar Messages

  • Creative Cloud file synch misbehaves - does not wait for save operation to complete before throwing an access error

        Creative Cloud File synch is too impatient and it constantly gives me an error when I try to save my project file from Articulate Storyline 2 to my folder on Creative Cloud,
    This is from my log:
    Copy Over 'C:\Users\sbirch\Creative Cloud Files\eIssuance\03Project\eIssuance.story' -> 'acsl://scss.adobesc.com:80/files/eIssuance/03Project/eIssuance.story'
    - ERROR: Copying file: Cannot open local file 'C:\Users\sbirch\Creative Cloud Files\eIssuance\03Project\eIssuance.story' for read: The process cannot access the file because it is being used by another process. (error 32)
    20150120-134758.611: Finish UL: /eIssuance/03Project/eIssuance.story (Ovr): Copying file: Cannot open local file 'C:\Users\sbirch\Creative Cloud Files\eIssuance\03Project\eIssuance.story' for read: The process cannot access the file because it is being used by another process. (error 32)
    Problem is, the save operation is incomplete when CC tries to access the file. And it jsut gives up. It doesn't wait or retry, which means my file never synchs UNLESS I restart the CC application, or reboots, or renames the file.
    Thats silly. Can you change that behaviour please?

    Hi,
    Could you supply me with your log files, you can locate them by looking at..
    Mac:
    /Users/<username>/Library/Application Support/Adobe/CoreSync
    Windows:
    C:\Users\<username>\AppData\Roaming\Adobe\CoreSync
    'Library' on Mac and 'AppData' on Windows are both hidden folders. Please read these pages for help on showing these folders:
    http://helpx.adobe.com/x-productkb/global/show-hidden-files-folders-extensions.html (Win)
    https://helpx.adobe.com/x-productkb/global/access-hidden-user-library-files.html (Mac)
    Please send upload them to Creative Cloud and send me a link at [email protected]

  • Publish action waits for request to get completed in OSB11g

    Hi all,
    I am using OSB 11g. Following is my scenario:
    1) ProxyService1(wsdl based Proxy) publishes to ProxyService2(local Proxy)
    2) ProxyService2 routes to an MQ Posting BusinessService
    In ProxyService1 Response Pipeline, I have configured a dummy response irrespective of the Request.
    When I keep the Retry Count of BusinessService as 3 and Retry Iteration Interval as 120, and test ProxyService1 by keeping the Queue down, it waits for 6 minutes to give the dummy response.
    I do not want the ProxyService1 to get held up for such a long time. It should fire-and-forget the request and give response immediately. I even tried to Publish to the BusinessService. Still the same problem. Can anyone guide me?
    Thanks in advance!
    Regards,
    Karthik
    Edited by: Karthik Krishnamurthy on May 13, 2011 2:32 AM

    I know this might be late, but just wanted to mention that you can publish to a Proxy/Business Service asynchronously using the Routing Options (Quality of Service: Best Effort) with the publish action.
    This will ensure that the Calling proxy does not wait for a response from the provider (be it Proxy/Business Service). If we use this OSB will try its best to publish it, but does not guarantee that the message be delivered. But as long as the provider is available, the message is processed separately and does not block the main calling proxy.
    We use this scenarios frequently in our project. So just wanted to pass it on :)
    You can find a snap shot @ http://dl.dropbox.com/u/19901533/OSB_Publish_Action.JPG
    Refer to http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/userguide/modelingmessageflow.html#wp1134375 for more information.
    Thanks,
    Patrick

  • SHUTDOWN: waiting for active calls to complete.

    Hello,
    environment is HPUX 11.23, Oracle Version is 9.2.0.5
    We had an ORA-600 error yesterday. We reported that error to the support and were suggested to install patch 9.2.0.8.
    However i have one question. As you can see from the output in the alert-logfile it took a very long time to shutdown the instance using the immediate option:
    Sun Nov 9 17:33:58 2008
    Shutting down instance: further logons disabled
    Shutting down instance (immediate)
    License high water mark = 454
    Sun Nov 9 17:39:07 2008
    Active call for process 3991 user 'oracle' program 'oracle@xyz (TNS V1-V3)'
    SHUTDOWN: waiting for active calls to complete.
    Sun Nov 9 17:50:36 2008
    ALTER DATABASE CLOSE NORMAL
    Is there anything one can do in such a situation to speed up the shutdown of the instance ?

    Rajabaskar Thangaraj,
    Oracle database has a job facility and a streams/advanced queuing facility.
    These facilities are possible by setting up a few ancillary processes.
    Those parameters govern the number of processes.
    Setting them to 0 will disable the facility completely.
    As you alter the parameter in memory, as you as you have bounced the database, it will be back to the value in the spfile and the facilities will work again.
    Disabling them is especially useful when you the facilities are frequently used, ie you have a job running every 30 seconds.
    In the past, on several databases, this was the only way to allow a shutdown immediate.
    Hope this helps,
    Sybrand Bakker
    Senior Oracle DBA

  • I tried to import 2 photos from an email. The photos are now on iPhoto, however, when I try to close iPhoto or turn off my computer, I get a notice that says, "Photos are being imported to the photo library. Please wait for the import to complete."

    I tried to import 2 photos from an email to iphoto. The photos now appear in iphoto as the latest imports, However, when I try to close iphoto or log off of my computer, I get a message box that says, " Photos are being imported to the photo library. Please wait for the import to complete."
    I can't get out of iphoto or log off of my computer, or turn the computer off. How do I stop the import or log out of iphoto???

    Try Force-quit from the Apple-menu to close iPhoto.

  • Trying to download a program and get "Waiting for other installations to complete"

    Trying to download a program and get "Waiting for other installations to complete"
    there are no other instalations going on that I know of Please help

    That is for your and your Mac's protection; you need your administrator password to download/install things.

  • Javascript: Wait for a redirect to complete - creating multiple PDF's

    Hi!
    Here is the code that I am using to try to generate multiple reports from javascript. how do I wait for the redirect to complete (ie. generate the PDF) before redirecting to generate the next PDF?
    In the code the "F106_" are application level items.
    I get have been able to get the very first or the very last PDF but none of the other PDF's.
    <script type="text/javascript">
    function f_DoReport() {
      for (i = 2; i <= 3; i++)
         for (j = 1; j <= 4; j++)
             var rgn = '0' + i;
             var dst = '0' + j;
             var vurl = 'f?p=&APP_ID.:30:&SESSION.:FLOW_XMLP_OUTPUT_R27022113101536736_en-us:&DEBUG.::';
             vurl += 'F106_RPT_REGION,F106_RPT_DISTRICT:' + rgn + ',' + dst;
             redirect(vurl);
             alert('rgn: ' + rgn + ' dst: ' + dst);
    </script>Please let me know if I am going down the wrong path here. :D
    As always thanks for your time and help!
    Dave Venus

    A few questions…
    Do you want a script that works with just the active document and you are going to run 300+ times? If so then this may do…
    #target illustrator
    function artboardsToPDFs() {
         if (app.documents.length = 0) {
              reurn;
         } else {
              var docRef = app.activeDocument;
              var docName = docRef.name;
              var baseName = docName.replace(/.ai$/,'');
              var dF = docRef.path.fsName;
              var aB = docRef.artboards;
              var pdfOpts = new PDFSaveOptions();
              pdfOpts.pDFPreset = '[Press Quality]';
              for (var i = 0; i < aB.length; i++) {
                   var numb = (i+1).toString();
                   pdfOpts.artboardRange = numb;
                   var pad = aB.length.toString().length;
                   numb = zeroPad(i+1, pad);
                   var pdfFile = File(dF + '/' + baseName + '_' + numb + '.pdf');
                   if (!pdfFile.exists) {
                        docRef.saveAs(pdfFile, pdfOpts);
                   } else {
                        var rPDF = confirm('File: "' + pdfFile.name + '" already exists…\rDo you wish to replace?',false);
                        if (rPDF) {
                             docRef.saveAs(pdfFile, pdfOpts);
                        } else {
                             continue;
    artboardsToPDFs();
    function zeroPad(n, p) {
      var t = n.toString();
         while (t.length < p) {t = '0' + t};
      return t;
    Do you want to pick a folder of all the illustrator files? If this is the case I would need more info and it would take longer…

  • Microsoft Excel is waiting for another application to complete an Ole actio

    When I access Data Manager, I get the error message: "Microsoft Excel is waiting for another application to complete an Ole action."  When I click OK, I get another error: "Cannot download the dimension list from server.  Timeout expired.  The timeout period elapsed prior to obtaining a connection from the pool.  This may have occurred because all pooled connections were in use and max pool size was reached."  It never used to happen until recently.  I don't know what to tell the IT guys to do.  Thanks.

    This is a known error in V5. I have had this error at almost every V5 customer.
    The following solution (got it from support) solves it permanently.
    Changes have to be made to the outlooksoft.config file and the connectionstrings in tblappsetinfo. Be sure to restart the server(s) after applying these changes.
    1. In outlooksoft.config file of x:\OutlookSoft\Websrvr\bin folder on the web server change the following line:
    <add key="Database_AppServerDBConn" value="Server=<servername>;Database=AppServer;Trusted_Connection=True;"/>
    to
    <add key="Database_AppServerDBConn" value="Server=<servername>;Database=AppServer;Trusted_Connection=True;pooling=false"/>
    Please note that where I have <servername> you should put the name of your server ****
    Also, add the pooling=false; to every connection string in tblappsetinfo.
    I am sure this helps,
    Regards,
    Alwin Berkhout

  • Waiting for scheduling job to complete. Job ID...and it never completes

    I have created my first Publication. It's a pretty basic single source document, single Dynamic Recipients list publication.
    When I run it in Test mode (I haven't tried it in non-Test mode yet), the document(s) are never delivered.
    When I view the Log File, everything looks fine. The second and last entry in the log says
    "- The global delivery rule for this publication was met; publication processing will now begin."
    The Status Message I see in the Publication History is:
    "Waiting for scheduling job to complete. Job ID:3,879, name:Unviewed Invoices Report (Copy), kind:CrystalReport in Pending state (FBE 60509) [0 recipients processed.] "  and it never changes. I've tried this several times, creating new publications with the same source documents, and the same thing always happens.
    Any help would be appreciated.

    All of the servers were configured correctly.
    It turned out to be my source document, a report, had some field in it that BOE didn't like.
    I removed a bunch of fields and added them back, one by one, and couldn't make the error occur again.
    Go figure.

  • Installer keeps waiting for other installations to complete my downloads.  is this normal?

    I downloaded a microsoft remote desktop application and tried to download my office mac and the installer keeps saying waiting for other installations to complete.  So i thought i needed a restart and the installer won't shut down either.  is this normal?

    Immediate problem solved. After force quitting the Software Update app., iPhoto 9.2 appears to have been successfully installed and functional.  Unable to say if future S/W updates will encounter any problems. Thanks for all consideration. Item closed.
    Aubrey

  • Patched Deployments issue: "waiting for another installation to complete"

    I have some percent of computers which runs into above state in monthly patch deployments. I could minimal information from execmgmr, udpatesdeployment.log,
    CliSpy and Client Center etc tools but that doesn’t offer much help to nail down the issue completely. Have any of you dealt to resolve such issue successfully ? Is there any efficient way to handle this ?
    It seems I have
    DeploymentA, waiting for the completion of DeploymentB, which in turn waiting for the completion of
    DeploymentC. Is there any better approach I could take to nail down and resolve the issue. One of my finding is,  KB articles installs (SCCM R3, SCCM Asset Intelligence) causes these issue as they restart (upgrade sort of execution) the
    agent during the execution, I need to confirm these
    Vasu

    Hi Vasu,
    This issue can be caused by a deployment was previously deployed and was now deleted. This was because the clients finished installation
    and wanted to notify the Server that it is done, but since the deployment was deleted, it couldn’t Notify its progress to the site server and the CCM_DeploymentTaskEx1 got stuck.
    Please use the following scripts to delete the instance to test this issue.
    strService = "CcmExec"
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\CCM\SoftwareUpdates\DeploymentAgent")
    Set colWMISettings = objWMIService.ExecQuery("Select * from CCM_DeploymentTaskEx1")
    For Each objWMISetting in colWMISettings
    objWMISetting.AssignmentId = ""
    objWMISetting.JobId = "{00000000-0000-0000-0000-000000000000}"
    objWMISetting.Put_
    Next
    'Stop service
    Set objWMI = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
    Set objService = objWMI.Get("Win32_Service.Name='" & strService & "'")
    objService.StopService()
    WScript.Sleep 10000 ' Pause to allow service to stop
    'Start service
    Set objService = objWMI.Get("Win32_Service.Name='" & strService & "'")
    objService.StartService()
    WScript.Sleep 10000 ' Pause to allow service to start
    Regards,
    Sabrina
    This posting is provided "AS IS" with no warranties or guarantees, and confers no rights. |Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question.
    This can be beneficial to other community members reading the thread.

  • [Solved] systemd does not wait for the unit to finish

    My problem is described in the title. I have made a test by enabling the following unit:
    [Unit]
    Description=/etc/rc.local Compatibility
    [Service]
    Type=forking
    ExecStart=/bin/sleep 1000
    TimeoutSec=0
    RemainAfterExit=yes
    After=network.target
    [Install]
    WantedBy=multi-user.target
    The unit is well started (a process sleep 1000 exists). But with a type=forking, systemd is supposed to hang in this case. Instead, the graphical.target is launched, systemctl list-units mention it as dead, but the display manager is started before the sleep 1000 completes. Ho can I force systemd to wait?
    Last edited by olive (2015-03-16 16:49:34)

    olive, now you're making even less sense. I didn't say the sleep example was stupid and I didn't question your reasons for doing/wanting this.
    I suggested you add "Before=display-manager.service" and you respond "I added Before=graphical.target and it didn't change anything."
    I also tried to explain why systemd has no reason to delay the display-manager.service. You could have asked for further clarification, as berbae has now done. Let's try a longer explanation.
    Service startup
    Services can be started in different ways, as configured with Type=. This determines when a service is considered "started" (or when the service's start-up is considered finished). When a service reaches this state (some time after being started), units that are supposed to start After= this service will be started (and no sooner).
    With simple systemd has no further information about the start-up process. It launches whatever you specify in ExecStart and this is the main process that continues to run till the service stops. systemd assumes this type of service is started immediately. All the other types have some way for the process to indicate to systemd (either directly or indirectly) when it has finished starting.
    Actually oneshot is also a bit special and that is where RemainAfterExit comes in. For oneshot, systemd waits for the process to exit before it starts any follow-up units (and with multiple ExecStarts I assume it waits for all of them). So that automatically leads to the scheme in berbae's last post. However, with RemainAfterExit, the unit remains active even though the process has exited, so this makes it look more like "normal" service with
    begin of unit/startup ---- end of startup ------ end of unit
    This is the relevant behavior for this thread. First sleep starts, then after 1000 seconds, start-up finishes and follow-up units will be started. Then either the unit dies, or (with RemainAfterExit) it stays "active".
    The man page describes how "end of startup" is determined for each Type.
    Targets
    Targets are meant to group units together, to provide synchronization points (and replace runlevels). When you start a target, all its units will be started (in parallel if possible). The man page says:
    Unless DefaultDependencies= is set to false, target units will
           implicitly complement all configured dependencies of type Wants=,
           Requires=, RequiresOverridable= with dependencies of type After= if the
           units in question also have DefaultDependencies=true.
    This means that (by default) when a target is requested, all it units are started first. Only after all units have finished starting, the target itself will be started (and since the target doesn't do anything by itself, this startup is basically instantaneous). Without this dependency, the order between the target and its units is unspecified, so in theory the target could finish starting immediately while its units are still being started.
    Back to olive
    graphical.target has these DefaultDependencies, so it is not started until all its units (like display-manager.service) and other After= dependencies (like multi-user.target) have finished starting. Your sleep service has to be started before multi-user.target starts (again due to default target dependencies). So first display-manager and the sleep service are started and after 1000 seconds, the sleep service finishes starting and then (assuming all other dependencies were quicker) multi-user.target is started and graphical.target as well (assuming display-manager didn't need 1000 seconds).
    If you want display-manager.service after the sleep service, add a Before/After line to specify that (this was your original goal and my suggestion).
    olive wrote wrote:However, units that are parts of the graphical target are still launched before the graphical target become active. I am still unable to completely delay the starts of the graphical target before a specific unit completes.
    It should be clear now how this works. "units that are part of the graphical target" can only mean "units that are wanted/required by the graphical target" but that is basically all the units that are started when you boot your system, because multi-user.target is a part of graphical.target. And your sleep service is a part of multi-user.target, so in fact you're saying you want to delay starting the sleep service until the sleep service completes
    What you probably intended was to delay all units that are a part of graphical.target but not of multi-user.target until after the sleep service. I can't think of an easy (or even good) way to do this and this post is already too long, so I'll table that for now.

  • Waiting for a Job to Complete

    Hi,
    How would people suggest waiting for a background process (a job submitted using APEX_PLSQL_JOB) to complete.
    I'm thinking of having an On Demand that can query the job status and then calling this from a piece of JavaScript which polls periodically (e.g. every 30 seconds using the setTimeout function).
    Does anyone have any pointers to something more elegant?
    Many thanks,
    Gareth.

    Hi
    Interesting one this, check out this link [http://www.oraclequirks.com/]
    Half way down the page on the left there's a link titled 'Yocoya's Flash Progress Bar Indicator Live Demo' that you might find useful.
    Cheers
    Ben

  • Second tween does not wait for first to finish

    Having a little problem here and as far as I can tell it is
    just that the second tween starts before waiting for the first to
    finish. Basically on a click event it should slide out a scroll
    pane to the bottom of the screen, change the contentpath of the
    scroll pane, then slide it back up.
    with the code below it just slides up the new movie clip but
    does not slide out the old one, if i remove the code for the new
    clip to slide up the old one does do the slide out how I want it to
    look.
    how can I make a pause in between the two to wait.
    on (press) {
    import mx.transitions.Tween;
    import mx.transitions.easing.*;
    _root.mask._x = 54;
    _root.mask._y = 109.3;
    _root.scroll_pane.setMask(_root.mask);
    switch (_root.loaded_clip)
    case 2: var Slide_out:Tween = new Tween(_root.scroll_pane,
    "_y", Bounce.easeOut, _root.scroll_pane._y, 900, 3, true); break;
    _root.scroll_pane.contentPath = "Search_mc";
    var Slide_up:Tween = new Tween(_root.scroll_pane, "_y",
    Bounce.easeOut, 900, 109, 3, true);
    _root.loaded_clip = 1;
    }

    Its still not working with that code but I think I can muck
    around with it and figure it out, the slide out works on the old
    clip now but then the new one never shows up.
    The onMotionFinished was basically what I was looking for,
    think I can eventually figure it out from here, thanks for the
    info.

  • WaitFor() Does not wait for Process

    Experts,
    I have a Process p for a Microsoft Outlook Process OUTLOOK.EXE
    Now if there is an Email file (xyz.msg) opened as this process along with my MS Outlook running then,
    p.waitFor();
    // Where p = runner.exec(shell_command_to_open_msg_file);
    does not wait and move further.
    But if the MS Outlook is not running, then it waits till I manually close the Email msg file.
    How can I handle/overcome the former situation?
    Thanks in advance

    moondra_JavaDev wrote:
    How can I handle/overcome the former situation?
    You can't in java.
    What happens is that when outlook is already running then the new attempt to run does the following
    1. A application starts
    2. It determines that outlook is already running.
    3. It focuses that instance
    4. It exits.
    The last step is what you see. You do not have access to the one that is running because it isn't the same application.
    I would suggest examining the business requirements that are driving this. If you allow the user to already have outlook open then it seems rather odd that you are insisting that they exit it anyways. Instead you can pop a dialog and require that they tell you when they are done. Or don't use outlook and use java mail instead.

Maybe you are looking for

  • HT1399 I tunes: Next or Previous song right from the Tab?

    Hello could you guys allow the itunes to have an icon on the mac "tab" by where the time and battery is shown. So that people can press next or previous or pause without actually going in the itunes application incase we are on chrome or word etc.

  • Sun Java System Directory Server 5.2

    Hi, We were informed by a third party that we can download Sun Java System Directory Server 5.2 SP 1 from the Sun downloads area. However, we couldn't find 5.2 Service Pack 1. We did find that Directory Server 5 2005Q4 (5.2 patch 4) is the only one a

  • Camera profiles in LR (dng or native camera raw?)

    I made some profiles for my Canon 5d and 5dMkII using the Adobe DNG Profile Editor and I now have them in the calibration panel in LR4. Is there any difference between using a .dng file or a .cr2 (Canon Raw) file with these profiles? They both seem t

  • InDesign Type on a Path tool not available in toolbar

    My InDesign 6 does not have a Type on a Path tool. The type tool icon in the tool bar does not have a fly-out option where I should be able to find it. I'm pretty sure it was there at one time. Any suggestions on how to restore this?

  • Batch scheduling of reports

    We want to collect parameters from various users during the day and then schedule the reports to execute at night as batch jobs. Is this possible? I would like to gather the parameters into a temp database and then read the database to populate the r