Official Camera Stutter, Part 2 (Mac)

Mac Technical Support
Prev 1 3 4 5 6 Next
I don't like the idea of the cvar too much, this is not the kind of things we want users to control. In the past, we got many crash reports related to users changing cvars that shouldn't be changed.

If you have 1 GB of VRAM then WoW we'll try to use 800MB which is enough to fit everything, 98% of the time, raising that limit won't have an effect on performance.

Also, the address space available to processes running in 10.6 is 3.5 GB not 2 GB. We stopped receiving crashes related to this since we release 4.0.

About 10.7, I will let you guys judge if it's faster or not. I'm sure it will depend on your system. I also expect performance to get better after a couple updates like for every major OS release.
10.7 doesn't really seem faster, but if i made a video right now, you'd see nothing but fluid turning in every zone, no stuter at all, so whatever lion changed completely cured whatever was bottleneckling wow's handling of textures.

however, unfortunately 10.7 does NOT fix the farclip bug on water reflections. Sigh. But maybe you can check GLSL 1.50 performance on lion and see if it's better yet or still worse, and if it contains same reflection bugs?

Also thanks for taking time to clear a lot of things up. I always enjoy your posts. Kinda wish some of that had been posted much sooner though. the problem with testing stuff at user end is not knowing the programers end of things, so not able to pursue the right avenues of testing. Knowing what you've just posted more direct testing can be directed at different areas. Like when i was experiencing stuter i had noticed rebooting OS X had a small effect on it, but knowing now how wow interacts with system memory that could be explained by rebooting purging some of the stuff in vram used by other program or OS enabling more access to wow app to store texture caches?

btw, couple days ago i ran TWO wows at same time both running ultra graphics setting and the foreground one still got 60fps (my cap) in vashjir, fps waved a little more while turning but it wasn't stuttering it was just genuine fps degrading from rendering two clients at once :). But i found it interesgting that under lion i couldn't even reproduce stutter with two wows open. So it's really puzzling what precisely lion changed to make wow run so many times better. Have you run DP4 yet? :)
I can see why you might not see that CVAR as being something we should interact with. Would be useful for testing purposes though (but that's not the "norm" so meh). It's good to know though, that this is an issue that has been seriously looked into.

With Lion coming out shortly, I assume that Blizzard will likely be deprecating 10.5.8 support soon afterwards as well, so I'll ask here - with that deprecation likely to happen in the near future, can we please remove or at least look at the resolution parsing code you're using for WoW? It is fairly apparent it's still using code designed for Leopard's failings regarding how resolutions are enumerated, and that has negative effects in Snow Leopard, which does not have those failings (inability to play in 1080p mode and being forced into 1080i mode even when the originating resolution was 1080p and WoW's file has 1920x1080 and 60 Hz refresh rate specified as SET variables).

I'm a pragmatist - I can live with the stuttering, but having blurry textures because I'm forced into a non-native resolution is maddening. :(

Anywho, hopefully this thread sees little to no action once 4.2 is live. That's my hope anyway. Same goes for that other thread I'm in with regard to the issue I just asked about above. :D

Edit: I'm wondering if GL_ARB_sync is what's responsible for the removal of the bottleneck for the camera stuttering. Seems like a very likely candidate for a massive performance boost considering how WoW accesses VRAM.
wow isn't using the forward context, so it's still using opengl 2.1 on lion by defaut as far as i know, unless i'm mistaken and they did have time to throw support for the 3.2 GL profile in it if it happens to be launched in lion? Or support for extentions that were added to 2.1 profile (3 of em i think?)
GL_ARB_sync is a GLSL 3.5 extension, so that's definitely a Lion only thing right now. Nothing in 2.1's set would account for the speedup, that much I can pretty much guarantee.
well except bugfixes to existing functionality, not new features. if the majority of stutter was truely caused by flat out bugs in opengl that just happened to get fixed? really hard to say, S4d1k hasn't posted the true underlying cause of stutter. I'd be curious to know what it actually is, so i can start to figure out why lion fixes it. I love engine talk, it's quite informative and learning :)
We do not use OpenGL 3.2, we have plans to support it in the future but this demands a lot of work. Every time Apple/ATI/NVidia add support for an extension we also need to start using it to get any benefit. Unfortunately, since Apple only updates their latest OS, it often doesn't make sense to spend time on it right away.

For the stuttering, it was always obvious that OpenGL was too slow to update textures. It seems that Apple/ATI/NVidia finally optimized this in Lion. I don't know what they did exactly and they might not know either.

Bottom line is if the stuttering is gone for you under Lion then that's great news.
yes it is :)

and 95% of the macs that support wow can run lion, you should just strongly emphesis that 10.7 is recommended but 10.6 is still supported. But get that strong emphesis out there. and seirously drop 10.5, if you shop smart you can get 10.6 as much as 20-22 dollars, and there is no intel mac that cannot run 10.6, it benefits all intel macs, even my first generation macbook pro, literally the very very first intel mac released on market 32 bit intel with ati x1600 mobile graphics, runs much better on 10.6.8 then it would on 10.5.8. i cannot understand anyone that runs 10.5.8 at all, nor should they really be catored too anymore.
We have too many customers on 10.5.8 to drop it completely. We hope that 10.7 will make some of them upgrade. Personally, I think most people just don't update their OS, they just buy a new computer.
i'm confident they'd upgrade if it was dropped. Long as it wasn't short notice. the PPC thing blew over eventually :) Probably with more advanced warning though then PPC got. maybe some nagging red text in options that says "10.6.8+ recommended for optimal gameplay"

10.6.8 had a significant leap in graphics drivers, a lot of stuff was back ported from lion (minus GL stuff obviously). my benchmarks on it were pretty nice before moving to DP4, when i was looking at the 10.6.8 seeds. But now that it's released it's already getting talk of the town in gaming news.

meanwhile 10.5.8 continues to perform sub par and limit peoples user experience and systems max potential, and forces you guys to invest precious deveopment time on it better spent elsewhere. They just need a little push to see what they are missing :) Long as you "enabling" them so to speak, they won't move forward. :(
06/27/2011 01:26 PMPosted by S4d1k
We have too many customers on 10.5.8 to drop it completely. We hope that 10.7 will make some of them upgrade. Personally, I think most people just don't update their OS, they just buy a new computer.

Can you at least change how WoW parses resolutions? Still would love shiny cripy clear native resolution back. :) :)

Any machine that can run Leopard can run Snow Leopard, and SL is quite a bit more well balanced than Leopard was, even with its bugs and whatnot. 10.5.8 is really holding WoW back at this point - it may not be as bad an idea to let it die sooner rather than later. You already made the change to supporting only 64-bit CPU Macs, as has Apple with Lion. Leopard needs to get its foot off the top of the casket so we can close it out and say our goodbyes.
When Blizzard give me an HDTV that reproduces your problem, I will fix it.
I *may* have this issue? I"m unsure.

Frequently when i load into, or zone into orgrimmar, after a period of things working fine for around 30 seconds or a minute or something, i'll fly, or head to the bank, and will have a 10-15 second stall of almost no frame updates at all.

I'd always figured it was wow bottlenecking on OS X's terrrrrrrible I/O scheduler when bringing in a large number of textures at once, but it always seemed a bit of a stretch as most players were already visible.

My experiences relate to 10.6.7. I've updated to 10.6.8 quite recently. When my company's commercial software is updated to not crash on 10.7, maybe i'll check that out.
06/28/2011 10:12 AMPosted by S4d1k
When Blizzard give me an HDTV that reproduces your problem, I will fix it.

This is what I get from my gx.log:

6/29 06:02:05.429 ConsoleDetectDetectHardware [Mac] ():
6/29 06:02:05.429 cpuIdx: 1
6/29 06:02:05.429 videoID: 170
6/29 06:02:05.429 soundIdx: 0
6/29 06:02:05.429 memIdx: 0
6/29 06:02:05.429 macTierIdx: 3
6/29 06:02:05.429 macVramMB: 1024
6/29 06:02:05.433 ValidateFormatMonitor(): unable to find monitor refresh
6/29 06:02:05.433 ConsoleDeviceInitialize(): hwDetect = 0, hwChanged = 0
6/29 06:02:07.235 Shader Model: 3_0
6/29 06:02:07.235 Vertex: vp40
6/29 06:02:07.235 Pixel: fp40
6/29 06:02:07.241 Caps:
6/29 06:02:07.241 numTmus: 8
6/29 06:02:07.241 texFilterAnisotropic: 1, 16
6/29 06:02:07.241 rttFormat: 1, 1
6/29 06:02:07.241 vertexShaderConstants: 256
6/29 06:02:07.241 numStreams: 2
6/29 06:02:07.241 stereoAvailable: 0
6/29 06:02:07.241 Format Support:
6/29 06:02:07.241 Abgr8888: vertex pixel rtt
6/29 06:02:07.241 Argb8888: vertex pixel rtt
6/29 06:02:07.241 Argb4444: vertex pixel rtt
6/29 06:02:07.241 Argb1555: vertex pixel rtt
6/29 06:02:07.241 Rgb565: vertex pixel rtt
6/29 06:02:07.241 Dxt1: vertex pixel
6/29 06:02:07.241 Dxt3: vertex pixel
6/29 06:02:07.241 Dxt5: vertex pixel
6/29 06:02:07.241 Gr1616F: vertex pixel rtt
6/29 06:02:07.241 Abgr16161616F: vertex pixel rtt
6/29 06:02:07.241 R32F: vertex pixel rtt
6/29 06:02:07.241 Abgr32323232F: vertex pixel rtt
6/29 06:02:07.241 NULL: vertex pixel rtt
6/29 06:02:07.241 D24X8: vertex pixel rtt pcf
6/29 06:02:07.241 D16: vertex pixel rtt pcf
6/29 06:02:07.241 D32: vertex pixel rtt pcf
6/29 06:02:07.241 INTZ: vertex pixel rtt
6/29 06:02:07.241 Shader Profile Support:
6/29 06:02:07.241 vs_ff
6/29 06:02:07.241 ps_ff
6/29 06:02:07.241 arbvp1
6/29 06:02:07.241 arbfp1
6/29 06:02:07.241 vp40
6/29 06:02:07.241 fp40
6/29 06:02:07.241 Texture Target Support:
6/29 06:02:07.241 GxTex_2d - true
6/29 06:02:07.241 GxTex_CubeMap - true
6/29 06:02:07.241 GxTex_Rectangle - true
6/29 06:02:07.241 GxTex_NonPow2 - true
6/29 06:02:07.241 GxTex_Volume - true
6/29 06:02:07.241 NPTNoDependentReads - false
6/29 06:02:08.173 Preparing to create sample-able depth buffer texture:
6/29 06:02:08.173 DepthCache is supported!
6/29 06:02:08.173 Format: INTZ
6/29 06:02:08.173 FormatResolve: Unknown
6/29 06:02:10.293 GxAdapterFormats():
6/29 06:02:10.293 0: cf = 1, df = 5, ms = 1
6/29 06:02:10.293 1: cf = 1, df = 5, ms = 2
6/29 06:02:10.293 2: cf = 1, df = 5, ms = 4
6/29 06:02:10.293 3: cf = 1, df = 5, ms = 6
6/29 06:02:10.293 4: cf = 1, df = 5, ms = 8

You guys seriously don't have any HDTVs around your offices?

You might consider getting some - more and more gamers are using them as large game screens vs. smallish computer screens.

Anywho, nice to see Lion will (should) fix the stutter issue. Now if we could just fix the Lion issues... ;)
Is there a fix to this shutter? I wasn't experiencing any issues before yesterdays little patch, Got on and I can't even step foot into a dungeon, FPS goes down to 1, I was in Drak'Tharon Keep and by the time my game actually caught up I couldn't even see the other players in the party because they cleared the first hall, I ran up to them then it went down to 1 FPS again. This is just ridiculous.
Please create a new thread Eply, as that issue does not sound the stutter. This sounds like issues with out of date add-ons and stuff. Since 4.2 just came out, we need to check to make sure we eliminate the common factors.
Mac Tech Support for Baaaaahlizzard Entertainment || Tu-Sat 8:45 am - 5 pm CST
If you can't find it here, contact a rep direct : ---- Rate my Baaaaalue Posts. Haala at your sheep!
Pfft! Secret doors, who needs 'em? What do I care about secret doors?... and the unparalleled delights they keep hidden from the world!
I'd like to say that while the stutter is still present in Vash'jir and all other new zones, as well as Zangarmarsh, its pervasiveness is drastically reduced in 4.2. Enough so that I can use Ultra view distance with much less stuttering. It's not gone, but it's starting to become semi-playable on Ultra view settings. Do keep in mind I play with the fullscreen glow and death effects off (I never liked the feeling of blurriness that FSG caused). I also play with weather density at zero.

I made a lot of changes in 4.2 to reduce the stuttering so I'm glad that it helped.

Thanks for the feedback Tia !
i'm really eager to ese what you can do with 10.7 and the new GL extentions and functions. i know you won't break old compatiblity, but that's not to say you can't add new. after all, wow has many features that require 10.6.3+ cause they use 3.x extentions, and that doesn't break running on 10.5.8, just makes those features unavailabe there. so what's an option that is 10.7 only on there :)
OK I'm going to keep this short since I JUST LOST A VERY LONG POST. Could somebody PLEASE for the love of god get the web team to fix that blasted "post contains invalid HTML" crap which obliterates your post attempt if you forgot to copy it all to your clipboard first?

I have to retract my post somewhat above, but I'll post my observations:

Texture loading seems to have a bottleneck upon initial load (with exceptions noted below). By initial load I mean it takes forever to load those textures initially. I have to do several spin-arounds in a zone to load them all otherwise I get massive camera stutter as I move through the zone.

Problem Zones:

Stormwind: Heavy texture load times upon zone load or first time spin-around(s). Can cause up to five seconds of full video/device input pause during the load periods. Steady to above previous levels for framerates when loading is settled.

Twilight Highlands: Moderately heavy initial load times, frequent times where textures feel like they're being dumped reloaded (especially around the area with the fire elementals). Below average framerates even once textures load.

Hyjal: Untested. Haven't played in this zone in 4.2 yet because I can't be bothered with the Molten Front until my rogue hits 85. Will update after doing some quests there.

Vashj'ir: Excruciatingly frequent camera stutter. Textures seem like they're constantly unloading and loading when anywhere near the "mini-zone" borders (Shimmering Expanse <->Abyssal Depths for example) and when exiting caves into the open water areas, or when you're above water, presumably due to both the open waterworld textures and the overworld textures being "in view". Stutter is a constant when flying above water in Vashj'ir (makes me want to gnash my eyes out with a spork when doing patrols for Poseidus). Excellent framerates below water surface level when textures are not loading.

Zangarmarsh: Unplyable. Period. Doesn't matter how often you spin around to try and force textures to load and stick, stutter occurs every single time you turn. 4.2 did nothing sadly to improve this area. This is an edit to the above post regarding Zangarmarsh. I had not yet changed to Ultra out there and somehow did not notice. Boohiss on me. Still improved from what it was before though.

Can I trouble you with a request? Would it be possible to add an in-game VRAM monitor, like you have for RAM/CPU monitoring so I can see at least what's "going on" during those camera stutter sessions? It's better in 4.2 than it was in 4.1 and prior, but certain zones are just painful in how often textures are dumped and reloaded. I'd like a way to see where the "hot spots" are for texture reloads so I can at least pinpoint them and let you know which areas are bogging the engine down the most. A simple addition to the info box popup when you mouse over the Computer icon would suffice. Knowing when my VRAM used changes drastically may help weed out the false alarms from the real problem causes when troubleshooting (you already have CPU/RAM usage in there, why not VRAM?)

I'm liking what 4.2 has at least attempted to do with the stutter, but it isn't fixed yet. Most zones benefit, but a few are still bogging down the engine to the point of user frustration (but I just can't stand High view settings in Vashj'ir - too much haze, so I'm sticking with Ultra there).

Summary Edit: The biggest problem in most zones is the initial loading of textures. There's a bottleneck somewhere even though a "measly" PCI-E 1.0 x16 card should be able to transport a full 4.8 GB per second, maybe 4 GB/sec with overhead, especially off SSDs with no seek time. It's just a few zones that seem to have perpetual dump/reload issues. But they look so nice...

Join the Conversation

Return to Forum