Search Home Members Contacts
About Us
Products
Downloads
Community
Support
Pages: [1]
  Print  
Author Topic: Black screen on rendering  (Read 3903 times)
harikumar001
Customers
Community Member
*****
Posts: 65


« on: March 01, 2011, 11:35:56 AM »

Hey guys,

I was implementing the Save/Load feature for my application. User can add any number of meshes into the scene and save the project. I am storing the name, path and other information related to the meshes in the scene to a file which the can be loaded back later using the Load option.

During load, my application creates new meshes like before at the exact same locations. Everything works as expected for small scenes. I tried saving a project with around 10 heavy meshes. That worked. But when I click on the load option to reload it, first of all it takes a lot of time to load all the meshes (understandable), but sometimes the whole display goes blank (can't even see windows). And a few seconds later I get this error from Windows that says Nvidia driver just recovered from a problem and rendering stops. I am using Windows 7.

This does not happen always and happens only with heavy scenes. I tried troubleshooting and found that my meshes are loaded successfully into memory. It is when I call the RenderAllMeshes(false) function that this error pops up.

I located this line in the debug file:
03-01-2011 21:23:31 | RESOURCE MANAGER : Height of render window is 0 !

Also on PCs with XP, when the scene gets really heavy and I try to walk through the scene, system reboots.
Any pointers are much appreciated.

Regards
Logged
beyonder
Moderator
Community Member
*****
Posts: 470


« Reply #1 on: March 01, 2011, 12:32:12 PM »

Well... you shouldn't be using any reall hi-poly models for video games. Characters should have a max of 8,000 polys if that. That's where I draw the line these days.

I load my models before I go to the RenderLoop. Sounds like your thread is fighting to load the models and render at the same time.

When I load a new level I will stop my render loop and restart it after loading in my assets.


I'll stop my loop by passing DoLoop=False and then I have an if statement that catches if I am loading a new level. Otherwise it releases my assets and ends the game.

Code:
Do While DoLoop = True

Render stuff...

Loop

If ChangingLevel = True then LoadNewLevel: Exit Sub


ReleaseStuff
End





« Last Edit: March 01, 2011, 12:40:55 PM by beyonder » Logged

"And what I saw scared me to the depths of my miserable soul. It was true, it was all a sham, it ain't real." - The Thirteenth Floor
harikumar001
Customers
Community Member
*****
Posts: 65


« Reply #2 on: March 02, 2011, 03:51:32 AM »

Thanks beyonder, but I am loading my meshes before I enter the main loop.
While loading I am disabling the rendering process and start it once my models are loaded.
Logged
TecnoBacon
Customers
Community Member
*****
Posts: 305


WWW
« Reply #3 on: March 02, 2011, 09:01:53 AM »

I had that, was the cards design EVGA GTX295 (dual NVIDIA gpus). I switched to ATI and never run into this. IN FACT, I have an EVGA (evgRMA that is) gtx dual sli hydro cooled card that I will never use again due to EVGA's choice of 'lack of quality' over 'hacking out product'. Your meshes are too big for it to cache all of them, try the small ones first, as you start loading the large ones watch the cards mem usage, mine would jump 4 times on one mesh just before crashing (EVGA says its an NVIDIA SLI problem, they are good at passing the buck though).
Logged

www.TecnoBacon.com - the other side of the Bacon family! 3D Development, Music and more.
Pages: [1]
  Print  
 
Jump to:  

Powered by SMF 1.1.3 | SMF © 2006-2007, Simple Machines LLC
Seo4Smf v0.2 © Webmaster's Talks