- Home /
Unity 64 bit support Question
Hi there,
Im have some interesting anomalies while trying to get the web based player working correctly on different types of systems. Let me give you a little background first.
The project im working on is really pushing Unities limits (at least this is what i think, in terms of objects and polygons), its interesting though as to when unity player breaks down and dies running this project. I build and test this project on a 64 bit windows 7 and vista machine, my default browser is google Chrome, it runs perfect in this browser when im testing for errors. When i open it up on a 64 bit machine in Internet Explorer(32 bit IE launcher, 64 bit IE wont even play Unity, keeps telling me to install the plug in, which i do and it asked me over and over), my geometry and most scripts die and then the player crashes most times. After a few loads it sometimes will play for a bit but with many odd things going on. I also have tested it in Firefox, this plays much better than Internet Explorer on the 64 bit machines, but there are some odd glitches where GUI elements wont show up and random crashes here and there. Here is where im confused, this doesnt seem to happen when running on XP or a 32 bit version of windows. The only thing i can think is that since Chrome handles threads differently, it can give the unity player more on demand processing power when in a 64 bit environment. I dont know how to explain the 32 bit thing though, does anyone have any advice they can give or similar experiences? I was under the assumption that Unity supported 64 bit fully.
Sorry for wall o text!
EDIT 1
So i have been looking into this more, at any time the application internet explorer reaches 1.85GB-ish of memory usage, the unity plugin dies. Presumably because it has passed the memory limit. I have now gotten it to crash in chrome as well, same thing, right as i reach the same memory limit, the plugin crashes. Its just that 100mbs of memory chrome can allocate to the plugin because its not sharing the browser and plugin memory under the same thread that it seems to run better. Now i guess i have to find a way to optimize this..
Answer by jonas-echterhoff · Jun 17, 2010 at 04:02 PM
Unity does not actually have a 64 bit plugin yet. Or a 64 bit editor or player for that matter. That is why you cannot load the plugin on IE64. Now, as for IE and Chrome behaving differently, well, that could have many reasons, but since you are suspecting memory use, there is a relevant difference there: Chrome runs each plugin as a separate process, whereas in IE a plugin shares memory with the browser process. That means that within the limits of 32-bit addressing, you have more memory available in chrome then in IE.
In any case, it would be interesting to see if you are actually limited by memory. What does the task manager list for memory usage? In Chrome, you can check memory usage of plugin processes by typing about:memory into the address bar.
Chrome is giving me a reading of about 1.6-1.8gb of memory usage. I know this is close, if not over the cap for most 32 bit programs per thread right?
I believe you should close to 3gb of address space for a 32-bit process. The theortical cap is 4gb but some of that is reserved for GFX mem and other things.
I was under the impression that what you are referring to is the TOTAL memory addressing ability of a 32bit operating system. And there is an even smaller amount that one single application has access to at one time.
Answer by LeeWissmiller · Jun 20, 2012 at 09:06 PM
Unity actually does have a 64-bit plugin that is available, however it is not fully tested. See the following URL: http://blogs.unity3d.com/2011/07/28/unity-3-4-web-player-for-64-bit-windows/
It is not fully tested, however I have seen it work pretty effectively. I am attempting to detect if it is installed as opposed to the standard unity player. Once installed all variables appear to be the same except the location of the plugin.