Joined: Sep 18, 2013
Post Count: 4
Status:
Offline
Adjusting Memory Use
Hello-
I was trying to render a shot and I keep getting the red X and no image. So, I came here and the FAQ's said I need to adjust my memory use.I'm running the current version of the program and Java and have been using it for some time with no problems.
Under Windows, create a text file named SweetHome3D.l4j.ini in the same folder as SweetHome3D.exe, write the max memory Java option in that file, for example -Xmx1024m for 1 GB, then relaunch Sweet Home 3D. For 2 GB and more, install a 64 bits version of Java on your system, download the Jar executable version of Sweet Home 3D and execute the java -Xmx4096m -jar path\to\SweetHome3D-4.1.jar command for 4 GB.
I did this first part and then realized that the memory use is already maxed out for the installer version (which I have). I increased the memory to 2040, since I figured that was under 2 GB. Same problem.
Under Windows, create a text file named SweetHome3D.l4j.ini in the same folder as SweetHome3D.exe, write the max memory Java option in that file, for example -Xmx1024m for 1 GB, then relaunch Sweet Home 3D. For 2 GB and more, install a 64 bits version of Java on your system, download the Jar executable version of Sweet Home 3D and execute the java -Xmx4096m -jar path\to\SweetHome3D-4.1.jar command for 4 GB.
So I tried this second part. But I have problems. Is [java -Xmx4096m -jar path\to\SweetHome3D-4.1.jar] like the txt file I created earlier? Put all of that in a text and save as the [SweetHome3D.l4j.ini]
I downloaded the Jar executable version of SweetHome3D but it crashes every time I try to open it. I installed a 64 bits version of java as well.
I don't understand the red x and I don't understand what to do with that second part of the FAQ. I'm not tech savvy so if someone can dumb it down that would be great. I'm willing to increase the memory size up to 10 GB just to be sure this isn't a problem anymore.
France
Joined: Nov 7, 2005
Post Count: 9426
Status:
Offline
Re: Adjusting Memory Use
You should store the command java -Xmx4096m -jar path\to\SweetHome3D-4.1.jar in a .bat file. For example, name it SweetHome3D-4GB.bat. But if you want it to work, you have to change two things in this command: - the path to the java executable: as you have two versions of Java installed on your computer, you have to tell the system which one you want to use. If you installed Java 64 bit in the standard place, that must be C:\Program Files\Java\jre7\bin. Therefore, you should replace java by "C:\Program Files\Java\jre7\bin\java.exe" (notice the mandatory quotes because there's a space between Program and Files words). - the path\to\ part in front of SweetHome3D-4.1.jar file: if you kept it on your desktop, it must be something like C:\Users\Administrator\Desktop\ or C:\Users\userName\Desktop\ depending on your user's name or whether you're the administrator of the computer. If you stored it in Sweet Home 3D standard install directory, that must be C:\Program Files (x86)\Sweet Home 3D. In that second case, path\to\SweetHome3D-4.1.jar will become "C:\Program Files (x86)\Sweet Home 3D\SweetHome3D-4.1.jar" (notice the mandatory quotes again).
All in all, if you copied SweetHome3D-4.1.jar file in Sweet Home 3D installation directory, your SweetHome3D-4GB.bat will probably contain:
"C:\Program Files\Java\jre7\bin\java.exe" -Xmx4096m -jar "C:\Program Files (x86)\Sweet Home 3D\SweetHome3D-4.1.jar"
Hope you can handle it
----------------------------------------
Emmanuel Puybaret, Sweet Home 3D creator
Joined: Sep 18, 2013
Post Count: 4
Status:
Offline
Re: Adjusting Memory Use
Well I was able to follow those directions nicely, thank you for that. However, I'm still having the problem of not being able to render the pictures.
I did all of the following:
Uninstalled all Java and reinstalled the current Updates all my drivers (just in case) Tried the Jar executable version following your instructions Did a system restore and tried all of that again.
I still got the red x. I was getting this in my current project, and in a new project with a single object. Red X.
I restarted my system (out of frustration), opened my current project, saved it as a new project and magically it rendered my photo.
It is now rendering the one object project as well.
So I'm not sure what's going on. I don't understand the reasoning behind adjusting the memory use in Java, but followed through because that was a posted fix.
I'd hate to lose this project and fear that the size and objects themselves are the problem. It's a shop with many different single objects being placed, it's time consuming (7 months) and tedious but necessary.
I'd like to be able to render within the current project, but fear that I may have to have individual projects for each room and render that way. Although I lose the option of rendering a view from one room into the other.
If there is another solution, I would love to hear it. This program is too wonderful for me to look for another.
France
Joined: Nov 7, 2005
Post Count: 9426
Status:
Offline
Re: Adjusting Memory Use
Could you send me your file? With developers tools, I might be able to understand what's going on and fix your issue.
----------------------------------------
Emmanuel Puybaret, Sweet Home 3D creator
Netherlands
Joined: Sep 26, 2009
Post Count: 4002
Status:
Offline
Re: Adjusting Memory Use
Melissa,
When making renders of a design with multiple rooms, I assume you are using the Virtual Visitor. That means you only look at one room at a time. Make temporarily invisible all objects in the other rooms. This will speed up rendering, and reduce memory use. With a simple UNDO you can make everything visible again.
There may be a few other things that influence rendering: 1 - If you have used trees, try making these invisible and re-try to make a render. Trees are very difficult for SH3D because of all the leaves. 2 - If you have models from sources other than the SH3D libraries, it's possible that one or more models cause problems. Especially some DAE (=Sketchup) models can cause problems, but I've had problems with 3DS models as well. To make sure you don't have a faulty model, delete the top half of your models, and try to make a render. If it works, you may assume that one of those models causes a problem. Use UNDO to restore your models, and start deleting/undeleting your models in groups to find out which model is causing the problem.
Hans
----------------------------------------
Hans
Joined: Sep 18, 2013
Post Count: 4
Status:
Offline
Re: Adjusting Memory Use
Hans, thanks for that information. I had time (out of panic mode of last night) to search the forum for issues. I realize this issue comes up.
This is my first "serious" project and I learned through it. I have a lot of objects and, like I told Puybaret in an email (just in case) I have them all grouped together.
My thinking is that there's simply too much stuff :/
My plan for now unless a real issue comes up is to work on adjoing rooms in a separate file so I can at least get a look through for rendering.
I also read that possibly grouping objects may be the issue, which will be a hassle to ungroup them for me, but if that works then I will do it as well.
I'm nearing the end of this one and starting another, but I've learned enough to not make some mistakes.
France
Joined: Nov 7, 2005
Post Count: 9426
Status:
Offline
Re: Adjusting Memory Use
I looked at your file and had no problem to render it. An other error must happen in you case. Could you describe with more details when and how the error happens?
----------------------------------------
Emmanuel Puybaret, Sweet Home 3D creator
Joined: Sep 18, 2013
Post Count: 4
Status:
Offline
Re: Adjusting Memory Use
It's a simple red X when trying to render. But I've found a work around. As you could tell, there was a lot of items, and since I'm rendering on a laptop I'm guessing it couldn't handle it.
My work around is a "save as" and actually deleting the items I don't need for any particular render. This seems to work well and I've not had any problems since.
Thank you for your quick response, it's nice to see quality programs being actively supported.