General discussion related to SketchUp Pro and Make
Lately i have been working on some special models of stadia. I have been using a fair bit of detail, and the sketchup file size exceeds 10MB, while other models by other users, with more polygons and textures than mine, are 7MB. I have tried purging, but that doesn't work. Is there a way i can reduce the size of my models, as i would really like to upload them to the 3d warehouse.
the main things you can do to reduce file size is to reduce the number of polygons, make sure the textures your using arent too big and to only apply detail where you need to.
reducing the number of polygons isnt too hard, usually just means using fewer segments in circles (to change the number of segments jsut type in th number youd like, while youve got the circle tool selected, but before you draw your circle.)
Now i tihnk aobut it, adding detail is also in this category. Be careful aobut how you add detail to your model you need to be quite selective about what you add, you need to try and work out which details are really going to make a big difference to the look of the model, compared to superflous detail. EG imagine i was modeling a window for an exterior, id probably spend a while making a good frame but wouldnt bother with a really detailed lock, as your not really going to see it.
Textures: this applies mainly if your using photo textures. Anyway, if your using photo textures, the image file is inlcuded as part of the SU modle, so a 3 mb photo will add significantly to the size of the model. Obviously you can shrink the photo down to make it more reasonable.
theres definetly some stuff ive missed, and im sure someone will point it out in a second.
thanks for the input.
I've only used colours, and there are no textures involved. My polygon count is 122000, which isn't high. And the only major details i add are to the facade and the seats.
Are there any components in your file that you no longer use in the model?
Or inactive invisible section planes or....
Maybe you could upload the model for us to have a look at it?
I just did a test.
I created a box and saved it. The file is 7,96 kB.
Next I copied the box. 100 times. That file is 20,6 kB.
Finally I made a component of the box and then Copied/instanced it 100 times. That file is 34,7 kB.
Shouldnt instanced gemetry weight less than just copied?
Last edited by Pixero on Mon Feb 04, 2008 11:53 am, edited 2 times in total.
Surely instancing also needs some "information" (place, rotation, scale, colur etc). Maybe if the geometry is very simple (like a box), keeping for SU this in mind is easier than keeping the info of the instances in mind.
I made a historic reconstruction/visualisation of my town in the 14th century. There are six churches/monasteries (detailed with ribbed Gothic vaults and tracery windows from inside, also this kind of structures in the cloisters), all the town walls, bastions, town gates, streets, some 3D plants and simple houses in there. I used components extensively and the file size is below 7 Mb.
Yes, making components of repeated elements is the major way to save on file size....plus reducing arcs and circles to the very minimum number of faces you can get away with, especially if they are following any kind of sinuous path.
I think Pixero's test is a victim of the economy of scale. As Gaieus suggests, the amount of code involved in making a component of something as simple as a box probably outweighs any saving in the instance versus copy equation. Try it with something more complicated and you get a huge difference.
Here is a link to my original post involving a small sized model containing 100 Corinthian columns....a 200kb file that will bring many systems to their knees.
http://groups.google.com/group/Sketchup ... 71d2ad2648?
Interestingly, there are about twice as many faces in this 200 kb file as there are in the problem file weighing in at over 10 MB.
I've found similar things with image maps. If the resulting file size is anything to go by, you can hugely increase the size of a skp file by merely using some complicated versus simple image mapping. I've occasionally found that SU must be using more code to actually map an image than than it uses to hold the image itself.
So let me get this straight. The file size of my model would be smaller if i did the following?
*Model 1 seat and make it a component.
*Copy/Paste this seat component to make one row, and make that a component
and so forth, opposed to just modelling the seats and not making it a component?
EDIT: Here is a model that shows perfectly my problem. It is 21MB
There is no appreciable saving to be had by nesting components. In other words, making a row of seat components into a further row component won't save much in the way of file size over just leaving the seats separate. If you were including stuff in the row that hadn't previously been made into a components (can't think what) then it would be an advantage.
It's like trying to zip an image file that's already been compressed, such as a tiff file with LZW compression...it just won't squeeze any smaller.
There may be organisational advantages to making a row a component, though...if you have many rows the same length.
As far as I know SketchUp ignores texture resolutions larger than 1024x1024 pixels.
Larger textures will simply be downsampled to that size.
It is a good rule to use textures in pixel sizes like 256x256, 512x512 or 1024x1024 since they "fit" into the computers memory more efficient.
You guy's are great! Thanks for the answer
Oh, one more thing. If you already have a large texture(s) mapped in your su file whats the best way to reduce the size? Is there a ruby script to help facilatate this if there are many oversized images in your model?
And even before that, say you receive a model from someone else, where in sketchup does it show what resoltion the image is currently?
SketchUp somehow reduces the image size to a maximum of 1024 pixels (bot vertically & horizontally) already. You can always export an image from the material browser (i.e. save it out of SU) and then you can see both the file size and resolution.
If you have a model containing a number of large images that you have imported as textures. It is possible to reduce the size of the file very considerably by reloading them.
What you need to do is take the original image files and resample them smaller in an image editor...just resample, don't crop or in any way alter the aspect ratio.
You may want to retain the original hi-res images, so all-in-all it's best to save the amended files under a new but recognisable name.
Then in SU simply select each image in turn in the material browser, open the Edit tab, uncheck the Use texture image box, then immediately check it again and navigate to your new, reduced images. You'll find that all mapping info has been retained.
If...as sometimes happens...the new image seems to paint itself the wrong size, simply click on the arrows icon to the left of the dimensions input. It doesn't look like it's clickable, but it is.
Last edited by Alan Fraser on Mon Feb 11, 2008 4:10 pm, edited 1 time in total.
So, I was just ran across this thread with similar issue with large size model and a lot of 6-8mp images slapped on building facades.
I did a test with some new SU7 features. (Make Texture Unique, and Edit Texture)
Here is a simple building that was 2.6mb with single image on surface.
Step1. - Select texture and make unique, then purge unused. File size now down to 332k without any resolution change.
Step2 - Now I used the "Edit Texture Image" and resized in Photoshop to 512pix wide, and saved with compression of 6. Now file size went down to 108k.
All and all, this is pretty quick, in particular if I skip step 2 and only do step one. Can just jump from one image to the next, don't have to reload anything. Unfortunately it does appear I have to do this one texture at a time. I wish I could select multiple textures at once and make them unique.
Now my workflow for site like this would be to save each building (or each block, depending upon the scale and level of detail) out as a component. Then I would make sure to save a raw component that uses the high res image, that is not yet unique. This way I can still play with the pins to make more accurate later on. then I would make a small component to use in the main site plan.
National Renewable Energy Laboratory
I have learned, in real-time simulation, that OpenGL can only handle texture sizes that start from 64*64 with equivalent steps till 1024*1024.
If you don't do that than it will split the textures itself into these parts, then you end up with a much higher load of texture memory then you would normally use.
I think this should be the same in SU, but I'm not a specialist with textures in SU.
Today, SU can use the maximum texture size supported by your graphics card. It still defaults to 1024 x 1024, but you can tick "Use maximum texture size" in the Preferences>OpenGL. The maximum supported by any hardware is, I think, 4096 x 4096.
When you duplicate a texture by selecting the "make unique texture" option, SU does not create, it seems, a duplicate, but a reduced version of your original image, hence the reduction in file size. I tried it with a 2242 px wide image, and the "unique" copy was 2048.
When looking to optimize texture size and file size, I would guess that pre-resizing the images in Photoshop before importing them to SU would generate better image quality than letting SU do the resampling.
securi adversus homines, securi adversus deos rem difficillimam adsecuti sunt, ut illis ne voto quidem opus esset
I have also found that when I import CAD lines my file size increases quite a bit. So what I do is import them into a new SU file, erase any uwanted lines and flaten to one layer. I then copy it into the SU file I need it in to model. I only use the cad lines as a reference then delete that layer when finished. Others in my office just bring in the cad lines Layers and all an model from those and it creates a huge mess along with making the file size huge.