How Is The New Official LAA Patch Working Out?

Post » Mon May 28, 2012 6:39 am

No crashes on my part..
User avatar
Prisca Lacour
 
Posts: 3375
Joined: Thu Mar 15, 2007 9:25 am

Post » Mon May 28, 2012 9:24 pm

I'm still trying to figure out what else they could have done, beyond setting the LAA flag, to make the game more efficient. I don't think they taken enough time yet to clean up the memory leaks but if anyone notices an improvement there as well that would be good to know.

They probably had "set size" variables... Those are actually slower on new computers. EG, using BIT, BYTE, INT... The fastest variables are now SingleFLOAT, and UnsignedLONG, and SignedLONG (32-bit allocation does not require translation to a smaller size, which has a high overhead on new 32/64 bit systems, running on 64-bit processors.)

Back in the day, to conserve memory, or make things run faster, you used BYTE for any value that only had 0-255 for a range, because it was faster, and consumed less memory. Now, it consumes more memory, as it is actually a BYTE stored inside an UnsignedLONG, but flagged for conversion. Also being checked for roll-over value... 256 = 0, 257 = 1... to make it "safe" as a BYTE. *Unless you specifically craft machine-code, or allocate memory for variables directly. Something windows doesn't play nice with anymore. It likes virtual allocations that it can move at will.

I am sure they had to change all pointers and variables to larger 32-bit native and 64-bit universals, thus, resulting in slight speed gains.

(The problem with LAA, is if your variables are optimized for only 2GB of pointer address values, and you get sent a 3GB or 4GB pointer value... the value won't fit in the smaller optimized variable, and thus, would not read correctly. Though most of the variables were likely "safe" to use... I am sure that not all of them were "safe", and needed to have limits and checking in place, to make sure nothing went out-of-range.)
User avatar
Sabrina garzotto
 
Posts: 3384
Joined: Fri Dec 29, 2006 4:58 pm

Post » Mon May 28, 2012 11:36 am

to OP: great ! this update is wonderful, fix the micro-stutter in the interiors and i can start playing this game (yes I stopped a week after launch and moved on because this game is obviously not done).
User avatar
k a t e
 
Posts: 3378
Joined: Fri Jan 19, 2007 9:00 am

Post » Mon May 28, 2012 2:32 pm

I wonder if it helps laptops with 4+GB of memory but having a CPU/GPU integrated stuff and 64bit W7. As my understanding goes, it would allow more memory to be used by the graphics chip, since it's shared with the system memory and the more you got the better?
User avatar
Steph
 
Posts: 3469
Joined: Sun Nov 19, 2006 7:44 am

Post » Mon May 28, 2012 9:09 am

I am having a weird problem with stuttering when I looking around in first-person, interiors only, I switch to 3rd person and its fine and if I'm outside its fine too.
Its not like lag stuttering, more like the "camera" actually shaking, doesn't happen when i look straight up or side to side but when I start looking diagonally it happens...bit annoying but playable
User avatar
willow
 
Posts: 3414
Joined: Wed Jul 26, 2006 9:43 pm

Post » Mon May 28, 2012 1:32 pm

JD, thanks for that. I was sure there was more to it than our own quick flag set fix when the game was released but it's been decades since I first failed to teach myself C (although I did once know my around 6502 machine and assembly language, still have my old reverse polish notation calculator!)

In other words, if Beth did it right [no comment], then the new patch should show improved efficiency well beyond the flag set and 4gb mod even with memory fragmentation.

I hope they do the same thing for FONV, FO3 and Oblivion (although the latter two are highly unlikely.)
User avatar
Kortniie Dumont
 
Posts: 3428
Joined: Wed Jan 10, 2007 7:50 pm

Post » Mon May 28, 2012 10:28 am

They probably had "set size" variables... Those are actually slower on new computers. EG, using BIT, BYTE, INT... The fastest variables are now SingleFLOAT, and UnsignedLONG, and SignedLONG (32-bit allocation does not require translation to a smaller size, which has a high overhead on new 32/64 bit systems, running on 64-bit processors.)

Back in the day, to conserve memory, or make things run faster, you used BYTE for any value that only had 0-255 for a range, because it was faster, and consumed less memory. Now, it consumes more memory, as it is actually a BYTE stored inside an UnsignedLONG, but flagged for conversion. Also being checked for roll-over value... 256 = 0, 257 = 1... to make it "safe" as a BYTE. *Unless you specifically craft machine-code, or allocate memory for variables directly. Something windows doesn't play nice with anymore. It likes virtual allocations that it can move at will.

I am sure they had to change all pointers and variables to larger 32-bit native and 64-bit universals, thus, resulting in slight speed gains.

(The problem with LAA, is if your variables are optimized for only 2GB of pointer address values, and you get sent a 3GB or 4GB pointer value... the value won't fit in the smaller optimized variable, and thus, would not read correctly. Though most of the variables were likely "safe" to use... I am sure that not all of them were "safe", and needed to have limits and checking in place, to make sure nothing went out-of-range.)
That post is simply full of wrong.

First, on a sane 32-bit system all pointers are 32-bit, and that's it (well, ok, ARM is 32-bit but acts like 16-bit in its Thumb mode). However, some older software did stupid things like casting pointers into signed integer types or otherwise did arithmetic with them that assumed the base values would never exceed 231-1, so as a precaution Windows limits the address space of any 32-bit application to 31-bit by default.

You don't "optimize" for the 31-bitness; LAA is as simple as setting a linker flag. Trying to handle data as anything that doesn't align to a byte and fill it is the domain of file compressors, not executable code. Especially something like memory addresses that any real program uses about every 10 instructions.

Also, if you want bytes/chars/int8_t's or whatever to be stored as bytes, it hardly requires "crafting machine-code". Just tell the compiler to pack the struct it's in. It will generate code for correct handling, even if some types of arithmetic on it will be slower when it doesn't align to a word boundary.
User avatar
Tiffany Carter
 
Posts: 3454
Joined: Wed Jul 19, 2006 4:05 am

Post » Mon May 28, 2012 6:46 pm

They probably had "set size" variables... Those are actually slower on new computers. EG, using BIT, BYTE, INT... The fastest variables are now SingleFLOAT, and UnsignedLONG, and SignedLONG (32-bit allocation does not require translation to a smaller size, which has a high overhead on new 32/64 bit systems, running on 64-bit processors.)

Back in the day, to conserve memory, or make things run faster, you used BYTE for any value that only had 0-255 for a range, because it was faster, and consumed less memory. Now, it consumes more memory, as it is actually a BYTE stored inside an UnsignedLONG, but flagged for conversion. Also being checked for roll-over value... 256 = 0, 257 = 1... to make it "safe" as a BYTE. *Unless you specifically craft machine-code, or allocate memory for variables directly. Something windows doesn't play nice with anymore. It likes virtual allocations that it can move at will.

I am sure they had to change all pointers and variables to larger 32-bit native and 64-bit universals, thus, resulting in slight speed gains.

(The problem with LAA, is if your variables are optimized for only 2GB of pointer address values, and you get sent a 3GB or 4GB pointer value... the value won't fit in the smaller optimized variable, and thus, would not read correctly. Though most of the variables were likely "safe" to use... I am sure that not all of them were "safe", and needed to have limits and checking in place, to make sure nothing went out-of-range.)

that sounded like some matrix [censored]...."which lead you inexorably here."
User avatar
JAY
 
Posts: 3433
Joined: Fri Sep 14, 2007 6:17 am

Post » Mon May 28, 2012 8:00 am

that sounded like some matrix [censored]...."which lead you inexorably here."

It's basic programming :/
User avatar
Lucie H
 
Posts: 3276
Joined: Tue Mar 13, 2007 11:46 pm

Post » Mon May 28, 2012 3:59 pm

I've played 3.5 hrs without a CTD, so I'm very happy with the patch. No graphical anomalies either (purple textures, missing faces/walls/clothes). So far so good. Thank you Bethesda.
User avatar
Avril Louise
 
Posts: 3408
Joined: Thu Jun 15, 2006 10:37 pm

Post » Mon May 28, 2012 8:19 am

First, on a sane 32-bit system all pointers are 32-bit, and that's it (well, ok, ARM is 32-bit but acts like 16-bit in its Thumb mode).
Address sizes aren't always the same as the CPU's native word size, e.g. 8-bit CPUs usually had 16-bit addressing, the Motorola 68000 and IBM S/3x0 were 32 bits but originally had 24 bit addressing, the 16 bit PDP-11 had 24 bit addressing, I can't even remember the 36 bit PDP-10's address size but I recall it had no real concept of byte addressing and so on. I understand that the Intel 32 bit range had a 36 bit addressing mode but I'm not sure if that was a proposal or if it actually made it into production.
User avatar
Rik Douglas
 
Posts: 3385
Joined: Sat Jul 07, 2007 1:40 pm

Post » Mon May 28, 2012 3:23 pm

Address sizes aren't always the same as the CPU's native word size, e.g. 8-bit CPUs usually had 16-bit addressing, the Motorola 68000 and IBM S/3x0 were 32 bits but originally had 24 bit addressing, the 16 bit PDP-11 had 24 bit addressing, I can't even remember the 36 bit PDP-10's address size but I recall it had no real concept of byte addressing and so on. I understand that the Intel 32 bit range had a 36 bit addressing mode but I'm not sure if that was a proposal or if it actually made it into production.
Hey, I said sane 32-bit :)

The 36-bit Intel addressing mode is also called PAE, or the Physical Address Extension, and adds 4 bits to the page tables. It's not commonly supported since it requires specialized coding for any single application to benefit from it, even if the system's full address space is extended to 236 bytes or 64 GiB.
User avatar
Robert Jackson
 
Posts: 3385
Joined: Tue Nov 20, 2007 12:39 am

Post » Mon May 28, 2012 6:14 am

Thanks Bethesda. I was having CTD issues prior to this patch. I played for 3+ hours and I had no CTD issues. It's looking good so far.
User avatar
WYatt REed
 
Posts: 3409
Joined: Mon Jun 18, 2007 3:06 pm

Post » Mon May 28, 2012 12:08 pm

Hey, I said sane 32-bit :smile:
I like the M68K and IBM S/3x0 architectures! At least they have the correct endianness. :hehe:

The 36-bit Intel addressing mode is also called PAE, or the Physical Address Extension, and adds 4 bits to the page tables. It's not commonly supported since it requires specialized coding for any single application to benefit from it, even if the system's full address space is extended to 236 bytes or 64 GiB.
It's a shame it wasn't more widely used. That said, who knows what its performance implications would've been...
User avatar
Gemma Archer
 
Posts: 3492
Joined: Sun Jul 16, 2006 12:02 am

Post » Mon May 28, 2012 2:36 pm

My framerate has taken a nosedive with the new patch.... I'm not sure what the problem is, it stutters really bad even in interiors. Before it was smooth as silk.

Mine too :( I could run on ultra without to much problems, only some bad fps dips in towns. Now, on ultra, I have a hard time getting 50 fps. Most of the times it lags and is always going up and down. Pretty freaking annoying, dunno why it's doing that after that patch. After all I was using the 4gb mode without any problems.
User avatar
Theodore Walling
 
Posts: 3420
Joined: Sat Jun 02, 2007 12:48 pm

Post » Mon May 28, 2012 9:53 pm

^^^^^^^^^what...lol

..tried the new Patch..1.3.what ever. and no crash..Except....Got my very first COE I reloaded to test, and did get a clean exit the second time..(only weird thing was ..when leaving the first time I Mis-clicked on :exit to menu, did cancel of menu and then clicked "exit to Desktop") then got the COE.
User avatar
jeremey wisor
 
Posts: 3458
Joined: Mon Oct 22, 2007 5:30 pm

Post » Mon May 28, 2012 7:22 am

Well, just played my first game since last patch... and CTD'd after about 20 minutes. Worked fine with the 4gb fix. Maybe just a fluke. Maybe mods. I'm gonna wait til the next big patch and then reinstall the game for a clean start. Fingers crossed.
User avatar
Annika Marziniak
 
Posts: 3416
Joined: Wed Apr 18, 2007 6:22 am

Post » Mon May 28, 2012 9:18 pm

Steam installed 1.3.10.0. I didn't double click skyrim4gb.exe as before, just the Steam play button. Just as smooth as when I was using Wench's LAA fix. In 5 hours, no CTDs, no missing textures, no weird shadow problems, good AA+AF graphics with 60fps in most places. I run no mods or ini tweaks except for the FOV change. I am totally happy. I am close to the playing hours that folks are reporting with Jorrvaskr exit CTD problems. Fingers crossed.
User avatar
Logan Greenwood
 
Posts: 3416
Joined: Mon Jul 30, 2007 5:41 pm

Post » Mon May 28, 2012 1:35 pm

How's it working out? Not worth a damn. After the 1.3.10 patch, it CTD's on me after 2 minutes EVERY time!!!!!!! Mother fu$!ers!!!!!!!!! I had NO TROUBLE using the 4GB LAA mod, and I find it appalling (yet unsurprising) that the modding community is actually more in tune with how to fix this F'ng game than the developers are.

Thanks for absolutely nothing, gamesas!!
User avatar
Alisia Lisha
 
Posts: 3480
Joined: Tue Dec 05, 2006 8:52 pm

Post » Mon May 28, 2012 1:55 pm

So the general consensus seems to be that the new patch improves the game as long as you completely remove the old 4gb mod (if you used it.) The new SKSE is out today as well - http://skse.silverlock.org/ - so that's the next thing to check.
User avatar
Dean Ashcroft
 
Posts: 3566
Joined: Wed Jul 25, 2007 1:20 am

Post » Mon May 28, 2012 9:24 am

The official LAA patch works the same as the Skyrim 4GB mod did. No CTDs at all on Win 7 x64 and ultra settings. No stuttering, bad textures or loss of fps either.

I wanted to update this post. Do these settings (which supposedly allocated more physical RAM under the LAA option) still work/do anything?

iMinMemoryPageSize=100000
iMaxMemoryPageSize=5000000
iMaxAllocatedMemoryBytes=1800000000
User avatar
victoria gillis
 
Posts: 3329
Joined: Wed Jan 10, 2007 7:50 pm

Post » Mon May 28, 2012 8:02 am

Sadly I am having a huge drop in FPS on certain places. For example at the Windhelm docks, it totally drops from 60-10-60. It is annoying.
User avatar
vicki kitterman
 
Posts: 3494
Joined: Mon Aug 07, 2006 11:58 am

Post » Mon May 28, 2012 7:36 pm

The LAA patch seems to work fine. It replaces the 4gb launcher so if you were using it, delete the files associated with it and launch the game with the normal .exe, Skyrim launcher, or the new SKSE. Unfortunately that is all that this patch did. No other performance improvements, no other bug fixes, nothing. For me AA and AF in game settings are still broken (~30 fps loss with any of those turned on, to any setting and texture problems with them enabled, to any setting). I am still forcing those externally and doing so the game works and looks good. I still think the game settings should work. Bethesda should call Valve or Blizzard to get some programming tips. Their games run well on PC.
User avatar
Dustin Brown
 
Posts: 3307
Joined: Sun Sep 30, 2007 6:55 am

Post » Mon May 28, 2012 9:39 pm

Many nVidia people are reporting much improved gameplay using the new patch with the latest nVidia drivers released today.

64 bit - http://www.nvidia.com/object/win7-winvista-64bit-290.53-beta-driver.html

32 bit - http://www.geforce.com/Drivers/Results/40608

(Remember- clean sweep and custom install!)
User avatar
Ernesto Salinas
 
Posts: 3399
Joined: Sat Nov 03, 2007 2:19 pm

Post » Mon May 28, 2012 4:03 pm

This patch combined with the newest Nvidia betas havc this game looking and running excellent for me. SSAO is such a must in this game. I am friggin loving this.
User avatar
Bambi
 
Posts: 3380
Joined: Tue Jan 30, 2007 1:20 pm

PreviousNext

Return to V - Skyrim