It's like if GPA was making the code running faster ... really strange.
Do you have an idea, is GPA monitor starting the application with special parameters ?
Glad to hear that you believe we've made your code run faster without any changes, but this is not an expected result of using the Intel GPA tools. Possibly something else is going on that needs some additional analysis.
Therefore, can you provide more information on the test methods you used for determining that Intel GPA makes your code run faster?
First of all, please right-click on the Intel GPA Monitor in the notification tray, select "About...", and copy that information here. This will give us some more details about your specific configuration.
Some additional suggestions that end up solving many issues:
- Be sure you have the latest BIOS for your system
- Be sure you have the latest graphics driver for your system
Assuming that you have the latest BIOS and drivers, I would also check bulletin boards for your specific system to see if others have noticed the issue you're reporting with other games/apps -- that is, "flicker" when running in 3D mode.
Also, note whether other games on your system exhibit the issue that you are seeing -- if it's only your game I suspect an issue in your game's coding, but not being familiar with what you are doing I can't make any specific suggestions. If it's all 3d games/apps then it's likely something with your configuration (drivers, BIOS, hardware, etc.) that's causing the issue.
So realize that when Intel GPA runs, it "attaches" a DLL to your process so that it can trap various calls that you are making. Intel GPA then inserts calls to the driver (and other system calls) in order to gather statistics and display them as an overlay on top of your game. So the system/driver calls that we make may indirectly impact the synchronization of your game with the device. Normally there is no noticeable difference in the game (other than a slight reduction in the FPS due to the small overhead), but obviously something else is happening here, which makes me suspect one of the issues mentioned earlier in this reply.
Hope this helps.
A couple more things...
First, I never got an answer back from you on my initial request for info on your performance measurement techniques. Please let me know what you are using to measure your performance versus Intel GPA's -- if it's FPS, how did you measure this both with and without Intel GPA running?
Secondly, are you using "automatic" or "explicit" mode to control the 3D buffers? Swap modes to see if you still get the same flicker effect. And are you using quad-buffered mode, and if so check your code for errors as well.
Lastly, can we get a copy of the code that exhibits this issue? This might help us understand the interaction with Intel GPA (especially if you claim a speedup in performance).
As you've indicated that you've found the issue as to why you thought that Intel GPA was causing your game code to run faster (you believe that this is an internal issue with your code that you've since resolved).
As to why Intel GPA seems to "fix" your synchronization issues, a quick poll of the development team didn't come up with any specific suggestions for how to fix your problem. Also, we don't have a 3DVision system in-house to be able to help look at this specific problem.
Therefore, at this time your best bet is to try the 3DVision developer forums -- maybe someone else doing similar development can help resolve your synchronization issue.
ps -> As I mentioned before, Intel GPA will make calls to the driver to obtain metrics data at least once per frame. It's unclear how the interaction between the various components (graphics device, driver, OS, and Intel GPA) fixes the syncronization problem when running with Intel GPA.