Mac vs Windows texture handling

Have a question, suggestion, or comment about Aleph One's features and functionality (Lua, MML, the engine itself, etc)? Post such topics here.

Mac vs Windows texture handling

Post Oct 8th '18, 23:38

Are there any significant differences between the way Mac and Windows builds of Aleph One handle MIP maps, or textured in general?

I ask because I'm hearing reports from Windows users with much more RAM than my piddling 4GB 2011 MBP saying they're getting out-of-memory errors running Eternal, and suspicion seems to be on the textures, with people asking for lower-res version of the textures, since choosing lower resolution in preferences doesn't seem to help. The textures are all DDS with MIP maps embedded, though, so it seems like that should help?

In any case, I don't understand why much more beefy Windows machines are having difficulty with something my crappy ancient Mac is handling fine, and wondering if AO might be doing something differently between the platforms, something that might also (if less noticeably) be affecting other things as well.
User avatar

Pfhorrest
California

Post Oct 9th '18, 00:34

Windows effectively can’t run out of memory, so that’s not the problem. I think Aleph One does still display an out-of-memory error if a map fails to load for some obscure reason. If you have a code that would help.

I doubt it has anything to do with textures. Especially if lowering the texture resolution doesn’t make a difference.
User avatar

treellama
Pittsburgh

Post Oct 9th '18, 00:47

FWIW, disabling the texture plugin causes Eternal to run fine in Win7, at least last time I tried. However, it seems like since a recent Windows update, A1 uses a lot more memory. It’s also possible that it was a recent Avast update – I haven’t isolated the problem. All I know is that Eternal alpha 5 used to work fine on my Dell, and now it doesn’t run at all. None of the betas have ever worked on my Dell, though I seem to recall that swapping in the MML file from alpha 5 made it work. I don’t have an explanation for this. I can’t duplicate the issue now, because this solution no longer works either.

The A1 log file isn’t much help, either; it’s just blank whenever the game quits. And the game hasn’t given me an error message in a few months either; I don’t recall what it used to tell me. I’ll search the Eternal thread now and see if I can find some more info from a few months ago.

ETA: This seems to have been the error message.

fatal alert (ID=-1): Aleph One has used up all available RAM and cannot continue. Trying giving it more memory, switching to a lower bit-depth or turning off sounds and try again. (csalerts_sdl.cpp:209)


There was a bit about it here. AFAIK Legacy is still experiencing the same errors, though may have been able to work around it by disabling some options. I don’t recall, but there was discussion about in the Discord yesterday or thereabouts.

I also wrote something about it to John in an email I sent a few months ago, and I’ll go look for that now.

…here’s what I seem to have written:

Have you gotten the beta release 1 to work properly, BTW? I can’t get the HD textures to load. Everything else seems to work OK, but IDK if everyone’s having that problem. I also haven’t tested it yet on my Mac.

and:

http://eternal.bungie.org/development.php has all public releases of Eternal going back to the earliest releases. You may have to use the alpha 5 graphics scripts though, with the corrections I mentioned in an earlier email, depending upon whether the beta 1 scripts work for you.

I thought I’d written about that in more detail somewhere, but I can’t find anything about it now. The bit I’d written about the script was:

Spoiler:
You’ll also need to change at least one and possibly two lines in the .mml to get the game to look as currently intended. The one you’ll have to change for certain is in Scripts/general.mml:

Code: Select all
   <player stripped="150" oxygen_replenish="1" light="1">


Change this to:

Code: Select all
   <player stripped="150" oxygen_replenish="1" light="0.375">


Without this change, the miner’s light will completely overpower the differential shading in the maps, except at large distances.

The one you may have to change is in Scripts/xhd-walls.mml:

Code: Select all
      <texture coll="19" bitmap="121" normal_image="Eternal-Data/Shapes/Walls/Set3-Jjaro/5Magenta/28.dds"
         offset_image="Eternal-Data/Shapes/Walls/Set3-Jjaro/xBumpMaps/28.dds"
         offset_image="Eternal-Data/Shapes/Walls/Set3-Jjaro/xBumpMaps/28.dds"
         glow_image="Eternal-Data/Shapes/Walls/Set3-Jjaro/xGlowMaps/jjaro-glow.png"
         glow_mask="Eternal-Data/Shapes/Walls/Set3-Jjaro/xGlowMaps/28glow_mask.png"/>


Delete the third line of this excerpt so that it reads:

Code: Select all
      <texture coll="19" bitmap="121" normal_image="Eternal-Data/Shapes/Walls/Set3-Jjaro/5Magenta/28.dds"
         offset_image="Eternal-Data/Shapes/Walls/Set3-Jjaro/xBumpMaps/28.dds"
         glow_image="Eternal-Data/Shapes/Walls/Set3-Jjaro/xGlowMaps/jjaro-glow.png"
         glow_mask="Eternal-Data/Shapes/Walls/Set3-Jjaro/xGlowMaps/28glow_mask.png"/>


Without this, the Human and Pfhor collections, as well as the last few textures of the Jjaro collection, may not load properly. I’m the only one who’s reported this problem, but it persists on both my Windows and my Mac setups.

Other than those three things, it should run fine as is.


this was what I was doing to fix the problem, but somewhere along the line it stopped working, even accounting for the fact that the file locations have been moved since I wrote that out.
People should not be afraid of their governments. Governments should be afraid of their people.

“The trouble is that we have a bad habit, encouraged by pedants and sophisticates, of considering happiness as something rather stupid. Only pain is intellectual, only evil interesting. This is the treason of the artist: a refusal to admit the banality of evil and the terrible boredom of pain. If you can’t lick ’em, join ’em. If it hurts, repeat it. But to praise despair is to condemn delight, to embrace violence is to lose hold of everything else. We have almost lost hold; we can no longer describe happy man, nor make any celebration of joy.” —Ursula K. Le Guin, “The Ones Who Walk Away from Omelas”

Fool's Gold · Last.fm · Marathon Chronicles · Marathon Eternal 1.2 · YouTube Vidmaster’s Challenge
User avatar

The Man
Sarasota, FL

Post Oct 9th '18, 01:27

To affirm that it is windows-specific, I never have this problem on my 2007 Linux machine with 4 GB RAM and only 256 MB of VRAM. HD textures kill my framerate and make other types of crashes more likely, but it will run with them and I never get that particular error.
User avatar

ravenshining
Hawai'i

Post Oct 9th '18, 12:54

I looked in the code and there are several locations that an "out of memory" error can occur, none of which really have anything to do with running out of memory. Most are a corrupt map file, a couple have to do with a recording or chapter screens, and one to do with allocating the HUD buffer.

Unfortunately there is no way to narrow it down more specifically; if you can create a simple map/MML combo that recreates the problem that would help fix it.
User avatar

treellama
Pittsburgh

Post Oct 9th '18, 14:44

Any advice on how to create such a combo from a plugin as massive as Eternal's textures?
People should not be afraid of their governments. Governments should be afraid of their people.

“The trouble is that we have a bad habit, encouraged by pedants and sophisticates, of considering happiness as something rather stupid. Only pain is intellectual, only evil interesting. This is the treason of the artist: a refusal to admit the banality of evil and the terrible boredom of pain. If you can’t lick ’em, join ’em. If it hurts, repeat it. But to praise despair is to condemn delight, to embrace violence is to lose hold of everything else. We have almost lost hold; we can no longer describe happy man, nor make any celebration of joy.” —Ursula K. Le Guin, “The Ones Who Walk Away from Omelas”

Fool's Gold · Last.fm · Marathon Chronicles · Marathon Eternal 1.2 · YouTube Vidmaster’s Challenge
User avatar

The Man
Sarasota, FL

Post Oct 9th '18, 16:54

Not really, but a git tag and some instructions to reproduce might get us there.
User avatar

treellama
Pittsburgh

Post Oct 10th '18, 01:55

I’m assuming “git tags” refers to a feature of Github that I don’t fully understand. I feel far too exhausted right now to have any hope of figuring out what that is from their borderline incomprehensible documentation. Of course, I could also be misidentifying what you’re referring to. Again, it’s late.

As for instructions, given that Eternal beta 3 is some 800 MB even as a .zip archive, I’ll just upload the .mml and .xml files from the offending plugin as an attachment. Obviously none of the .dds files being referenced will actually exist unless you’ve downloaded the scenario, but at least you’ll be able to see the code. If there’s something you can suggest to break this down into more digestible chunks, I will work on that over the next few days. One thing that I suspect might help narrow down the problem is to temporarily make separate plugins for each wall collection and see which ones lead to the “out of memory” error, but I’d like confirmation that that’s actually a good idea before I go spending time on it, as I’ve got work, class, and other real-life commitments to keep abreast of, too.
Attachments
Eternal Walls MML.zip
(8.95 KiB) Downloaded 9 times
People should not be afraid of their governments. Governments should be afraid of their people.

“The trouble is that we have a bad habit, encouraged by pedants and sophisticates, of considering happiness as something rather stupid. Only pain is intellectual, only evil interesting. This is the treason of the artist: a refusal to admit the banality of evil and the terrible boredom of pain. If you can’t lick ’em, join ’em. If it hurts, repeat it. But to praise despair is to condemn delight, to embrace violence is to lose hold of everything else. We have almost lost hold; we can no longer describe happy man, nor make any celebration of joy.” —Ursula K. Le Guin, “The Ones Who Walk Away from Omelas”

Fool's Gold · Last.fm · Marathon Chronicles · Marathon Eternal 1.2 · YouTube Vidmaster’s Challenge
User avatar

The Man
Sarasota, FL

Post Oct 10th '18, 12:28

A git tag (actually, a hash would be enough) just says what to download.

By instructions to reproduce I mean: download this particular thing, start this level, observe crash.
User avatar

treellama
Pittsburgh

Post Oct 10th '18, 17:51

Ah. I don’t think most of this stuff is on Github; the only thing up there is the map AFAIK.

As far as instructions: it pretty must just crashes whenever you try to load any level, at least on my setup, so there’s nothing much to reproduce. As of a few months ago I was running Aleph One 1.2.1 (2015/06/20), Windows 7 SP 1, an AMD Radeon HD 6450, and aticfx64.dll 8.850.0.0; the driver may have been updated to a newer version but everything else should still be the same.
People should not be afraid of their governments. Governments should be afraid of their people.

“The trouble is that we have a bad habit, encouraged by pedants and sophisticates, of considering happiness as something rather stupid. Only pain is intellectual, only evil interesting. This is the treason of the artist: a refusal to admit the banality of evil and the terrible boredom of pain. If you can’t lick ’em, join ’em. If it hurts, repeat it. But to praise despair is to condemn delight, to embrace violence is to lose hold of everything else. We have almost lost hold; we can no longer describe happy man, nor make any celebration of joy.” —Ursula K. Le Guin, “The Ones Who Walk Away from Omelas”

Fool's Gold · Last.fm · Marathon Chronicles · Marathon Eternal 1.2 · YouTube Vidmaster’s Challenge
User avatar

The Man
Sarasota, FL

Post Oct 10th '18, 18:26

I don't have your setup is the problem; and if it's not on github, how do I get it?
User avatar

treellama
Pittsburgh

Post Oct 10th '18, 18:38

Yeah IDK how you'd even duplicate the hardware unless you owned it, but I’m not sure if that’s the important problem. You can get the most recent release at http://eternal.bungie.org/development.php. The map has been updated since then but that’s not important for debugging.
People should not be afraid of their governments. Governments should be afraid of their people.

“The trouble is that we have a bad habit, encouraged by pedants and sophisticates, of considering happiness as something rather stupid. Only pain is intellectual, only evil interesting. This is the treason of the artist: a refusal to admit the banality of evil and the terrible boredom of pain. If you can’t lick ’em, join ’em. If it hurts, repeat it. But to praise despair is to condemn delight, to embrace violence is to lose hold of everything else. We have almost lost hold; we can no longer describe happy man, nor make any celebration of joy.” —Ursula K. Le Guin, “The Ones Who Walk Away from Omelas”

Fool's Gold · Last.fm · Marathon Chronicles · Marathon Eternal 1.2 · YouTube Vidmaster’s Challenge
User avatar

The Man
Sarasota, FL

Post Oct 10th '18, 18:52

I mainly meant your plugin setup. Thanks for the link! This is like pulling teeth :(
User avatar

treellama
Pittsburgh

Post Oct 10th '18, 20:49

Oh, I see what you mean. On my Win7 box, I'm just using the default plugins that ship with Eternal. Disabling the HD textures enables everything to load, but with the HD textures enabled, it crashes after a bit.

or did you mean Windows plugins? In that case that's going to be a longer list that'll have to wait until I return in a few hours.
People should not be afraid of their governments. Governments should be afraid of their people.

“The trouble is that we have a bad habit, encouraged by pedants and sophisticates, of considering happiness as something rather stupid. Only pain is intellectual, only evil interesting. This is the treason of the artist: a refusal to admit the banality of evil and the terrible boredom of pain. If you can’t lick ’em, join ’em. If it hurts, repeat it. But to praise despair is to condemn delight, to embrace violence is to lose hold of everything else. We have almost lost hold; we can no longer describe happy man, nor make any celebration of joy.” —Ursula K. Le Guin, “The Ones Who Walk Away from Omelas”

Fool's Gold · Last.fm · Marathon Chronicles · Marathon Eternal 1.2 · YouTube Vidmaster’s Challenge
User avatar

The Man
Sarasota, FL

Post Oct 10th '18, 22:55

LegacyTyphoon says on the discord that alpha 5 (which does not have the textures in a plugin, just as MML) behaves the same for him as the latest betas. I'll see if I can get him to come comment here.
User avatar

Pfhorrest
California

Post Oct 10th '18, 23:06

While using AO 1.3b2 the Eternal build without the plugins (a5) loads now without the out of memory error that was shown before. However, it now stutters every few steps or whenever I open a door or turn to look at anything. I got it working by turning the entire texture pack off.
User avatar

LegacyTyphoon

Post Oct 13th '18, 22:29

Ryoko was asking how my Dell handled the level I used from Starlight X, so I opened the Chronicles version of the level (“In the Shadow of Your Pale Companion”) and I got the same kind of crash as I’ve gotten in Eternal the last few months. This is new. I’ve run the Chronicles version of his level on my Dell before without too much trouble. It might’ve been introduced when I added bump maps to all the textures and bloom to many of them; I don’t recall if I’ve tested the map since then. I’ll have to try disabling bump maps and bloom and see if that works.

Anyway, I no longer think the problem is related to Eternal’s scripts at all. I suspect that the Windows version of A1 is really bad about managing large numbers of textures with bump maps. I don’t know what the culprit is or how to solve it, and I haven’t tested with the new 1.3 beta yet - maybe the problem doesn’t even exist there.

The Infinity version of Ryoko’s map (“Monument to All Your Sins”/“The Monolith”) runs fine on my Dell, albeit slowly in places. Note that both versions incorporate several texture sets.

ETA: The Chronicles version still crashes if I disable bump maps, 3D effects, and bloom. It crashes more rapidly, but it still crashes. Software mode works.
People should not be afraid of their governments. Governments should be afraid of their people.

“The trouble is that we have a bad habit, encouraged by pedants and sophisticates, of considering happiness as something rather stupid. Only pain is intellectual, only evil interesting. This is the treason of the artist: a refusal to admit the banality of evil and the terrible boredom of pain. If you can’t lick ’em, join ’em. If it hurts, repeat it. But to praise despair is to condemn delight, to embrace violence is to lose hold of everything else. We have almost lost hold; we can no longer describe happy man, nor make any celebration of joy.” —Ursula K. Le Guin, “The Ones Who Walk Away from Omelas”

Fool's Gold · Last.fm · Marathon Chronicles · Marathon Eternal 1.2 · YouTube Vidmaster’s Challenge
User avatar

The Man
Sarasota, FL

Post Oct 15th '18, 01:00

Loading Eternal levels works fine for me in Windows with the latest Aleph One beta. Bump mapping and bloom are all on. Now, I have a considerably high spec (virtual) machine. But, see if it works better for you with the latest Aleph One beta?
User avatar

treellama
Pittsburgh

Post Dec 10th '18, 21:31

I forgot to reply here for some reason. 1.3 beta seems to work fine for me but Legacy is still experiencing slowdowns. If you have any further suggestions I’m all ears.

ETA: I do seem to be getting some stuttering, too, actually. I didn’t have bloom or bump maps enabled before; maybe that’s why it was smooth for me before. It could be something in Windows’ implementation of one or the other that’s causing the problem(s). I’ll test more and get back to you.
People should not be afraid of their governments. Governments should be afraid of their people.

“The trouble is that we have a bad habit, encouraged by pedants and sophisticates, of considering happiness as something rather stupid. Only pain is intellectual, only evil interesting. This is the treason of the artist: a refusal to admit the banality of evil and the terrible boredom of pain. If you can’t lick ’em, join ’em. If it hurts, repeat it. But to praise despair is to condemn delight, to embrace violence is to lose hold of everything else. We have almost lost hold; we can no longer describe happy man, nor make any celebration of joy.” —Ursula K. Le Guin, “The Ones Who Walk Away from Omelas”

Fool's Gold · Last.fm · Marathon Chronicles · Marathon Eternal 1.2 · YouTube Vidmaster’s Challenge
User avatar

The Man
Sarasota, FL

Post Dec 11th '18, 00:15

Bloom will definitely cause it to run slower, since it has to do a second rendering pass. Consequently, if you want Eternal to run faster, turn it off. It works fine for the original trilogy, but some Eternal maps are pathologically complex.
User avatar

treellama
Pittsburgh

Post Dec 11th '18, 00:27

I think part of the problem is also that most of Eternal’s textures are 1024x1024 and a few are 2048x2048. Few of the textures included with Infinity are more than 512x512.

Turning off bloom helps a bit, but the stuttering is still a problem; it’s just less extreme. The stuttering music persists even with the HD textures off completely.
People should not be afraid of their governments. Governments should be afraid of their people.

“The trouble is that we have a bad habit, encouraged by pedants and sophisticates, of considering happiness as something rather stupid. Only pain is intellectual, only evil interesting. This is the treason of the artist: a refusal to admit the banality of evil and the terrible boredom of pain. If you can’t lick ’em, join ’em. If it hurts, repeat it. But to praise despair is to condemn delight, to embrace violence is to lose hold of everything else. We have almost lost hold; we can no longer describe happy man, nor make any celebration of joy.” —Ursula K. Le Guin, “The Ones Who Walk Away from Omelas”

Fool's Gold · Last.fm · Marathon Chronicles · Marathon Eternal 1.2 · YouTube Vidmaster’s Challenge
User avatar

The Man
Sarasota, FL

Post Dec 11th '18, 06:00

treellama wrote:a second rendering pass

If you're only doing 2 passes, you're obviously not taking bloom very seriously.
User avatar

Wrkncacnter

Post Dec 11th '18, 17:06

The Man wrote:I think part of the problem is also that most of Eternal’s textures are 1024x1024 and a few are 2048x2048. Few of the textures included with Infinity are more than 512x512.

It's easy to turn these down in the texture options. Generally, though, high resolution textures shouldn't cause stuttering on any modern video card. The things that slow down Aleph One are map geometry (which is CPU-limited) or a combination of high output resolution / slow video card (less common).
User avatar

treellama
Pittsburgh

Post Dec 11th '18, 18:54

I’ve tried that, but it seems to have little, if any, effect on performance. The geometry doesn’t seem to be what’s causing the problem; disabling the texture plug-in eliminates the problem, for the most part. (However, the music still stutters even when the game is paused, which leads me to suspect it’s not map geometry at all.) And Chronicles has a couple of super-complicated levels such as “Return to Yggdrasill” that don’t stutter at all, though the frame rate does drop on the outside looking in. However, the kind of stuttering that mars Eternal doesn’t show up at all. (Note that this texture set is comprised almost exclusively of 256x256 textures with bump maps.) This is even true with the 208-texture Pfhor set, which is comprised of about ⅓ 1024x1024 textures, ⅓ 512x512 textures, and ⅓ 256x256 textures. I’ve played “Dimensional Bleedthrough” on my Dell several times with no problems. (All four media textures in this level have been remapped to refer to the Pfhor set, and the splash effects appear in the Items collection, so it’s only loading one texture collection and one scenery collection.)
People should not be afraid of their governments. Governments should be afraid of their people.

“The trouble is that we have a bad habit, encouraged by pedants and sophisticates, of considering happiness as something rather stupid. Only pain is intellectual, only evil interesting. This is the treason of the artist: a refusal to admit the banality of evil and the terrible boredom of pain. If you can’t lick ’em, join ’em. If it hurts, repeat it. But to praise despair is to condemn delight, to embrace violence is to lose hold of everything else. We have almost lost hold; we can no longer describe happy man, nor make any celebration of joy.” —Ursula K. Le Guin, “The Ones Who Walk Away from Omelas”

Fool's Gold · Last.fm · Marathon Chronicles · Marathon Eternal 1.2 · YouTube Vidmaster’s Challenge
User avatar

The Man
Sarasota, FL


Return to Aleph One Discussion



Who is online

Users browsing this forum: No registered users