Latest GIT = Very poor performance?
#1
Just a heads up, I have built the latest GIT revision and have found that games that would run between 50 - 60 FPS have tanked to anywhere between 4 - 30 fps.

GT4 crashes when trying to select a vehicle in arcade mode.
Jak and Daxter menus = 4 FPS

The GS core is locked to 100% permanently.

I will try to narrow it down to a specific revision.


Code:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xeadcab40 (LWP 28236)]
0x083db8c0 in x86Emitter::xWrite<unsigned char> (val=159 '\237')
   at /home/toxicshadow/build_env/pcsx2/common/include/x86emitter/internal.h:46
46    /home/toxicshadow/build_env/pcsx2/common/include/x86emitter/internal.h: No such file or directory.
(gdb) thread apply all bt

Thread 10 (Thread 0xf2b45b40 (LWP 28228)):
#0  0xf7726bf0 in __kernel_vsyscall ()
#1  0xf5dbd8a6 in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   at /usr/lib/libpthread.so.0
#2  0xf5dbdea9 in pthread_cond_timedwait@GLIBC_2.0 ()
   at /usr/lib/libpthread.so.0
#3  0xf5441054 in  () at /usr/lib/libGL.so.1
#4  0xf44307df in  () at /usr/lib/libnvidia-glcore.so.358.16
#5  0xf5443458 in  () at /usr/lib/libGL.so.1
#6  0xf5db8452 in start_thread () at /usr/lib/libpthread.so.0
#7  0xf5cdd25e in clone () at /usr/lib/libc.so.6

Thread 9 (Thread 0xf02dfb40 (LWP 28229)):
#0  0xf7726bf0 in __kernel_vsyscall ()
#1  0xf5dc35e2 in __libc_do_syscall () at /usr/lib/libpthread.so.0
#2  0xf5dbf92f in do_futex_wait.constprop () at /usr/lib/libpthread.so.0
#3  0xf5dbfa37 in __new_sem_wait_slow.constprop.1 ()
   at /usr/lib/libpthread.so.0
#4  0x083d00dc in Threading::Semaphore::WaitWithoutYield() (this=0xa7072e8)
   at /home/toxicshadow/build_env/pcsx2/common/src/Utilities/Semaphore.cpp:66
#5  0x0824bae6 in pxEvtQueue::Idle() (this=0xa7072b0)
   at /home/toxicshadow/build_env/pcsx2/pcsx2/gui/ExecutorThread.cpp:387
---Type <return> to continue, or q <return> to quit---
#6  0x0824c5d2 in ExecutorThread::ExecuteTaskInThread() (this=0xa707f18)
   at /home/toxicshadow/build_env/pcsx2/pcsx2/gui/ExecutorThread.cpp:543
#7  0x083c2fa6 in Threading::pxThread::_try_virtual_invoke(void (Threading::pxThread::*)()) (this=0xa707f18, method=&virtual Threading::pxThread::ExecuteTaskInThread())
   at /home/toxicshadow/build_env/pcsx2/common/src/Utilities/ThreadTools.cpp:545
#8  0x083c345c in Threading::pxThread::_internal_execute() (this=0xa707f18)
   at /home/toxicshadow/build_env/pcsx2/common/src/Utilities/ThreadTools.cpp:644
#9  0x083c35da in Threading::pxThread::_internal_callback(void*) (itsme=0xa707f18)
   at /home/toxicshadow/build_env/pcsx2/common/src/Utilities/ThreadTools.cpp:684
#10 0xf5db8452 in start_thread () at /usr/lib/libpthread.so.0
#11 0xf5cdd25e in clone () at /usr/lib/libc.so.6

Thread 8 (Thread 0xef8ffb40 (LWP 28230)):
#0  0xf7726bf0 in __kernel_vsyscall ()
#1  0xf5cc9e6b in read () at /usr/lib/libc.so.6
#2  0xf51d059c in  () at /usr/lib/tls/libnvidia-tls.so.358.16
#3  0x083a45c7 in LinuxPipeThread::ExecuteTaskInThread() (this=0xa7f8804)
   at /home/toxicshadow/build_env/pcsx2/pcsx2/Linux/LnxConsolePipe.cpp:110
#4  0x083c2fa6 in Threading::pxThread::_try_virtual_invoke(void (Threading::pxThread::*)()) (this=0xa7f8804, method=&virtual Threading::pxThread::ExecuteTaskInThread())
   at /home/toxicshadow/build_env/pcsx2/common/src/Utilities/ThreadTools.cpp:545
#5  0x083c345c in Threading::pxThread::_internal_execute() (this=0xa7f8804)
   at /home/toxicshadow/build_env/pcsx2/common/src/Utilities/ThreadTools.cpp:644
#6  0x083c35da in Threading::pxThread::_internal_callback(void*) (itsme=0xa7f8804)
   at /home/toxicshadow/build_env/pcsx2/common/src/Utilities/ThreadTools.cpp:684
#7  0xf5db8452 in start_thread () at /usr/lib/libpthread.so.0
#8  0xf5cdd25e in clone () at /usr/lib/libc.so.6

Thread 7 (Thread 0xeeeffb40 (LWP 28231)):
#0  0xf7726bf0 in __kernel_vsyscall ()
#1  0xf5cc9e6b in read () at /usr/lib/libc.so.6
#2  0xf51d059c in  () at /usr/lib/tls/libnvidia-tls.so.358.16
#3  0x083a45c7 in LinuxPipeThread::ExecuteTaskInThread() (this=0xa7f673c)
   at /home/toxicshadow/build_env/pcsx2/pcsx2/Linux/LnxConsolePipe.cpp:110
#4  0x083c2fa6 in Threading::pxThread::_try_virtual_invoke(void (Threading::pxThread::*)()) (this=0xa7f673c, method=&virtual Threading::pxThread::ExecuteTaskInThread())
   at /home/toxicshadow/build_env/pcsx2/common/src/Utilities/ThreadTools.cpp:545
#5  0x083c345c in Threading::pxThread::_internal_execute() (this=0xa7f673c)
   at /home/toxicshadow/build_env/pcsx2/common/src/Utilities/ThreadTools.cpp:644
#6  0x083c35da in Threading::pxThread::_internal_callback(void*) (itsme=0xa7f673---Type <return> to continue, or q <return> to quit---
c)
   at /home/toxicshadow/build_env/pcsx2/common/src/Utilities/ThreadTools.cpp:684
#7  0xf5db8452 in start_thread () at /usr/lib/libpthread.so.0
#8  0xf5cdd25e in clone () at /usr/lib/libc.so.6

Thread 6 (Thread 0xee4ffb40 (LWP 28234)):
#0  0xf7726bf0 in __kernel_vsyscall ()
#1  0xf5dc35e2 in __libc_do_syscall () at /usr/lib/libpthread.so.0
#2  0xf5dbf92f in do_futex_wait.constprop () at /usr/lib/libpthread.so.0
#3  0xf5dbfa37 in __new_sem_wait_slow.constprop.1 ()
   at /usr/lib/libpthread.so.0
#4  0x083d00dc in Threading::Semaphore::WaitWithoutYield() (this=0x9f0f1ac <vu1Thread+16777532>)
   at /home/toxicshadow/build_env/pcsx2/common/src/Utilities/Semaphore.cpp:66
#5  0x080c3594 in VU_Thread::ExecuteRingBuffer() (this=0x8f0f070 <vu1Thread>)
   at /home/toxicshadow/build_env/pcsx2/pcsx2/MTVU.cpp:98
#6  0x080c3575 in VU_Thread::ExecuteTaskInThread() (this=0x8f0f070 <vu1Thread>)
   at /home/toxicshadow/build_env/pcsx2/pcsx2/MTVU.cpp:91
#7  0x083c2fa6 in Threading::pxThread::_try_virtual_invoke(void (Threading::pxThread::*)()) (this=0x8f0f070 <vu1Thread>, method=&virtual Threading::pxThread::ExecuteTaskInThread())
   at /home/toxicshadow/build_env/pcsx2/common/src/Utilities/ThreadTools.cpp:545
#8  0x083c345c in Threading::pxThread::_internal_execute() (this=0x8f0f070 <vu1Thread>)
   at /home/toxicshadow/build_env/pcsx2/common/src/Utilities/ThreadTools.cpp:644
#9  0x083c35da in Threading::pxThread::_internal_callback(void*) (itsme=0x8f0f070 <vu1Thread>)
   at /home/toxicshadow/build_env/pcsx2/common/src/Utilities/ThreadTools.cpp:684
#10 0xf5db8452 in start_thread () at /usr/lib/libpthread.so.0
#11 0xf5cdd25e in clone () at /usr/lib/libc.so.6

Thread 5 (Thread 0xeadcab40 (LWP 28236)):
#0  0x083db8c0 in x86Emitter::xWrite<unsigned char>(unsigned char) (val=159 '\237')
   at /home/toxicshadow/build_env/pcsx2/common/include/x86emitter/internal.h:46
#1  0x083d89a7 in x86Emitter::xWrite8(unsigned char) (val=159 '\237')
   at /home/toxicshadow/build_env/pcsx2/common/src/x86emitter/x86emitter.cpp:77
#2  0x083daf65 in x86Emitter::xLAHF() ()
   at /home/toxicshadow/build_env/pcsx2/common/src/x86emitter/x86emitter.cpp:1040
#3  0x0830bb95 in _signExtendSFtoM(unsigned int) (mem=166837124)
   at /home/toxicshadow/build_env/pcsx2/pcsx2/x86/ix86-32/iCore-32.cpp:474
#4  0x08318ac5 in R5900::Dynarec::OpcodeImpl::recADDI_(int) (info=0)
   at /home/toxicshadow/build_env/pcsx2/pcsx2/x86/ix86-32/iR5900AritImm.cpp:65
#5  0x0832b7a5 in eeRecompileCode1(void (*)(), void (*)(int)) (constcode=0x831898c <R5900::Dynarec::OpcodeImpl::recADDI_const()>, noconstcode=0x83189c8 <R5900::Dynarec::OpcodeImpl::recADDI_(int)>)
---Type <return> to continue, or q <return> to quit---
   at /home/toxicshadow/build_env/pcsx2/pcsx2/x86/ix86-32/iR5900Templates.cpp:304
#6  0x08318bfe in R5900::Dynarec::OpcodeImpl::recADDI() ()
   at /home/toxicshadow/build_env/pcsx2/pcsx2/x86/ix86-32/iR5900AritImm.cpp:78
#7  0x08318c0f in R5900::Dynarec::OpcodeImpl::recADDIU() ()
   at /home/toxicshadow/build_env/pcsx2/pcsx2/x86/ix86-32/iR5900AritImm.cpp:83
#8  0x08310dbd in recompileNextInstruction(int) (delayslot=1)
   at /home/toxicshadow/build_env/pcsx2/pcsx2/x86/ix86-32/iR5900-32.cpp:1287
#9  0x0831b7d7 in R5900::Dynarec::OpcodeImpl::recBNE_process(int, int) (info=0, process=2)
   at /home/toxicshadow/build_env/pcsx2/pcsx2/x86/ix86-32/iR5900Branch.cpp:294
#10 0x0831b874 in R5900::Dynarec::OpcodeImpl::recBNE_constt(int) (info=0)
   at /home/toxicshadow/build_env/pcsx2/pcsx2/x86/ix86-32/iR5900Branch.cpp:310
#11 0x0832b41c in eeRecompileCode0(void (*)(), void (*)(int), void (*)(int), void (*)(int), int) (constcode=0x831b6d4 <R5900::Dynarec::OpcodeImpl::recBNE_const()>, constscode=0x831b848 <R5900::Dynarec::OpcodeImpl::recBNE_consts(int)>, consttcode=0x831b861 <R5900::Dynarec::OpcodeImpl::recBNE_constt(int)>, noconstcode=0x831b82f <R5900::Dynarec::OpcodeImpl::recBNE_(int)>, xmminfo=192)
   at /home/toxicshadow/build_env/pcsx2/pcsx2/x86/ix86-32/iR5900Templates.cpp:243
#12 0x0831b8b3 in R5900::Dynarec::OpcodeImpl::recBNE() ()
   at /home/toxicshadow/build_env/pcsx2/pcsx2/x86/ix86-32/iR5900Branch.cpp:312
#13 0x08310dbd in recompileNextInstruction(int) (delayslot=0)
   at /home/toxicshadow/build_env/pcsx2/pcsx2/x86/ix86-32/iR5900-32.cpp:1287
#14 0x08312da4 in recRecompile(u32) (startpc=3470072)
   at /home/toxicshadow/build_env/pcsx2/pcsx2/x86/ix86-32/iR5900-32.cpp:1932
#15 0x0a11102b in eeRecDispatchers ()
#16 0x08561074 in  ()
#17 0x0830ecd0 in recExecute() ()
   at /home/toxicshadow/build_env/pcsx2/pcsx2/x86/ix86-32/iR5900-32.cpp:710
#18 0x082cc2e7 in SysCoreThread::DoCpuExecute() (this=0xa009a20 <CoreThread>)
   at /home/toxicshadow/build_env/pcsx2/pcsx2/System/SysCoreThread.cpp:258
#19 0x081dd38d in AppCoreThread::DoCpuExecute() (this=0xa009a20 <CoreThread>)
   at /home/toxicshadow/build_env/pcsx2/pcsx2/gui/AppCoreThread.cpp:558
#20 0x082cc342 in SysCoreThread::ExecuteTaskInThread() (this=0xa009a20 <CoreThread>) at /home/toxicshadow/build_env/pcsx2/pcsx2/System/SysCoreThread.cpp:271
#21 0x081dd373 in AppCoreThread::ExecuteTaskInThread() (this=0xa009a20 <CoreThread>) at /home/toxicshadow/build_env/pcsx2/pcsx2/gui/AppCoreThread.cpp:552
#22 0x083c2fa6 in Threading::pxThread::_try_virtual_invoke(void (Threading::pxThread::*)()) (this=0xa009a20 <CoreThread>, method=&virtual Threading::pxThread::ExecuteTaskInThread())
   at /home/toxicshadow/build_env/pcsx2/common/src/Utilities/ThreadTools.cpp:545
#23 0x083c345c in Threading::pxThread::_internal_execute() (this=0xa009a20 <CoreThread>)
   at /home/toxicshadow/build_env/pcsx2/common/src/Utilities/ThreadTools.cpp:644
#24 0x083c35da in Threading::pxThread::_internal_callback(void*) (itsme=0xa009a20 <CoreThread>)
   at /home/toxicshadow/build_env/pcsx2/common/src/Utilities/ThreadTools.cpp:684
---Type <return> to continue, or q <return> to quit---
#25 0xf5db8452 in start_thread () at /usr/lib/libpthread.so.0
#26 0xf5cdd25e in clone () at /usr/lib/libc.so.6

Thread 4 (Thread 0xea1ffb40 (LWP 28237)):
#0  0xf7726bf0 in __kernel_vsyscall ()
#1  0xf5dc35e2 in __libc_do_syscall () at /usr/lib/libpthread.so.0
#2  0xf5dbf92f in do_futex_wait.constprop () at /usr/lib/libpthread.so.0
#3  0xf5dbfa37 in __new_sem_wait_slow.constprop.1 ()
   at /usr/lib/libpthread.so.0
#4  0x083d00dc in Threading::Semaphore::WaitWithoutYield() (this=0xa009810 <mtgsThread+48>)
   at /home/toxicshadow/build_env/pcsx2/common/src/Utilities/Semaphore.cpp:66
#5  0x080c0838 in SysMtgsThread::ExecuteTaskInThread() (this=0xa0097e0 <mtgsThread>) at /home/toxicshadow/build_env/pcsx2/pcsx2/MTGS.cpp:282
#6  0x083c2fa6 in Threading::pxThread::_try_virtual_invoke(void (Threading::pxThread::*)()) (this=0xa0097e0 <mtgsThread>, method=&virtual Threading::pxThread::ExecuteTaskInThread())
   at /home/toxicshadow/build_env/pcsx2/common/src/Utilities/ThreadTools.cpp:545
#7  0x083c345c in Threading::pxThread::_internal_execute() (this=0xa0097e0 <mtgsThread>)
   at /home/toxicshadow/build_env/pcsx2/common/src/Utilities/ThreadTools.cpp:644
#8  0x083c35da in Threading::pxThread::_internal_callback(void*) (itsme=0xa0097e0 <mtgsThread>)
   at /home/toxicshadow/build_env/pcsx2/common/src/Utilities/ThreadTools.cpp:684
#9  0xf5db8452 in start_thread () at /usr/lib/libpthread.so.0
#10 0xf5cdd25e in clone () at /usr/lib/libc.so.6

Thread 3 (Thread 0xedaffb40 (LWP 28240)):
#0  0xf7726bf0 in __kernel_vsyscall ()
#1  0xf5dbd8a6 in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   at /usr/lib/libpthread.so.0
#2  0xf5dbdea9 in pthread_cond_timedwait@GLIBC_2.0 ()
   at /usr/lib/libpthread.so.0
#3  0xf5441054 in  () at /usr/lib/libGL.so.1
#4  0xf44307df in  () at /usr/lib/libnvidia-glcore.so.358.16
#5  0xf5443458 in  () at /usr/lib/libGL.so.1
#6  0xf5db8452 in start_thread () at /usr/lib/libpthread.so.0
#7  0xf5cdd25e in clone () at /usr/lib/libc.so.6

Thread 2 (Thread 0xde7ceb40 (LWP 28245)):
#0  0xf7726bf0 in __kernel_vsyscall ()
#1  0xf5ccfe12 in ppoll () at /usr/lib/libc.so.6
#2  0xe2a0f9b3 in pa_mainloop_poll () at /usr/lib/libpulse.so.0
#3  0xe2a10141 in pa_mainloop_iterate () at /usr/lib/libpulse.so.0
#4  0xf591cfa8 in PULSE_WaitAudio () at /usr/lib/libSDL-1.2.so.0
#5  0xf58ecf34 in SDL_RunAudio () at /usr/lib/libSDL-1.2.so.0
#6  0xf58f5d56 in SDL_RunThread () at /usr/lib/libSDL-1.2.so.0
#7  0xf593fedc in RunThread () at /usr/lib/libSDL-1.2.so.0
---Type <return> to continue, or q <return> to quit---
#8  0xf5db8452 in start_thread () at /usr/lib/libpthread.so.0
#9  0xf5cdd25e in clone () at /usr/lib/libc.so.6

Thread 1 (Thread 0xf2d09a80 (LWP 28227)):
#0  0xf7726bf0 in __kernel_vsyscall ()
#1  0xf5ccfd3b in poll () at /usr/lib/libc.so.6
#2  0xf6039a8c in g_poll () at /usr/lib/libglib-2.0.so.0
#3  0xf602a428 in g_main_context_iterate.isra () at /usr/lib/libglib-2.0.so.0
#4  0xf602a831 in g_main_loop_run () at /usr/lib/libglib-2.0.so.0
#5  0xf67f80cd in gtk_main () at /usr/lib/libgtk-3.so.0
#6  0xf7067865 in wxGUIEventLoop::DoRun() ()
   at /usr/lib/libwx_gtk3u_core-3.0.so.0
#7  0xf74f5ec0 in wxEventLoopBase::Run() () at /usr/lib/libwx_baseu-3.0.so.0
#8  0xf74b4a9c in wxAppConsoleBase::MainLoop() ()
   at /usr/lib/libwx_baseu-3.0.so.0
#9  0xf74ad2b3 in wxAppConsoleBase::OnRun() () at /usr/lib/libwx_baseu-3.0.so.0
#10 0xf7136e5f in wxAppBase::OnRun() () at /usr/lib/libwx_gtk3u_core-3.0.so.0
#11 0xf754b8c3 in wxEntry(int&, wchar_t**) () at /usr/lib/libwx_baseu-3.0.so.0
#12 0xf754b967 in wxEntry(int&, char**) () at /usr/lib/libwx_baseu-3.0.so.0
#13 0x081f26f1 in main(int, char**) (argc=4, argv=0xff8b62a4)
   at /home/toxicshadow/build_env/pcsx2/pcsx2/gui/AppMain.cpp:67
I built it using a 32bit virtual machine and run it on my 64bit machine with 32bit libs.
This path "/home/toxicshadow/build_env/pcsx2/common/include/x86emitter/internal.h: No such file or directory" is a reference to my virtual machine? Is that that what is causing the problem?
Reply

Sponsored links

#2
I think this might be related to the fact that i built a debug build and not a release build. Thinking back I remember seeing optimization references during the build process.

I am building a release version now.

Will keep you posted
Reply
#3
Forget about gdb. It won't give you any info.

Try to change a couple of option
1/ Use native resolution
2/ disable accurate blending
3/ disable accurate date

Then what is your driver?

And yes if you can find the first bad commit, it will greatly help. (at least a limited range of commits)
Reply
#4
(02-21-2016, 03:55 PM)toxicshadow Wrote: I think this might be related to the fact that i built a debug build and not a release build. Thinking back I remember seeing optimization references during the build process.

I am building a release version now.

Will keep you posted

Debug build disable tons of optimization. Dev is barely better but usable at least. Please be sure that you have a release build.
Reply
#5
Hi Gregory,

It turns out there is nothing wrong. Its just me being an idiot.

I forgot that I had left the build type as debug in my build script instead of reverting it to release.

I have since built a release build and performance is back to normal.

Sorry

P.S. Its quite impressive to see the amount of difference that optimizations can make.
Reply
#6
Yeah, GCC doesn't support very well some GSdx wrapper.
Reply




Users browsing this thread: 1 Guest(s)