[Solved] GeForce GTX 660 Ti not compatible with T3D 1.2?
by Nils Eikelenboom · in Hardware Issues · 11/28/2012 (9:56 am) · 39 replies
[Edit] Solved!
T3D 1.2 keeps on crashing since my new NVIDIA's GeForce GTX 660 Ti. Often these crashes end up in complete system freezes (Windows 7, 64bit)
- I tried all the NVDIA drivers compatible with this card
- Clean-installed drivers and using Guru3D driversweep
- Turned everything off in T3D from AA to postFX etc...
- Turned everything off in NVDIA's program settings
- Updated DirectX 9c, 10 and 11 including June 2010 SDK
- Turned 3 different AV apps completely off
- Running as Admin, fullscreen or in window
- Made sure it's not the keyboard, mouse, gamecontroller etc.
- Made sure it's not any malware
- Happens in all T3D projects, including the FPS example etc.
- Nothing shows up in system stress tests (like Sandra);
Power (600Watt), GPU voltage, GPU temp, RAM temp etc.
Console is showing the message "Device needs to be reset, waiting on device..." and screen turns to the background color. Quickly pressing CTRL-ALT-DEL sometimes helps to restore T3D but often the system completely freezes and only a cold reset is then an option.
Maybe a solution to be found in gfxPCD3D9Device.cpp?
I really need to solve this problem while seriously developing :-S
T3D 1.2 keeps on crashing since my new NVIDIA's GeForce GTX 660 Ti. Often these crashes end up in complete system freezes (Windows 7, 64bit)
- I tried all the NVDIA drivers compatible with this card
- Clean-installed drivers and using Guru3D driversweep
- Turned everything off in T3D from AA to postFX etc...
- Turned everything off in NVDIA's program settings
- Updated DirectX 9c, 10 and 11 including June 2010 SDK
- Turned 3 different AV apps completely off
- Running as Admin, fullscreen or in window
- Made sure it's not the keyboard, mouse, gamecontroller etc.
- Made sure it's not any malware
- Happens in all T3D projects, including the FPS example etc.
- Nothing shows up in system stress tests (like Sandra);
Power (600Watt), GPU voltage, GPU temp, RAM temp etc.
Console is showing the message "Device needs to be reset, waiting on device..." and screen turns to the background color. Quickly pressing CTRL-ALT-DEL sometimes helps to restore T3D but often the system completely freezes and only a cold reset is then an option.
Maybe a solution to be found in gfxPCD3D9Device.cpp?
I really need to solve this problem while seriously developing :-S
//-------------------------- 11/29/2012 -- 01:12:49 -----
Processor Init:
Intel Core 2, ~2.40 Ghz
FPU detected
MMX detected
SSE detected
SSE2 detected
MP detected [4 cores, 4 logical, 1 physical]
Math Init:
Installing Standard C extensions
Installing Assembly extensions
Installing FPU extensions
Installing MMX extensions
Installing SSE extensions
Initializing platform...
Input Init:
keyboard0 input device created.
mouse0 input device created.
joystick0 input device created.
DirectInput enabled.
Done
SFXFMODProvider - FMOD Ex API version: 4.36.0
SFXFMODProvider - FMOD Designer API version: 4.36.0
GFX Init:
Direct 3D (version 9.x) device found
Direct 3D (version 9.x) device found
Null device found
DebugDrawer Enabled!
--------- Loading DIRS ---------
--------- Parsing Arguments ---------
Binding server port to default IP
UDP initialized on port 0
Attempting to create GFX device: NVIDIA GeForce GTX 660 Ti (D3D9)
Device created, setting adapter and enumerating modes
Win32Window::setVideoMode - invoking curtain
Cur. D3DDevice ref count=1
Pix version detected: 3.000000
Vert version detected: 3.000000
Maximum number of simultaneous samplers: 16
Number of simultaneous render targets: 4
Hardware occlusion query detected: Yes
Using Direct3D9Ex: No
WMIVideoInfo: DxDiag initialized
Initializing GFXCardProfiler (D3D9)
o Chipset : 'GeForce GTX 660 Ti'
o Card : 'GeForce GTX 660 Ti'
o Version : '9.18.0013.0568'
- Scanning card capabilities...
GFXCardProfiler (D3D9) - Setting capability 'autoMipMapLevel' to 1.
GFXCardProfiler (D3D9) - Setting capability 'maxTextureWidth' to 8192.
GFXCardProfiler (D3D9) - Setting capability 'maxTextureHeight' to 8192.
GFXCardProfiler (D3D9) - Setting capability 'maxTextureSize' to 8192.
GFXCardProfiler (D3D9) - Setting capability 'lerpDetailBlend' to 1.
GFXCardProfiler (D3D9) - Setting capability 'fourStageDetailBlend' to 1.
- Loading card profiles...
- Loaded card profile core/profile/D3D9.cs
- Loaded card profile core/profile/D3D9.GeForceGTX660Ti.cs
- Loaded card profile core/profile/D3D9.GeForceGTX660Ti.GeForceGTX660Ti.cs
- No card profile core/profile/D3D9.GeForceGTX660Ti.GeForceGTX660Ti.91800130568.cs exists
% - PostFX Manager - Executing core/scripts/client/postFx/default.postfxpreset.cs
% - PostFX Manager - Applying from preset
% - PostFX Manager - PostFX enabled
% - Initialized Core
--------- Initializing Directory: scripts ---------
sfxStartup...
FMOD Device caps:
OUTPUT_FORMAT_PCM8
OUTPUT_FORMAT_PCM16
OUTPUT_FORMAT_PCM24
OUTPUT_FORMAT_PCM32
OUTPUT_FORMAT_PCMFLOAT
SFXSystem::createDevice - created FMOD device 'Luidsprekers (Creative SB X-Fi)'
CAPS_Reverb
CAPS_VoiceManagement
Provider: FMOD
Device: Luidsprekers (Creative SB X-Fi)
Hardware: No
Buffers: 32
--------- Initializing DeadlyMatter: Server Scripts ---------
--------- Initializing DeadlyMatter: Client Scripts ---------
--------- Initializing Lighting Systems ---------
Using Advanced Lighting
--------------
Attempting to set resolution to "1920 1080 true 32 60 4"
Accepted Mode:
--Resolution : 1920 1080
--Full Screen : Yes
--Bits Per Pixel : 32
--Refresh Rate : 60
--FSAA Level : 4
--------------
GFXPCD3D9Device::reset - depthstencil 4d09b20 has 2 ref's
--- Resetting D3D Device ---
Binding server port to default IP
UDP initialized on port 0
GuiCanvas::setContent - Invalid control specified')
% - Initializing Tools
% - Initializing Tools Base
% - Initializing Base Editor
% - Initializing World Editor
% - Initializing Sketch Tool
- Initializing Datablock Editor
% - Initializing Debugger
% - Initializing Decal Editor
% - Initializing Forest Editor
% - Initializing Gui Editor
% - Initializing Material Editor
% - Initializing Mesh Road Editor
% - Initializing Mission Area Editor
% - Initializing Particle Editor
% - Initializing Physics Tools
No physics plugin exists.
% - Initializing River Editor
- Initializing Road and Path Editor
% - Initializing Shape Editor
Engine initialized...
Window focus status changed: focus: 1
AntiAliasing has been disabled; it is not compatible with AdvancedLighting.
Exporting server prefs...
ParticleData(GLWaterExpDust) times[2] < times[1]
ParticleData(RLWaterExpDust) times[2] < times[1]
ParticleData(LightPuff) times[2] < times[1]
*** LOADING MISSION: levels/Crimea_Lab.mis
*** Stage 1 load
*** Stage 2 load
Game -> activatePackages
*** Mission loaded
Connect request from:
Connection established 5688
CADD: 5689 local
*** Sending mission load to client: levels/Crimea_Lab.mis
Mapping string: ServerMessage to index: 0
Mapping string: MsgConnectionError to index: 1
Mapping string: MsgLoadInfo to index: 2
Mapping string: MsgLoadInfoDone to index: 3
Mapping string: MissionStartPhase1 to index: 4
*** New Mission: levels/Crimea_Lab.mis
*** Phase 1: Download Datablocks & Targets
% - PostFX Manager - Executing levels/Crimea_Lab.postfxpreset.cs
% - PostFX Manager - Applying from preset
% - PostFX Manager - PostFX enabled
Mapping string: MissionStartPhase1Ack to index: 0
No material for texture: base.lmale
Mapping string: MissionStartPhase2 to index: 5
*** Phase 2: Download Ghost Objects
Mapping string: MissionStartPhase2Ack to index: 1
Ghost Always objects received.
Mapping string: MissionStartPhase3 to index: 6
Client Replication Startup has Happened!
fxFoliageReplicator - replicated client foliage for 0 objects
*** Phase 3: Mission Lighting
Mission lighting done
Mapping string: MissionStartPhase3Ack to index: 2
Mapping string: MissionStart to index: 7
Mapping string: SyncClock to index: 8
Mapping string: RefreshWeaponHud to index: 9
Mapping string: SetAmmoAmountHud to index: 10
Mapping string: MsgClientJoin to index: 12
Mapping string: Joining DeadlyMatter. to index: 13
Mapping string: Visitor to index: 14
*** Initial Control Object
Activating DirectInput...
joystick0 input device acquired.
DirectInput joystick enabled.
*** Control Object Changed
Mapping string: to index: 15
Mapping string: setNumericalHealthHUD to index: 16
Window focus status changed: focus: 0
Using background sleep time: 200
joystick0 input device unacquired.
DirectInput deactivated.
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device lost and reset wait time exceeded, skipping reset (will retry later)
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device needs to be reset, waiting on device...
GFXPCD3D9Device::beginScene - Device lost and reset wait time exceeded, skipping reset (will retry later)
Activating DirectInput...
joystick0 input device acquired.
Mapping string: Stand to index: 17
GFXPCD3D9Device::beginScene - Device needs to be reset, resetting device...
GFXPCD3D9Device::reset - depthstencil 23a6e00 has 2 ref's
--- Resetting D3D Device ---
Window focus status changed: focus: 1
*** ENDING MISSION
5687 -> deactivatePackages
CDROP: 5689
Exporting server prefs...
Exporting server prefs...
Exporting client prefs
Exporting server prefs
Cur. D3DDevice ref count=1
joystick0 input device unacquired.
#22
12/06/2012 (1:22 pm)
Nils@ I am running the Geforce 560ti with driver v 306.97 and no issues on fresh install ... windows 8//-------------------------- 12/6/2012 -- 13:32:21 -----
Processor Init:
Intel Pentium III Xeon, ~3.40 Ghz
FPU detected
MMX detected
SSE detected
SSE2 detected
MP detected [4 cores, 4 logical, 1 physical]
Math Init:
Installing Standard C extensions
Installing Assembly extensions
Installing FPU extensions
Installing MMX extensions
Installing SSE extensions
Initializing platform...
Input Init:
keyboard0 input device created.
mouse0 input device created.
DirectInput enabled.
Done
SFXALProvider - OpenAL not available.
SFXFMODProvider - Could not locate 'fmodex.dll' or 'fmodexp.dll' - FMOD not available.
GFX Init:
Direct 3D (version 9.x) device found
Null device found
DebugDrawer Enabled!
--------- Loading DIRS ---------
--------- Parsing Arguments ---------
Binding server port to default IP
UDP initialized on port 0
Attempting to create GFX device: NVIDIA GeForce GTX 560 Ti (D3D9)
Device created, setting adapter and enumerating modes
Cur. D3DDevice ref count=1
Pix version detected: 3.000000
Vert version detected: 3.000000
Maximum number of simultaneous samplers: 16
Number of simultaneous render targets: 4
Hardware occlusion query detected: Yes
Using Direct3D9Ex: No
WMIVideoInfo: DxDiag initialized
Initializing GFXCardProfiler (D3D9)
o Chipset : 'GeForce GTX 560 Ti'
o Card : 'GeForce GTX 560 Ti '
o Version : '9.18.0013.0697'
- Scanning card capabilities...
GFXCardProfiler (D3D9) - Setting capability 'autoMipMapLevel' to 1.
GFXCardProfiler (D3D9) - Setting capability 'maxTextureWidth' to 8192.
GFXCardProfiler (D3D9) - Setting capability 'maxTextureHeight' to 8192.
GFXCardProfiler (D3D9) - Setting capability 'maxTextureSize' to 8192.
GFXCardProfiler (D3D9) - Setting capability 'lerpDetailBlend' to 1.
GFXCardProfiler (D3D9) - Setting capability 'fourStageDetailBlend' to 1.
- Loading card profiles...
- Loaded card profile core/profile/D3D9.cs
- No card profile core/profile/D3D9.GeForceGTX560Ti.cs exists
- No card profile core/profile/D3D9.GeForceGTX560Ti.GeForceGTX560Ti.cs exists
- No card profile core/profile/D3D9.GeForceGTX560Ti.GeForceGTX560Ti.91800130697.cs exists
% - PostFX Manager - Executing core/scripts/client/postFx/default.postfxpreset.cs
% - PostFX Manager - Applying from preset
% - PostFX Manager - PostFX enabled
Missing file: core/art/gui/customProfiles.cs!
% - Initialized Core
--------- Initializing Directory: scripts ---------
sfxStartup...
SFXSystem::createDevice - created DirectSound device 'Speakers (VIA High Definition Audio)'
SFXDSDevice::setDistanceModel - 'linear' distance attenuation not supported by DirectSound
Provider: DirectSound
Device: Speakers (VIA High Definition Audio)
Hardware: No
Buffers: 16
--------- Initializing Full: Server Scripts ---------
--------- Initializing Full: Client Scripts ---------
--------- Initializing Lighting Systems ---------
Using Advanced Lighting
--------------
Attempting to set resolution to "1024 768 false 32 60 4"
Accepted Mode:
--Resolution : 1024 768
--Full Screen : No
--Bits Per Pixel : 32
--Refresh Rate : 60
--FSAA Level : 4
--------------
GFXPCD3D9Device::reset - depthstencil 56ef60 has 2 ref's
--- Resetting D3D Device ---
GFXPCD3D9Device::reset - depthstencil 56f140 has 2 ref's
--- Resetting D3D Device ---
art/shapes/weapons/SwarmGun/materials.cs (23): Cannot re-declare object [w_swarmgun].
Binding server port to default IP
UDP initialized on port 0
% - Initializing Tools
% - Initializing Tools Base
% - Initializing Base Editor
% - Initializing World Editor
% - Initializing Sketch Tool
- Initializing Datablock Editor
% - Initializing Debugger
% - Initializing Decal Editor
% - Initializing Forest Editor
% - Initializing Gui Editor
% - Initializing Material Editor
% - Initializing Mesh Road Editor
% - Initializing Mission Area Editor
% - Initializing Particle Editor
% - Initializing Physics Tools
No physics plugin exists.
% - Initializing River Editor
- Initializing Road and Path Editor
% - Initializing Shape Editor
Engine initialized...
#23
a) your Geforce drive version is old ... 568 vs 697
Initializing GFXCardProfiler (D3D9)
o Chipset : 'GeForce GTX 660 Ti'
o Card : 'GeForce GTX 660 Ti'
o Version : '9.18.0013.0568'
Initializing GFXCardProfiler (D3D9)
o Chipset : 'GeForce GTX 560 Ti'
o Card : 'GeForce GTX 560 Ti '
o Version : '9.18.0013.0697'
b) unplug the joystick ... just for giggles
c) also notice you have FMOD installed ? heard of wierd issues with FMOD libraries before ...
SFXFMODProvider - FMOD Ex API version: 4.36.0
SFXFMODProvider - FMOD Designer API version: 4.36.0
vs.
SFXFMODProvider - Could not locate 'fmodex.dll' or 'fmodexp.dll' - FMOD not available.
d) its finding multiple graphics devices ... guess you have multiple displays ? if not, maybe an issue as well.
GFX Init:
Direct 3D (version 9.x) device found
Direct 3D (version 9.x) device found
Null device found
vs
GFX Init:
Direct 3D (version 9.x) device found
Null device found
12/06/2012 (1:53 pm)
A couple things to check ...a) your Geforce drive version is old ... 568 vs 697
Initializing GFXCardProfiler (D3D9)
o Chipset : 'GeForce GTX 660 Ti'
o Card : 'GeForce GTX 660 Ti'
o Version : '9.18.0013.0568'
Initializing GFXCardProfiler (D3D9)
o Chipset : 'GeForce GTX 560 Ti'
o Card : 'GeForce GTX 560 Ti '
o Version : '9.18.0013.0697'
b) unplug the joystick ... just for giggles
c) also notice you have FMOD installed ? heard of wierd issues with FMOD libraries before ...
SFXFMODProvider - FMOD Ex API version: 4.36.0
SFXFMODProvider - FMOD Designer API version: 4.36.0
vs.
SFXFMODProvider - Could not locate 'fmodex.dll' or 'fmodexp.dll' - FMOD not available.
d) its finding multiple graphics devices ... guess you have multiple displays ? if not, maybe an issue as well.
GFX Init:
Direct 3D (version 9.x) device found
Direct 3D (version 9.x) device found
Null device found
vs
GFX Init:
Direct 3D (version 9.x) device found
Null device found
#24
12/08/2012 (8:25 am)
This discussion made me wonder what version I was running. So I used the NVidia tool and I thought it was up to date. But I kept just looking at the top part of the page. It actually had found an update that I did not notice for months. So I installed the latest and it now does match the version @Jeff posted info on. Maybe this is just a update tool/driver issue. I swear I checked on my machine, but I always saw "no updates available" or something similar. But further down that dialog it showed an update it found! Hopefully that is all this is.
#25
A fresh installation of Windows (7 - 64bit), DirectX and Video Drivers (306.97 WHQL) didn't solve the issues. Placing back the old card (GTX 460) gave now surprisingly the same errors. Removing FMOD dll's and the Creative SoundDevice (just to be sure there's no NVIDIA's Sound Drivers conflict), wasn't very fruitful either.
Now another project is asking my immediate attention so I have to leave this be untill Xmas. Thanks for your help guys; it's really appreciated!
12/10/2012 (8:41 pm)
Sorry I couldn't reply so soon... I was in the process of reinstalling Windows. Apparently Microsoft doesn't want us to use Windows 7 anymore as they removed the download links from the Microsoft Store Accounts (I wanted SP1 included) It's because they have a new website they told me on the phone, and just pointed out to 'Google' a bit and find the ISO files that are hosted unofficially by 3rd parties... You can imagine how suprised I was by their response... anyway...A fresh installation of Windows (7 - 64bit), DirectX and Video Drivers (306.97 WHQL) didn't solve the issues. Placing back the old card (GTX 460) gave now surprisingly the same errors. Removing FMOD dll's and the Creative SoundDevice (just to be sure there's no NVIDIA's Sound Drivers conflict), wasn't very fruitful either.
Now another project is asking my immediate attention so I have to leave this be untill Xmas. Thanks for your help guys; it's really appreciated!
#26
My system has 8GB RAM and the GPU has 2GB VRAM. If I remove 2GB of RAM I'm able to run T3D without errors. With 8 GB installed (in random order) however, crashes and errors occur in T3D 1.1 and 1.2 The Motherboard supports up to 16GB and the OS is Win7 64bit.
GFX->getCardProfiler()->getVideoMemoryInMB(); returns a negative value of: -2048. One vissible effect; This results in all "Low" settings when using the auto detect function in the options panel (because %videoMem is less then 0).
Is there a possibility that DX can't return the correct values for RAM and/or VRAM resulting in these issues in T3D?
Saw more signals in this direction, with Unity for example:
forum.unity3d.com/threads/33129-Out-of-memory-with-good-graphics-card
12/13/2012 (12:37 am)
Couldn't resist looking at it ;-)My system has 8GB RAM and the GPU has 2GB VRAM. If I remove 2GB of RAM I'm able to run T3D without errors. With 8 GB installed (in random order) however, crashes and errors occur in T3D 1.1 and 1.2 The Motherboard supports up to 16GB and the OS is Win7 64bit.
GFX->getCardProfiler()->getVideoMemoryInMB(); returns a negative value of: -2048. One vissible effect; This results in all "Low" settings when using the auto detect function in the options panel (because %videoMem is less then 0).
Is there a possibility that DX can't return the correct values for RAM and/or VRAM resulting in these issues in T3D?
Saw more signals in this direction, with Unity for example:
forum.unity3d.com/threads/33129-Out-of-memory-with-good-graphics-card
#27
Interesting find there. I'll poke around and see if anything stands out.
- Dave
12/13/2012 (8:29 am)
@Nils:Interesting find there. I'll poke around and see if anything stands out.
- Dave
#28
The Microsoft System Information (Msinfo32.exe) tool reports an unexpected value for the Display Adapter RAM when the graphics adapter has 2 GB or more of dedicated video memory
So it does appear to be a general issue with using WMI (which is what T3D uses). Now to see if there is a solution...
- Dave
12/13/2012 (8:59 am)
Found this at Microsoft:The Microsoft System Information (Msinfo32.exe) tool reports an unexpected value for the Display Adapter RAM when the graphics adapter has 2 GB or more of dedicated video memory
So it does appear to be a general issue with using WMI (which is what T3D uses). Now to see if there is a solution...
- Dave
#29
Open platformWin32/videoInfo/wmiVideoInfo.cpp. Go to line 544 and change it to read like so:
The comments in the code explain the situation. If this works for you then I'll get it into the T3D repo where it should cover us until 4GB cards are common. At that point we'll need another method from Microsoft to obtain the VRAM value.
- Dave
12/13/2012 (10:07 am)
I believe I have a solution for the negative VRAM value you were seeing. I don't know if this will completely correct your issues, but it certainly isn't a good thing.Open platformWin32/videoInfo/wmiVideoInfo.cpp. Go to line 544 and change it to read like so:
case VT_I4:
{
LONG longVal = v.lVal;
if( queryType == PVI_VRAM )
{
longVal = longVal >> 20; // Convert to megabytes
// While this value is reported as a signed integer, it is possible
// for video cards to have 2GB or more. In those cases the signed
// bit is set and will give us a negative number. Treating this
// as unsigned will allows us to handle video cards with up to
// 4GB of memory. After that we'll need a new solution from Microsoft.
*outValue = String::ToString( (U32)longVal );
}
else
{
*outValue = String::ToString( (S32)longVal );
}
break;
}The comments in the code explain the situation. If this works for you then I'll get it into the T3D repo where it should cover us until 4GB cards are common. At that point we'll need another method from Microsoft to obtain the VRAM value.
- Dave
#30
Curious if its just a 2GB+ memory bug (w/no cure) or actually an issue resulting from running it at the LOW-est settings.
But its weird that removing your system RAM would make any difference ... especially in win7x64
12/13/2012 (10:14 am)
@Nils -- When you say its defaulting to LOW settings because of the memory bug ... can you set it to normal or high and test for the issue?Curious if its just a 2GB+ memory bug (w/no cure) or actually an issue resulting from running it at the LOW-est settings.
But its weird that removing your system RAM would make any difference ... especially in win7x64
#31
12/13/2012 (12:00 pm)
How is system ram related to video ram? This seems weird.
#32
I'm a noob in coding, so sorry if I'm asking a dumb question; but I noticed (correct me if I'm wrong) in PlatformVideoInfo.cpp(60): PVI_VRAM is also used for adapter.vram; and in gfxD3D9CardProfiler.cpp(49): mVideoMemory is getting its value from adapter.vram. Is it possible that the wrong value is still being used somewhere?
@Jeff; Most tests were done with 'High' settings (manually set). 'Low' settings have the effect that it takes much longer for T3D to crash; the same when disabling PostFX's. I think this might have something to do with RAM actual being used by effects like AA.
@Frank; I had in mind that for Win OS the 'Total Available Graphics Memory' is the sum of 'Dedicated Video Memory' (VRAM) and 'Shared System Memory' (RAM), that's why I thought it might have something to do with it. I changed all the DIMM's to make sure it wasn't a faulty one, even I already tested those through and through.
12/13/2012 (11:15 pm)
@Dave; Thanks! Your solution did solve the issue with the autodetect function in the options panel. That part is working like it should now. The issue with 'losing the d3d9 device' is however not resolved (yet). For the 1st time though, the OS responded that nvlddmkm.exe (disp.driver) stopped working.I'm a noob in coding, so sorry if I'm asking a dumb question; but I noticed (correct me if I'm wrong) in PlatformVideoInfo.cpp(60): PVI_VRAM is also used for adapter.vram; and in gfxD3D9CardProfiler.cpp(49): mVideoMemory is getting its value from adapter.vram. Is it possible that the wrong value is still being used somewhere?
@Jeff; Most tests were done with 'High' settings (manually set). 'Low' settings have the effect that it takes much longer for T3D to crash; the same when disabling PostFX's. I think this might have something to do with RAM actual being used by effects like AA.
@Frank; I had in mind that for Win OS the 'Total Available Graphics Memory' is the sum of 'Dedicated Video Memory' (VRAM) and 'Shared System Memory' (RAM), that's why I thought it might have something to do with it. I changed all the DIMM's to make sure it wasn't a faulty one, even I already tested those through and through.
#33
12/14/2012 (12:28 am)
Ah, okay. Can you turn off the onboard video to prevent it from seeing more ram?
#34
12/14/2012 (1:00 pm)
Frank@ Maybe that explains why a 2GB video card somehow is using shared system memory --- the onboard GPU must be visible to the OS.
#35
12/14/2012 (8:40 pm)
Had several ASUS motherboards. Like this one; most of those boards disable onboard VGA when another adapter is plugged in. Doesn't even have settings in the BIOS.
#36
12/15/2012 (10:28 am)
What motherboard is it?
#37
After finding that it was RAM and/or VRAM related I lowered the frequency of the 4x2GB RAM a bit to decrease the presure on the memory controller... and it worked! So it's harware related after all. Don't have a clue why the issues started after plugging in the GTX660.
What I also don't understand is that I was able to run all kinds of stress tests and games without any issues (will check if Tomb Raider is running OK now). Do you think that using Direct3D 9Ex instead of Direct3D 9 for Vista and later, could help it to 'lose the device' less quicker?
Anyway; a lot of new things learned and now better support for +2GB VRAM in T3D thanks to @Dave. I hope I didn't spoil too much of your time but certainly would like to thank you all for your help!
@Frank; P5QL-EPU, an old model (2009) Socket 775 board for Core2. Nothing fancy at all. It was one of the few I could buy half a year ago as replacement of an old P5 board. Time for a new system, but I hoped to pospone this for maybe another half a year
12/16/2012 (8:08 am)
Problem solved!After finding that it was RAM and/or VRAM related I lowered the frequency of the 4x2GB RAM a bit to decrease the presure on the memory controller... and it worked! So it's harware related after all. Don't have a clue why the issues started after plugging in the GTX660.
What I also don't understand is that I was able to run all kinds of stress tests and games without any issues (will check if Tomb Raider is running OK now). Do you think that using Direct3D 9Ex instead of Direct3D 9 for Vista and later, could help it to 'lose the device' less quicker?
Anyway; a lot of new things learned and now better support for +2GB VRAM in T3D thanks to @Dave. I hope I didn't spoil too much of your time but certainly would like to thank you all for your help!
@Frank; P5QL-EPU, an old model (2009) Socket 775 board for Core2. Nothing fancy at all. It was one of the few I could buy half a year ago as replacement of an old P5 board. Time for a new system, but I hoped to pospone this for maybe another half a year
#38
Who knows, maybe your card is just too awesome for your motherboard. BTW, I have been pretty impressed with my Asus Sabertooth 990FX MB. It is for AMD, but they may have a board for an Intel that is comparable when you upgrade. I just got a i7 business machine for my company and I am really impressed how quiet and cool it runs. It has Intel 4000 graphics. I will see how well it runs Torque at some point. I think it will do well. I saw how well Crysis runs on a Intel 3000 GPU and I was quite impressed.
12/16/2012 (9:14 pm)
Awesome!Who knows, maybe your card is just too awesome for your motherboard. BTW, I have been pretty impressed with my Asus Sabertooth 990FX MB. It is for AMD, but they may have a board for an Intel that is comparable when you upgrade. I just got a i7 business machine for my company and I am really impressed how quiet and cool it runs. It has Intel 4000 graphics. I will see how well it runs Torque at some point. I think it will do well. I saw how well Crysis runs on a Intel 3000 GPU and I was quite impressed.
#39
Added this to gfxCardProfile.cpp(92) to see the VRAM in the logs:
12/16/2012 (11:34 pm)
@Frank; I'm certain you're right about the new card; I bought it for for the 2 new displays with dvi now, and for a new machine later. Untill now I was pretty satisfied with the Q6600 cpu. It might seem too slow these days with 4x 2.4GHz but it was good enough for 4 years. Hope I'll find a good buy like this again. Going for the i7 with a matching Asus MB I think. Downside is that the 3x HD are way too slow and need to be replaced as wel. Really looking forward installing everything again ;)Added this to gfxCardProfile.cpp(92) to see the VRAM in the logs:
Con::printf(" o VRAM : '%d MB'", mVideoMemory >> 20);It shows 2047 instead of 2048. I guess the code could be better, no?! ;)
Torque Owner Nils Eikelenboom
Studio DimSum
After running longer tests (counting in hours) I ran into more issues with the Post Effects, but causing to loose the device much less frequently. I had to disable more effects to decrease the amount of errors/crashes even further.
Running in debug mode (thanks for the reminder @Jeff!) I noticed some "The thread 'Win32 Thread' (0x....) has exited with code 1 (0x1)" messages; I couldn't relate it to this issue yet. Further did I saw either FMOD or OpenAL issues; knowing that the 600 series comes with integraded sound (for HDMI displays with sound; but disabled on my system) I maybe should run some more tests having them not included in the project.
At this point I still can't be sure what the problem is untill other 600 / driver users pop up with the same issues.
------------------
A bit off topic; While having these issues did I miss an option to turn off specific post effects depending on the hardware. So I made something quick-n-dirty to handle that using prefs and the "Direct3D 9 Renderer Profile Scripts"
In the D3D9 profile script (in my case D3D9.GeForceGTX660Ti.cs)
In the global script (D3D9.cs) enable what should be 'on' by default.
Then I execute a new script in core/client/ in the 'missionDowload' script at the end of the function 'clientCmdMissionStartPhase1()' (That's after the PostFX has been enabled):
if ($pref::Game::SSAO $= "0") { // turn off SSAO SSAOPostFx.disable(); // turn off SSAO in the PostFX manager $PostFXManager::Settings::EnabledSSAO = "0"; warn("SSAOPostFx is currently not supported and therefore disabled"); } if ($pref::Game::DOF $= "0") { // turn off DOF DOFPostEffect.disable(); // turn off DOF in the PostFX manager $PostFXManager::Settings::EnableDOF = "0"; warn("DOFPostEffect is currently not supported and therefore disabled"); } if ($pref::Game::Lightrays $= "0") { // turn off Lightrays LightRayPostFX.disable(); // turn off Lightrays in the PostFX manager $PostFXManager::Settings::EnableLightRays = "0"; warn("LightRayPostFX is currently not supported and therefore disabled"); } if ($pref::Game::HDR $= "0") { // turn off HDR HDRPostFX.disable(); // turn off HDR in the PostFX manager $PostFXManager::Settings::EnableHDR = "0"; warn("HDRPostFX is currently not supported and therefore disabled"); }Other Post effects could be added, like AA etc...Then also make sure the toggleZoom(); function in default.bind.cs only enables the DOF if it's enabled in the prefs.
I still consider myself a 'noob' in programming so better don't use this unfinished piece of code as a recourse! This will also most likely not work if T3D crashes while enabling the PostFX.