Author Topic: Grass Tuft Texture Blown Up and Flickering - Only Near Water Surface  (Read 810 times)

wind

  • Wayfarer
  • *
  • Posts: 6
    • View Profile
When a surface of water (lakes on the roads) enters my field of vision grass tufts blow up to their max size (not scaled by distance) and flicker noticeably (around 4 fps, regardless of my current fps).  Grass tufts otherwise seem to function normally i.e. when I turn my character around, and can no longer see the a lake's surface.  Could anyone verify this, or tell me what settings I can change?

Current Graphics Settings:
Color Depth: 32
Anti-Aliasing: 2xQ
Anisotropic Filtering: 8x
Texture Quality: Highest
Shaders: Highest
Enable Grass: √
Enable Weather: √
Enable VBO: √
Loader Cache: √
Background Loading: World
Particles: High

Playing on a MacBook Pro
(Chipset: GeForce 8600M GT)

Edit: And, should I post this as a bug on the BugTracker?  It'd be my first time trying :/

Rigwyn

  • Prospects
  • Forum Addict
  • *
  • Posts: 2033
  • ...
    • View Profile
There's a setting for turning off grass. I think its under options from within the game. If its not there then check the settings in pslaunch.

Caraick

  • Veteran
  • *
  • Posts: 1145
  • I liked PS before it was cool.
    • View Profile
Rigwyn's got it. You're running on the most intensive graphics options possible, honestly, but you've got the hardware to do it, I think. Still, I'd disable both grass and weather.  :-X
Hey look kids, it's the antichrist Marsuveus!
What? Doesn't he just look huggable? Aw, c'mon, give him a hug.


wind

  • Wayfarer
  • *
  • Posts: 6
    • View Profile
Update:
I've found that it stops when I open my inventory window, and only my inventory window.  I tested opening and closing different combinations of the chat, skills&stats, quests, spellbook, information, options, help, the quit screen, the bag, and buddy interfaces, but that didn't make a difference.  I changed the window settings on different interfaces (including my inventory window) and that doesn't make a difference with the flickering either. Only whether or not I have my inventory window open makes a difference.

Sample video of glitch here: http://youtu.be/jaANWrxnLek

(Edit: Video is with weather turned off.)
« Last Edit: May 08, 2012, 10:18:30 pm by wind »

Aiwendil

  • Hydlaa Citizen
  • *
  • Posts: 463
    • View Profile
Not that it will help much but the inventory window is more or less the only window in game that uses render-to-texture. No clue how the grass is actually done but as it moves it might involve some rendering to a texture too...what could explain why having the inventory window open helps. Not that this helps much with finding a  solution though :/ (Even less as I avoid toy-macs as often as possible ;) ). You might want to check your gfx drivers if it has some "optimization" options for Off-screen rendering or render-to-texture and change those. Also if your Desktop uses some 3d effects you might want to try to disable those.

And last but not least something completely off-topic....TURN OFF THAT DAMN BASIC CHAT! Whoever made that PS option default should be....sentenced to two years in the help channel to deal with the consequences of this stupid decision...even more as you can get the exactly same effect by just disabling some unneeded chat tabs and redirecting some other to the main chat tab with. That has the nice side-effect that you get the same but don't need a PS restart in case you want to change something.

RlyDontKnow

  • Associate Developer
  • Hydlaa Citizen
  • *
  • Posts: 403
    • View Profile
could you check whether it also happens with background loading set to models?

wind

  • Wayfarer
  • *
  • Posts: 6
    • View Profile
Certainly!

...Testing...

It does also happen with background loading set to 'models', including still stopping when the inventory interface is opened.
What had you hoped that would do?  I'm not familiar enough with graphics programming to know exactly what every setting does.

So... Is this but unique to my computer, or can someone else verify?
« Last Edit: May 09, 2012, 07:48:16 pm by wind »

LigH

  • Forum Legend
  • *
  • Posts: 7096
    • View Profile
What RlyDontKnow referred to was probably an already known issue with grass in relation to the Background Loader mode (if you pass several landscape maps with grass, the landscape may disappear and you can fall out of the world). He was probably curious to know if both issues are related. But that doesn't seem to be the case. So the reason must be elsewhere ... a bug in the OpenGL driver sounds probable to me, like the issue with intel graphics distorting textures.

Gag Harmond
Knight and Ambassador
The Royal House of Purrty

RlyDontKnow

  • Associate Developer
  • Hydlaa Citizen
  • *
  • Posts: 403
    • View Profile
What RlyDontKnow referred to was probably an already known issue with grass in relation to the Background Loader mode

nope, that one I already tracked down and fixed, I was curious whether it's loading or culling going mad there, but as it's not loading, it's most probably culling which doesn't make sense unless you have an undocumented config setting in your config that I added for testing purposes that forces a specific culler everywhere and have that set to default to enforce hardware culling.

now the big question is: why would culling be wrong?
that sector uses simple (software) frustum culling, so it's not driver related.
since it's not driver related and works everywhere else and there's no reason the position or bounding box of the grass would change in any way, it seems unlikely that's even the cause.

so... why else would it render incorrectly? I don't know :/

what you could do to help find the cause of the issue is:
1) try to add "PlaneShift.Loading.ForceCuller = crystalspace.culling.frustvis" to your planeshift.cfg ($HOME/.PlaneShift/planeshift.cfg) (just to be sure it's not a weird culler setting) - if it doesn't help, remove it again and do
2) set up glIntercept (with OneFrameOnly set to false in the config, instead hit the log key again after the grass re-appeared) so we could check the gl calls and see whether something is off there.
(note that I just recommend that as I have no idea what could possibly go wrong besied culling for you and because you seem to be the only one to have it (in other words: no dev/tester can reproduce it which makes it likely it's a hardware/OS/driver combination causing the issue))
« Last Edit: May 10, 2012, 12:41:33 pm by RlyDontKnow »

wind

  • Wayfarer
  • *
  • Posts: 6
    • View Profile
Well, I couldn't find the planeshift.cfg, I fould psclient.cfg in my Planeshift folder, and added it to that file.
It didn't make a difference in the glitch, so I removed it.

I'm not terribly sure how (mostly where, even after reading the readme for it) to install glIntercept.  The .exe files make me think it's for windows?  Just a bit nervous about dropping things into the psclient package.

If you're seriously curious about solving this issue, I'll see what I can do, but since it's an individual problem, I don't want to take up your time and energy.  I know you're busy, and I'm not so worried about grass tufts (which I understand is a new feature anyway) that I can't wait till the next version update to see if things pan out.

LigH

  • Forum Legend
  • *
  • Posts: 7096
    • View Profile
Re: Grass Tuft Texture Blown Up and Flickering - Only Near Water Surface
« Reply #10 on: May 12, 2012, 08:57:21 am »
There are two possible places where configuration files can be:

a) in the directory where you installed the game to
b) in a directory below your user account; the exact position depends on your Operating System

In your case, it is b) – and you probably missed the dot in ".PlaneShift" (which makes this directory "hidden").

Gag Harmond
Knight and Ambassador
The Royal House of Purrty

wind

  • Wayfarer
  • *
  • Posts: 6
    • View Profile
Re: Grass Tuft Texture Blown Up and Flickering - Only Near Water Surface
« Reply #11 on: May 13, 2012, 02:36:24 pm »
Aha!  Well, it's not actually in an invisible folder (though I did turn them on just to check and make sure), but it's classified as a system file, and I hadn't selected to search through system files.  It was in USER/Library/Application Support/Planeshift/ and I've no idea why I didn't think to look in application support in the first place.

I added the command to the planeshift.cfg there and it didn't have much of an effect on the flickering. Curiously, the grass tufts that were blown up and misplaced on the screen (you can see an example or two in the vid) weren't flickering as much (seemed to be at a different rate?) than the rest of the flickering grass that was in the correct place and size on the ground.
I did remove the command from the .cfg afterward.

Is that glIntercept program for windows, or did I just not understand what popped out of the download zip?

RlyDontKnow

  • Associate Developer
  • Hydlaa Citizen
  • *
  • Posts: 403
    • View Profile
Re: Grass Tuft Texture Blown Up and Flickering - Only Near Water Surface
« Reply #12 on: May 15, 2012, 06:46:07 am »
hm, sorry, yeah, seems glintercept is win only, so won't be of much help here :sweatdrop:

apitrace offers such functionality as well, however I'm not sure if/how you can only trace a single/a few frames instead of tracing all the time X-/

wind

  • Wayfarer
  • *
  • Posts: 6
    • View Profile
Re: Grass Tuft Texture Blown Up and Flickering - Only Near Water Surface
« Reply #13 on: May 21, 2012, 04:36:37 pm »
As an update for 0.5.9.1:
My computer now crashes in the presence of all grass, regardless of whether water is nearby or not (i.e. outside of Hydlaa East right before the road goes to the loading screen for the Oja Road - I'm fairly sure there isn't water anywhere in Hydlaa East) and regardless of any other graphics settings (low, medium, high).

It occurred to me to check the console, but all it gave me was:
21/5/12 5:26:26 PM   ReportCrash[3523]   Saved crash report for psclient_static[3519] version 0.5.9.1 (0) to /Users/XXX/Library/Logs/DiagnosticReports/psclient_static_2012-05-21-172626_XXX-MacBook-Pro.crash

So, I'll post what the crash report has in it here, and hopefully that will help.
Quote
Process:         psclient_static [3519]
Path:            /Applications/PlaneShift/psclient.app/Contents/MacOS/psclient_static
Identifier:      psclient_static
Version:         0.5.9.1 (0)
Build Info:      psclient_static-Unknown~Unknown
Code Type:       X86 (Native)
Parent Process:  launchd [2386]

Date/Time:       2012-05-21 17:26:25.799 -0400
OS Version:      Mac OS X 10.6.8 (10K549)
Report Version:  6

Exception Type:  EXC_BAD_ACCESS (SIGBUS)
Exception Codes: KERN_PROTECTION_FAILURE at 0x0000000000000000
Crashed Thread:  0  Dispatch queue: com.apple.main-thread

Thread 0 Crashed:  Dispatch queue: com.apple.main-thread
0   com.apple.GeForceGLDriver        0x8f1bf6e6 gldFinish + 109990
1   com.apple.GeForceGLDriver        0x8f0e5ab4 gldUnbindPipelineProgram + 2788
2   com.apple.GeForceGLDriver        0x8f1c5935 gldFinish + 135157
3   com.apple.GeForceGLDriver        0x8f1a0c23 gldUpdateDispatch + 1139
4   GLEngine                         0x150ea4d5 gleDoDrawDispatchCore + 266
5   GLEngine                         0x150a1d72 glDrawElementsInstanced_ACC_Exec + 603
6   libGL.dylib                      0x988f662a glDrawElementsInstancedARB + 59
7   psclient_static                  0x006795e8 CS::Plugin::gl3d::InstancingHelper::DrawAllInstances(unsigned long, unsigned long, unsigned long, long, unsigned long, void const*) + 374

Thread 1:  Dispatch queue: com.apple.libdispatch-manager
0   libSystem.B.dylib                0x985da382 kevent + 10
1   libSystem.B.dylib                0x985daa9c _dispatch_mgr_invoke + 215
2   libSystem.B.dylib                0x985d9f59 _dispatch_queue_invoke + 163
3   libSystem.B.dylib                0x985d9cfe _dispatch_worker_thread2 + 240
4   libSystem.B.dylib                0x985d9781 _pthread_wqthread + 390
5   libSystem.B.dylib                0x985d95c6 start_wqthread + 30

Thread 2:
0   libSystem.B.dylib                0x985b3b42 semaphore_wait_signal_trap + 10
1   libSystem.B.dylib                0x985e16f8 _pthread_cond_wait + 1089
2   libSystem.B.dylib                0x9862a05f pthread_cond_wait + 48
3   psclient_static                  0x005eca1c CS::Threading::ThreadedJobQueue::QueueRunnable::Run() + 1246

Thread 3:
0   libSystem.B.dylib                0x985b3b42 semaphore_wait_signal_trap + 10
1   libSystem.B.dylib                0x985e16f8 _pthread_cond_wait + 1089
2   libSystem.B.dylib                0x9862a05f pthread_cond_wait + 48
3   psclient_static                  0x005eca1c CS::Threading::ThreadedJobQueue::QueueRunnable::Run() + 1246

Thread 4:
0   libSystem.B.dylib                0x985b3b5a semaphore_timedwait_signal_trap + 10
1   libSystem.B.dylib                0x985e16e1 _pthread_cond_wait + 1066
2   libSystem.B.dylib                0x986105a8 pthread_cond_timedwait_relative_np + 47
3   com.apple.audio.CoreAudio        0x901b83ab CAGuard::WaitFor(unsigned long long) + 219
4   com.apple.audio.CoreAudio        0x901bb3dd CAGuard::WaitUntil(unsigned long long) + 289
5   com.apple.audio.CoreAudio        0x901b8cda HP_IOThread::WorkLoop() + 1892
6   com.apple.audio.CoreAudio        0x901b8571 HP_IOThread::ThreadEntry(HP_IOThread*) + 17
7   com.apple.audio.CoreAudio        0x901b8488 CAPThread::Entry(CAPThread*) + 140
8   libSystem.B.dylib                0x985e1259 _pthread_start + 345
9   libSystem.B.dylib                0x985e10de thread_start + 34

Thread 5:
0   libSystem.B.dylib                0x985b3b42 semaphore_wait_signal_trap + 10
1   libSystem.B.dylib                0x985e16f8 _pthread_cond_wait + 1089
2   libSystem.B.dylib                0x9862a05f pthread_cond_wait + 48
3   psclient_static                  0x005eca1c CS::Threading::ThreadedJobQueue::QueueRunnable::Run() + 1246

Thread 6:
0   libSystem.B.dylib                0x985b3b42 semaphore_wait_signal_trap + 10
1   libSystem.B.dylib                0x985e16f8 _pthread_cond_wait + 1089
2   libSystem.B.dylib                0x9862a05f pthread_cond_wait + 48
3   psclient_static                  0x005eca1c CS::Threading::ThreadedJobQueue::QueueRunnable::Run() + 1246

Thread 7:
0   libSystem.B.dylib                0x985b3b42 semaphore_wait_signal_trap + 10
1   libSystem.B.dylib                0x985e16f8 _pthread_cond_wait + 1089
2   libSystem.B.dylib                0x9862a05f pthread_cond_wait + 48
3   psclient_static                  0x005eca1c CS::Threading::ThreadedJobQueue::QueueRunnable::Run() + 1246

Thread 8:
0   libSystem.B.dylib                0x985ef58a select$DARWIN_EXTSN$NOCANCEL + 10
1   libSystem.B.dylib                0x98687c4b select + 92
2   psclient_static                  0x001b29bb NetBase::CheckIn() + 261
3   psclient_static                  0x001b3260 NetBase::ProcessNetwork(unsigned int) + 34
4   psclient_static                  0x002a2a9f psNetConnection::Run() + 243
5   psclient_static                  0x0039cf93 CS::Threading::Implementation::(anonymous namespace)::proxyFunc(void*) + 111

Thread 9:
0   libSystem.B.dylib                0x985b3b42 semaphore_wait_signal_trap + 10
1   libSystem.B.dylib                0x985e16f8 _pthread_cond_wait + 1089
2   libSystem.B.dylib                0x9862a05f pthread_cond_wait + 48
3   psclient_static                  0x005eca1c CS::Threading::ThreadedJobQueue::QueueRunnable::Run() + 1246

Thread 0 crashed with X86 Thread State (32-bit):
  eax: 0x03813000  ebx: 0x0311f400  ecx: 0x8fa35840  edx: 0x00000000
  edi: 0x14ddb000  esi: 0x48f1ae00  ebp: 0xbfffe058  esp: 0xbfffe058
   ss: 0x0000001f  efl: 0x00010202  eip: 0x8f1bf6e6   cs: 0x00000017
   ds: 0x0000001f   es: 0x0000001f   fs: 0x00000000   gs: 0x00000037
  cr2: 0x00000000

Model: MacBookPro4,1, BootROM MBP41.00C1.B03, 2 processors, Intel Core 2 Duo, 2.4 GHz, 4 GB, SMC 1.27f3
Graphics: NVIDIA GeForce 8600M GT, GeForce 8600M GT, PCIe, 256 MB


Hope that's helpful!