Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Announcements
Welcome to the Intel Community. If you get an answer you like, please mark it as an Accepted Solution to help others. Thank you!

Infinite loop of screen refreshing

michael_green
Beginner
97 Views

Greetings All,

I have a Fortran GIS application that under certain circumstances displays a huge amount of geographical information on screen. A data structure contains all the information about what to display and at the appropriate time (WM_PAINT) the program goes through an i = 1,p loop to display it.

If the user zooms out by a linear factor of 2, say, 4 times as much information must be displayed, etc, so it's easy to see how quickly the amount of info to be displayed becomes huge.

Here's the problem: when the amount of info is very large, the display gets about half way through, then hangs briefly, then starts again, and this process goes on indefinitely. I do not think this is a trivial bug in the program code because both the Debug and Release builds work perfectly as long as I run them from Visual Studio, and outside Visual Studio it works fine as long as I zoom in a bit first. Furthermore, if I place a message box in the 1,p loop, doing nothing more than requiring me to click OK, there is no problem - it's just tedious having to click OK up to 30 times.

I presume I have some sort of memory management problem here but I do not know where to begin looking. Any insights or suggestions would be most welcome.

Many thanks

Mike

0 Kudos
2 Replies
jimdempseyatthecove
Black Belt
97 Views

This sounds like you have an issue of a different DLL being loaded when run outside of the Visual Studio IDE.

Try starting a CMD window from the same Intel Parallel Studio version Command Prompt, then run your program from there. If this works, you may have a different version of the Intel Redistributables installed. You can correct this by either editing your environment variables, uninstalling other version/reinstalling compatible version, or launching your application via a shortcut that runs a batch that sets the correct value to an appropriate environment variable.

Jim Dempsey

michael_green
Beginner
97 Views

Got it in one! Thank you so much. I would never have thought of looking there but when I checked I found my "production" version of the program was using DLLs dating from 2007 (CVF stuff), so I didn't even need to run your suggested tests, I just replaced the DLLs with 2018 versions.

Many thanks again.

Mike

Reply