I have a WinForms application that is running fine under 32 bits, and is terribly slow under 64 bits (both Debug or Release builds). The environmant is .NET Framework 4.0, Windows 10. Occurs with different versions of Visual Studio.
Terribly slow means 1 second for 32 bits, 10 minutes for 64.
I have the feeling that the slowness occurs during the filling of a DataGridView, But I can't be definite.
I have tried using the Profiler, but all the time is spent in [External Code], which is completely opaque.
Have you already met a similar problem ? How can I investigate ?
Related
long story short, I've seen a lot of peoples complaining about unreal being slow at compiling but never had this issue before thinking that my laptop's specs are good enough:
RTX 2060 / i5 9th / 512 SSD 16 RAM
But the last few days things were different, Okay I get that modifying the header files might cause some slow compiling but the longest i've ever seen is around 120 seconds in my console,
but now have a look at my latest log output, just a C++ files that trigger a very simple action
Display: HotReload took 928.2s.
16 Minutes just to compile a small change ? but that's ridiculous.
I'm using Unreal engine 4.27 and Visual studio 2022
and Thanks in advance.
I started using glslDevil to debug my OpenGL engine shaders. When I start the program from inside glslDevil all I get in GLTrace windows is the calls to:
wglGetPixelFormatAttribivARB()
which is printed like 1002 times and after that the debugged app freezes and that is it. No debug info or anything else. Maybe glslDevil doesn't support newer OpenGL versions?
I am using OpenGL 4.2 compatibility mode (but fully programmable pipeline), running Win7 64 bit. The tested software is 32 bit.
wglGetPixelFormatAttribivARB is a function of the Window OpenGL subsystem that retrieves a particular Pixel Format configuration. There can be a lot of different configurations available (several hundreds to thousands) and those 1002 calls to it are most likely caused by a loop that enumerates all of them to find a best match.
Other than giving you that information I can't help you much, though.
I've been trying to research why certain compatibility features differ based on operating system so I can program a patch. I'm using the compatibility settings in the registry for Windows 95 to run a game (that of which the game was produced on) in each system. In Windows XP, the game runs perfectly. None of the scenes lag, and the sound works just as well as the scenes. I'm unsure of how it runs in Windows Vista, but in Windows 7 & 8 the compatibility feature breaks the game. I used a VM to run XP, but that doesn't effect the game's playability; real XP users have tested it. Whenever I play the game using the Win95 setting for compatibility in 7 & 8, everything lags. The music doesn't slow down during gameplay, but the graphics do. During cutscenes, they literally break. Everything pixelates, white noise and static increases volume, and the video lags every two seconds.
I therein tested it in Ubuntu Linux via WINE, and it runs better than it does in XP. I just had to use the alsa sound driver. What changed? If so, is it programmatically fixable? I'm using an amalgamation of C++, Batch and Java.
If it is necessary, the video game is entitled "The Neverhood."
Thanks.
The compatibility feature available in the shell is just scratching the surface of the "Application Compatibility" subject in Windows.
There is a tool called "Microsoft Application Compatibility Toolkit (ACT)" (that exist since Windows XP exist I believe) that has much more to offer, so maybe that can help.
For example here are some compatibility settings for Graphics Control Issues
I currently play "The Neverhood" on Win7 x64 without any visual problem, you are right when I played on Win7 for first time (4 years ago) was a headache and a little tricky to do the correct compatibility flags for each win version but finally I wrote this reg code for Win7 and worked for me while 4 years, sure it will work for you too:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
"C:\\Folder\\nhc.exe"="# WIN95 256COLOR 640X480 DISABLEDWM"
Where "C:\\Folder\\nhc.exe" of course is the path to your Neverhood. (Notice the double backslashes)
that flags means: Change Display color to 256 colors, change display resolution to 640x480, disable Themes service (DWM Service).
I hope this help you.
This may not answer the question directly, but if you want to improve performance of The Neverhood, change the compatibility to run in Windows 95 - then switch all other options ON, except the bottom three. This helps to make the game as fast and smooth as possible.
As the title says, I'm experiencing very poor performance of the printf call in our code. It's used pretty extensivly for debugging purposes and hasn't caused an issue for the most part, but when I brought our code up on my new laptop (17" Macbook Pro 2011) under Windows 7 Professional 64 bit it slows down everything. I profiled the app with VerySleepy and sure enough it is the printf call that is causing the slow down, but I cannot for the life of me figure out why.
My original thought was that I was running a 32 bit app under a 64 bit os, but I'm not the only one in the office running Windows 7 64 bit (not sure the exact version of the others)
Any insight would be greatly appreciated.
EDIT: forgot to mention I'm using Visual Studio 2008 Professional
Make sure you got the latest and greatest graphics processor drivers on your box. If your printfs go to screen then bad drivers will kill performance.
We get an app that was working fine until update Windows from Vista Home Basic to 7 Home Premium. We use mscomm32.ocx to control serial port, but it seems it's not supported for 64 bits OS.
Each time we try to read the port: Thisform.msCommControl.Input We got the following:
OLE IDispath exception code 0 from MSComm: Error reading comm devide
We've made a lot of unsuccessful tests. Does any one know how to fix this problem?
The solution is to use an updated control that is contantly under development so newer Windows are also supported. ADONTEC's SuperCom ActiveX is a MSComm compatible ActiveX that developers use for many years in order to replace the MSComm. It is compatible with 32 and 64 bit of Windows 2000/XP/7/8 and Windows 10. You are almost done in few minutes. In many cases the application runs not only faster but is by far more stable and it also offers by far more functionality. See more info here.
that MSCOMM32.OCX will not work with Windows 7 64 bit machines. However, strange as it may seem I have a VB6 program controlling equipment from a virtual comm port (USB ~ serial converter)
It works fine on windows 8.64 bit machine.
The only thing is that the converter driver had to be modified to run on 64 bit.
If you are using a real com port that doesn't matter.
Try it on a 64 bit machine with Windows 8