So I'm running into a problem that seems to be connected to a "bad memory allocation". I can describe this in greater detail when I get time, but right now I want to ask a semi-generic question:
Can rendering the scene too many times cause an error? I'm not using different render targets and it doesn't seem to matter if I allocate or release memory. What is basicly happening is that if I render the scene too many times, the program crashes saying "The application requested the Runtime to terminate in an unusual way". Does this kind of thing happen if the video card runs out of memory?
doing too much in one frame? Memory issue?
Started by starstutter, Nov 27 2008 11:00 PM
7 replies to this topic
#1
Posted 27 November 2008 - 11:00 PM
(\__/)
(='.'=) This is Bunny. Copy and paste bunny into
(")_(") your signature to help him gain world domination.
bunny also wants to fight spam: Click Here Bots!
(='.'=) This is Bunny. Copy and paste bunny into
(")_(") your signature to help him gain world domination.
bunny also wants to fight spam: Click Here Bots!
#2
Posted 27 November 2008 - 11:35 PM
starstutter said:
So I'm running into a problem that seems to be connected to a "bad memory allocation". I can describe this in greater detail when I get time, but right now I want to ask a semi-generic question:
Can rendering the scene too many times cause an error? I'm not using different render targets and it doesn't seem to matter if I allocate or release memory. What is basicly happening is that if I render the scene too many times, the program crashes saying "The application requested the Runtime to terminate in an unusual way". Does this kind of thing happen if the video card runs out of memory?
Can rendering the scene too many times cause an error? I'm not using different render targets and it doesn't seem to matter if I allocate or release memory. What is basicly happening is that if I render the scene too many times, the program crashes saying "The application requested the Runtime to terminate in an unusual way". Does this kind of thing happen if the video card runs out of memory?
So what happens if you run it with the debugger attached?
IF you are using DirectX what are the debug runtime error messages just before the crash?
#3
Posted 28 November 2008 - 12:50 AM
Thanks for the quick reply.
Nothing. Same message and it takes me to a place that tells me there's no source code available.
I am using directX, but it doesn't say anything. Then again I don't really know how to use the DX debugger properly. -_-
Goz said:
So what happens if you run it with the debugger attached?
Quote
IF you are using DirectX what are the debug runtime error messages just before the crash?
(\__/)
(='.'=) This is Bunny. Copy and paste bunny into
(")_(") your signature to help him gain world domination.
bunny also wants to fight spam: Click Here Bots!
(='.'=) This is Bunny. Copy and paste bunny into
(")_(") your signature to help him gain world domination.
bunny also wants to fight spam: Click Here Bots!
#4
Posted 28 November 2008 - 09:27 AM
starstutter said:
Nothing. Same message and it takes me to a place that tells me there's no source code available.
What makes you think it is rendering relatet, btw?
starstutter said:
I am using directX, but it doesn't say anything. Then again I don't really know how to use the DX debugger properly. -_-
"Stupid bug! You go squish now!!" - Homer Simpson
#5
Posted 28 November 2008 - 10:37 AM
starstutter said:
Nothing. Same message and it takes me to a place that tells me there's no source code available.
If there is no source code at the location of the crash, it can still be very interesting to take a look at the assembly code. Is it attempting to execute code at address 0x00000000? Is it reading or writing a null pointer, or 0xFEEEFEEE, 0xBAADF00D, or something alike?
A divide and conquer strategy should work as well. Systematically try doing less and less in one frame till it no longer crashes. Source control can also be of invaluable help. If the crashing only started recently try to find a revision that doesn't crash, and work from there.
Good luck!
#6
Posted 28 November 2008 - 11:41 AM
Nick said:
Make sure the debugger halts as soon as an exception is thrown. Assuming Visual Studio, in the menu go to 'Debug' -> 'Exceptions...' and enable all checkboxes. Now the debugger will inform you as soon as the first exception is thrown, instead of waiting till there is an unhandled exception (causing the application to "terminate in an unusual way").
Thats a REALLY handy little trick.
Cheers :)
#7
Posted 28 November 2008 - 05:40 PM
Ok, embarassing admission. I have no idea how to use the DX debugger, period. -_-
I've never really had to. Can someone point me toward an instruction manual? I found the debugger application, but I've looked on google for about half an hour and can't find how to get the actual debug messages...
EDIT: Woah, ok, I just did some digging around, and multiplying. Figured out I'm rendering the scene 160 times in a single 'for' loop. This is probably going to sound like an absurdley dumb question, but could THAT cause an error? It's all being done on the same render target.
(for those that are wondering, I'm rendering a grid of 20 SH representations with 8 directions, one scene render is required for each direction. Obviously this is a pre-process step. I know i can iterate just a few every frame untill the job is done, but I want to learn why this is happening.
I've never really had to. Can someone point me toward an instruction manual? I found the debugger application, but I've looked on google for about half an hour and can't find how to get the actual debug messages...
EDIT: Woah, ok, I just did some digging around, and multiplying. Figured out I'm rendering the scene 160 times in a single 'for' loop. This is probably going to sound like an absurdley dumb question, but could THAT cause an error? It's all being done on the same render target.
(for those that are wondering, I'm rendering a grid of 20 SH representations with 8 directions, one scene render is required for each direction. Obviously this is a pre-process step. I know i can iterate just a few every frame untill the job is done, but I want to learn why this is happening.
(\__/)
(='.'=) This is Bunny. Copy and paste bunny into
(")_(") your signature to help him gain world domination.
bunny also wants to fight spam: Click Here Bots!
(='.'=) This is Bunny. Copy and paste bunny into
(")_(") your signature to help him gain world domination.
bunny also wants to fight spam: Click Here Bots!
#8
Posted 29 November 2008 - 10:23 AM
starstutter said:
Ok, embarassing admission. I have no idea how to use the DX debugger, period. -_-
I've never really had to. Can someone point me toward an instruction manual? I found the debugger application, but I've looked on google for about half an hour and can't find how to get the actual debug messages...
I've never really had to. Can someone point me toward an instruction manual? I found the debugger application, but I've looked on google for about half an hour and can't find how to get the actual debug messages...
All you do is go into the directx control panel under directx sdk->utils on the start menu. select the direct3d tab and set the radio button to the debug libraries. DirectX will now spam out any errors into the debug output.
Quote
EDIT: Woah, ok, I just did some digging around, and multiplying. Figured out I'm rendering the scene 160 times in a single 'for' loop. This is probably going to sound like an absurdley dumb question, but could THAT cause an error? It's all being done on the same render target.
In a word .. no. Might cause things to run REALLY bloody slowly though ;)
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users












