Latest NVIDIA 285.58 WHQL + Quadcore + Borderlands == Deadlock Sun, Nov 13. 2011
Hi Folks,
Problem
I downladed the latest NVIDIA drivers for my 8800GT. Everything worked fine until I tried to start Borderlands.
I was pretty busy lately - as always - and wanted to relax for an hour or so.
It hung at the splash screen. Damn. It really hung. CPU 0%, NO IO being done. Nothing.
Argh...
I attached my VS.NET 2010 debugger to that process and took a glimpse.

Hmm.. nothing interesting. WaitForSingleObject means basically waiting for ownership of a Mutex or Win32 Kernel Event. A deadlock? Seems like some optimizations in the latest NVIDIA driver exposed a vulnerability of the game code towards deadlocks. It's probably not NVIDIAs fault ..
Anyway, the other threads didn't provide any useful info. Actually, I had no time. I just wanted to take one or two hours off and relax now.. So i decided to work-around it.
This is my quick hack
I decided to forcibly serialize / "single-thread" the execution..
I simply started Borderlands from Steam, as soon as the process started to appear in the process manager, I changed the affinity for that process to one physical CPU
This won't make the execution single-threaded, but would reduce the probability of the dead lock because there is no hardware parallelism anymore wrt CPU cores.

You have to be quick
If the splash screen appears, it's too late ... .

... Then the game started normally, it passed the splash screen ... I immediately activated all cores again.
If you have a SSD this may be difficult :-/ Anyway I could continue this way.
And off I went blasting off some psychos
REMEMBER: If it took more than one shot, you weren't using a Jakobs
Problem
I downladed the latest NVIDIA drivers for my 8800GT. Everything worked fine until I tried to start Borderlands.
I was pretty busy lately - as always - and wanted to relax for an hour or so.
It hung at the splash screen. Damn. It really hung. CPU 0%, NO IO being done. Nothing.
Argh...
I attached my VS.NET 2010 debugger to that process and took a glimpse.
Hmm.. nothing interesting. WaitForSingleObject means basically waiting for ownership of a Mutex or Win32 Kernel Event. A deadlock? Seems like some optimizations in the latest NVIDIA driver exposed a vulnerability of the game code towards deadlocks. It's probably not NVIDIAs fault ..
Anyway, the other threads didn't provide any useful info. Actually, I had no time. I just wanted to take one or two hours off and relax now.. So i decided to work-around it.
This is my quick hack
I decided to forcibly serialize / "single-thread" the execution..

I simply started Borderlands from Steam, as soon as the process started to appear in the process manager, I changed the affinity for that process to one physical CPU

You have to be quick

... Then the game started normally, it passed the splash screen ... I immediately activated all cores again.
If you have a SSD this may be difficult :-/ Anyway I could continue this way.
And off I went blasting off some psychos

REMEMBER: If it took more than one shot, you weren't using a Jakobs
Posted by Amanjit Singh Gill
in C++, Mostly Harmless, Windows programming Comments: (0)
Trackbacks: (0)
Vym (View your Mind) Mindmapping tool for Windows Sat, Oct 15. 2011
Hi Folks,
I wanted to do some mindmapping on Windows and liked vym. No official Windows port available. The one I found wasn't able to save my file to the Desktop (I didn't read the known issues - no spaces in path allowed), so I had to use Freemind which is just the typical huge, clunky java "App". I bit the bullet and created 2 diagrams (needed for my parallel programming course at fernuni hagen), anyway after studying I went to work, came back home in the evening and just downloaded the sources and built a version with the current Qt SDK. Some minor problems with a QDBus dependency, fixing stuff while compiling. 10 Minutes.
Then I converted my 2 diagrams and erased Freemind from my HD.
Problem. Solved.
A page with further info and a download can be found here (including GPL sourcecode):
Vym (View your mind) for Windows
Have fun!
I wanted to do some mindmapping on Windows and liked vym. No official Windows port available. The one I found wasn't able to save my file to the Desktop (I didn't read the known issues - no spaces in path allowed), so I had to use Freemind which is just the typical huge, clunky java "App". I bit the bullet and created 2 diagrams (needed for my parallel programming course at fernuni hagen), anyway after studying I went to work, came back home in the evening and just downloaded the sources and built a version with the current Qt SDK. Some minor problems with a QDBus dependency, fixing stuff while compiling. 10 Minutes.
Then I converted my 2 diagrams and erased Freemind from my HD.

Problem. Solved.
A page with further info and a download can be found here (including GPL sourcecode):
Vym (View your mind) for Windows
Have fun!
"Prepare ship for ludicrous speed" ... the /Ox compiler flag Thu, Jun 30. 2011
Reading the Codeproject daily newsletter I found out about a cool C++ article on Codeproject about Image Manipulation using modern C++ features for abstractions that theoretically could be optimized away by the compiler - aka zero cost abstraction..
Anyway I noticed the VC10 code was significantly slower than the g++ code.
So in a comment, I asked about using the /Ox compiler flag (I don't have access to VC10, the last thing I bought was VC7.1)...
... And charts have to be redrawn now, I guess..
(Yeah, I know /O2 still is the preferred choice for most projects...)
Anyway,
C++ 4TW
PS: Do you Remember Spaceballs?.
Anyway I noticed the VC10 code was significantly slower than the g++ code.
So in a comment, I asked about using the /Ox compiler flag (I don't have access to VC10, the last thing I bought was VC7.1)...
... And charts have to be redrawn now, I guess..

(Yeah, I know /O2 still is the preferred choice for most projects...)
Anyway,
C++ 4TW
PS: Do you Remember Spaceballs?.
Is the latest Version of Acrobat Reader X leaking GDI Resources? Thu, Feb 24. 2011
Just wo-n-d-er-ing

I also witnessed the classic symptoms of GDI resource exhaution: greyed-out Icons, Areas, Text etc.
I used RAII to solve that problem when I was doing Win32 C++ Programming.
Over and out
I also witnessed the classic symptoms of GDI resource exhaution: greyed-out Icons, Areas, Text etc.
I used RAII to solve that problem when I was doing Win32 C++ Programming.
Over and out
Another cool MFC extension Fri, Aug 27. 2010
Nice.. Another cool GUI contribution... available at the gold old/modern friend of Win32 and .NET Programmers, Codeproject.

I can here you say:
MFC? Are you kidding me?
Jep, MFC is still going strong. Of course, one could argue that programming to the metal with something as WTL has a bit more API elegancy. Also MFC has this modern Ribbon API.
And the whole binary is 808kb, damn it!
I can here you say:
MFC? Are you kidding me?
Jep, MFC is still going strong. Of course, one could argue that programming to the metal with something as WTL has a bit more API elegancy. Also MFC has this modern Ribbon API.
And the whole binary is 808kb, damn it!
« previous page
(Page 1 of 1, totaling 5 entries)
next page »