http://forum.celestialmatters.org/

Releasing a 64 bit version of any celestia.Sci/C1.6 code
http://forum.celestialmatters.org/viewtopic.php?f=11&t=908
Page 1 of 2

Author:  sjohn [ Sat, 15-07-17, 15:33 GMT ]
Post subject:  Releasing a 64 bit version of any celestia.Sci/C1.6 code

Sadly Celestia 1.6 crashes after loading a few 8k textures. I think it is because the 32 bit architecture and the RAM memory limit.

Nobody can or wants to correct this problem.

It would be a HUGE help, if the celestia.Sci development team would be so kind to release a 64 bit version of ANY Celestia 1.6+ code.

Without of course any improvements or special features.

I think Celestia has and should continue to have a tremendous effect on the future, even if it is not used by millions.

A 64 bit 1.6 version would be a giant help for many enthusiasts.

Author:  sjohn [ Sat, 15-07-17, 17:19 GMT ]
Post subject:  Re: Releasing a 64 bit version of any celestia.Sci/C1.6 code

I mean a compiled 64 bit Windows/Linux version, not source code of course...

Author:  t00fri [ Sat, 15-07-17, 18:05 GMT ]
Post subject:  Re: Releasing a 64 bit version of any celestia.Sci/C1.6 code

sjohn wrote:
Sadly Celestia 1.6 crashes after loading a few 8k textures. I think it is because the 32 bit architecture and the RAM memory limit.
...
It would be a HUGE help, if the celestia.Sci development team would be so kind to release a 64 bit version of ANY Celestia 1.6+ code.


The limitation rather resides with your graphics card. What graphics do you use, actually? I guess the max. texture size will be 8k (8192)! That's the point where you should use my texture tools and convert your textures into VT tiles...

Let me illustrate:
After starting your Celestia executable, go to Help->OpenGl Info and look what is displayed as Maximum texture size.

As an illustration, compare next the OpenGL Infos for two of my computers: one using Windows 10 with a Nvidia 940MX external GPU, while the other one has only Intel HD3000 onboard graphics. In both cases, the 64bit celestia.Sci code is identical.

Intel HD3000
[Click on image for better readability]
Attachment:
8k_MaxTexSize_HD3000.jpg
8k_MaxTexSize_HD3000.jpg [ 77.05 KiB | Viewed 4115 times ]


Here you see that despite my 64bit celestia.Sci code, the max. texture size is also limited to 8192kB, while with the Nvidia 940MX graphics, 16k textures are allowed!

Nvidia 940MX
[Click on image for better readability]
Attachment:
16k_MaxTexSize_Win10_NV940mx.jpg
16k_MaxTexSize_Win10_NV940mx.jpg [ 118.72 KiB | Viewed 4115 times ]


In my many years of developing Celestia and celestia.Sci I have often experienced crashes associated with texture sizes exceeding the given maximum size. Using my texture tools, I recently produced an interesting set of VT tiles for the major celestial bodies. All had the same 16k resolution and proper normal map data were available. I can tell you there is absolute stability and zooming etc is extremely smooth. For the normal maps I used the dedicated dxt5nm format, while the surface textures are all in dxt3. I am thinking about releasing such a set together with celestia.Sci. Note that the DXT format is natively supported by the GPU and thus very fast / economic!

Fridger

Author:  t00fri [ Sat, 15-07-17, 18:12 GMT ]
Post subject:  Re: Releasing a 64 bit version of any celestia.Sci/C1.6 code

sjohn wrote:
I mean a compiled 64 bit Windows/Linux version, not source code of course...

I am surprised. I read on the Celestia forum site that "dbrant" has ported the Celestia code to 64bit???

Fridger

Author:  t00fri [ Sat, 15-07-17, 19:12 GMT ]
Post subject:  Re: Releasing a 64 bit version of any celestia.Sci/C1.6 code

@sjohn,

just to illustrate the high quality of these 16k VT-based textures, here is a view around the Indian subcontinent and a big crater view on Mars:

[by all means click on images and then hit the fullscreen key shortcut (F11 on FF)]
Attachment:
india_16k.jpg
india_16k.jpg [ 226.35 KiB | Viewed 4110 times ]


Attachment:
mars_16k.jpg
mars_16k.jpg [ 257.9 KiB | Viewed 4110 times ]



Fridger

Author:  sjohn [ Sat, 15-07-17, 19:18 GMT ]
Post subject:  Re: Releasing a 64 bit version of any celestia.Sci/C1.6 code

Not the VT textures are the problem. I created my own 32k VT texture without problem. I can use any VT texture.

I can use any 8k texture without VT too.

That's not the issue here.

The problem is loading a LOT of 8k non-VT textures into Celestia 1.6 all at once.

I have Intel Core i5 8GB RAM + AMD Radeon HD 7700 8GB PC + 64 bit Windows 10 Pro.

When the crash occurs the paging file is cca. 3.5 GB. Celestia 1.6 is crashing for example at 1437MB RAM.

RAM data is building very slowly (with maybe 30s-1 minute "screen freezes"), but CPU usage is never above 50%.

And suddenly Celestia crashes, but not before loading a LOT of textures.

I talked about it on the other forum with Selden who wrote that a 2GB RAM usage is kind of a maximum for Celestia 1.6.

So in my opinion not the 8k texture usage is the problem in itself, but rather the fact that a lot of planets are loading their 8k textures (bump, surface, specular) all at once (like in the TRAPPIST-1 system, when I have 2 or 3 alternative planets for every real one on a close parallel orbit).

Celestia 1.6 simply cannot use more memory, not even with a 4GB patch.

I don't really see how can it be a graphic card problem...but please explain it...

Author:  sjohn [ Sat, 15-07-17, 19:27 GMT ]
Post subject:  Re: Releasing a 64 bit version of any celestia.Sci/C1.6 code

I use only DXT1 format textures for surface and specular textures and PNG for bump maps.

Author:  sjohn [ Sat, 15-07-17, 19:29 GMT ]
Post subject:  Re: Releasing a 64 bit version of any celestia.Sci/C1.6 code

An average 8k texture file is 10-40 MB if I remember correctly.

Author:  sjohn [ Sat, 15-07-17, 19:40 GMT ]
Post subject:  Re: Releasing a 64 bit version of any celestia.Sci/C1.6 code

All my textures are 8192x4096 pixels...

Author:  t00fri [ Sat, 15-07-17, 19:43 GMT ]
Post subject:  Re: Releasing a 64 bit version of any celestia.Sci/C1.6 code

sjohn,

what does your Help->OpenGL Info designate as Maximum texture size??
If it's 8k you should not be surprised if the loading of several 8k sized textures produces a crash. If it's 16k you stand a better chance.

My experience is moreover that Linux produces far less of such ad hoc crashes than Windows. The memory administration of the two OS is certainly different.

With textures not exceeding 8k, I don't generate any crashes in any OS.

Fridger

Author:  t00fri [ Sat, 15-07-17, 19:50 GMT ]
Post subject:  Re: Releasing a 64 bit version of any celestia.Sci/C1.6 code

sjohn wrote:
I use only DXT1 format textures for surface and specular textures and PNG for bump maps.


DXT1 has a better compression, but quality is less. Years ago I did extensive studies showing that DXT5nm format is perfectly fine for up to 64k normal maps and wins over (lossless) PNG in terms of speed (and storage size) by a big margin...My tools moreover optimize the dxt5nm rendering and project the normal map correctly on spheres rather than incorrectly on plane surfaces!

Fridger

Author:  sjohn [ Sat, 15-07-17, 20:09 GMT ]
Post subject:  Re: Releasing a 64 bit version of any celestia.Sci/C1.6 code

@Fridger, it is 16384 max. texture size and max. cube map size too.

OK, I tell you another instance of a "usual" crash:

I start to open 8k planets from "Favourites" in a row. After 10-15 planets Celestia crashes. Just like that.

My estimate is that cca. 800-1000MB graphic data crashes Celestia.

Author:  sjohn [ Sat, 15-07-17, 20:29 GMT ]
Post subject:  Re: Releasing a 64 bit version of any celestia.Sci/C1.6 code

Whoa, there is really a 64 bit version... :o

https://apps.alexell.ru/celestia/bin/x64/

Well, sorry for the bothering...and thanks for the advice... :)

Author:  t00fri [ Sat, 15-07-17, 20:36 GMT ]
Post subject:  Re: Releasing a 64 bit version of any celestia.Sci/C1.6 code

sjohn wrote:
@Fridger, it is 16384 max. texture size and max. cube map size too.

OK that sounds good enough...
Quote:

OK, I tell you another instance of a "usual" crash:

I start to open 8k planets from "Favourites" in a row. After 10-15 planets Celestia crashes. Just like that.

My estimate is that cca. 800-1000MB graphic data crashes Celestia.

It seems now that there should be another reason for the crashes. What I would do is to start up a debugger. Did you get any complaints in the "shaders.log" file? The latter is clearly the next stage of investigation.

Good luck,
Fridger

Author:  sjohn [ Sat, 15-07-17, 20:49 GMT ]
Post subject:  Re: Releasing a 64 bit version of any celestia.Sci/C1.6 code

Thanks!

The last error in the log:

Error compiling vertex shader:
Vertex shader failed to compile with the following errors:
ERROR: 0:52: error(#143) Undeclared identifier: diffTexCoord
ERROR: 0:52: error(#216) Vector field selection out of range "y"
ERROR: 0:55: error(#143) Undeclared identifier: diffTexCoord
ERROR: 0:55: error(#216) Vector field selection out of range "y"
ERROR: 0:58: error(#143) Undeclared identifier: diffTexCoord
ERROR: 0:58: error(#216) Vector field selection out of range "y"
ERROR: error(#273) 6 compilation errors. No code generated

???

Page 1 of 2 All times are UTC
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/