PlaneShift
Support => Technical Help: IN GAME bugs (after loading world) => Topic started by: wind on May 09, 2012, 01:07:09 am
-
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 :/
-
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.
-
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
-
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.)
-
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.
-
could you check whether it also happens with background loading set to models?
-
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?
-
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.
-
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 (http://crystalspace3d.org/trac/CS/wiki/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))
-
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.
-
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").
-
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?
-
hm, sorry, yeah, seems glintercept is win only, so won't be of much help here :sweatdrop:
apitrace (https://github.com/apitrace/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-/
-
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.
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!