Jump to content
The Dark Mod Forums
Sign in to follow this  
cabalistic

Testers and reviewers wanted: BFG-style vertex cache

Recommended Posts

I think I got it working on all vendors, though persistent mapping is strangely slow on AMD

RX 560: 34 vs 49 fps

HD 630: 28 vs 28 fps

GTX 1060: 103 vs 84 fps

Could it be the secondary PCI-E slot with just 4 lanes, or maybe I'm doing it all wrong.

Test package: https://drive.google.com/file/d/0B9OoHSmkeSeNZWdyZFliQkNsVTA/view?usp=sharing

  • Like 2

Share this post


Link to post
Share on other sites
15 hours ago, duzenko said:

It helped, on multiple levels

I have made some changes but I think I better test it myself on a Radeon first


And I should know that why? IMO you need to start using smiles because I don't know if I should take that reply in a bad direction or not, specially today, when my day job was so stressful and i'm not in a good mood.

I was wrong to mention 32 bits but why call one x64 and not the other when both are 64bits?  In that way there would be no confusion from my part.  

I suppose, written texts are always ambiguous like that. I was ironic about my own silliness, but you took it in your address.

Sorry for being so triggered, like I said I was not in a good mood but I should not have being so sensitive but I was and I can't take it back now. When you think I should test on radeon again just say it and if i'm available I will test again. :)  

 

edit:

I see you already solved the problem, today I can't test because i'm not on my PC, tomorrow I will test it. Sad to hear that it runs slow on AMD tho.

Edited by HMart

Share this post


Link to post
Share on other sites

I think I managed to get around the missing geometry (still don't quite understand what the problem is) but I would very much like other people to test the speed - if it's my particular setup or Radeons in general.

Just remember to restart after toggling r_usePersistentMapping for it to apply.

 Sorry for being so triggered, like I said I was not in a good mood but I should not have being so sensitive but I was and I can't take it back now. When you think I should test on radeon again just say it and if i'm available I will test again. :)   

Sure, I can relate to that. Nobody is perfect. Just ask Bikerdude LOL. (I still think think banning him does not make sense)

Share this post


Link to post
Share on other sites

One more thing to test: r_useBasePointer (1 by default). It makes use of the ARB_draw_elements_base_vertex extension, available on virtually all DX10 GPUs.

This should be useful in heavy scenes with lots of draw calls

I get about 10% of fps increase in Perilous Refuge (58->64)

https://drive.google.com/file/d/0B9OoHSmkeSeNZWdyZFliQkNsVTA/view?usp=sharing

Share this post


Link to post
Share on other sites

There're some problems with OpenAL Soft integration and the lastest updates of Windows ?

 

STACK_TEXT:  
00000067`1cbfebd8 00007ff7`253bef66 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : 0x0
00000067`1cbfebe0 00007ff7`253bc28b : 00007ff7`25855e30 00007ff7`24ed17d1 00007ff7`25a682f0 00000000`00000258 : TheDarkModx64NoTools!alcResetDeviceSOFT+0x1846
00000067`1cbfec10 00007ff7`252df1db : 00000000`00000000 00000000`00000258 00000000`00000258 00000000`40000000 : TheDarkModx64NoTools!alcGetString+0x27b
00000067`1cbfec50 00007ff7`24ecf1c0 : 00007ff7`25aa3930 00000196`f324359b 00007ff7`25aa3930 00000196`f324359b : TheDarkModx64NoTools+0x4bf1db
00000067`1cbfecd0 00007ff7`24ecea21 : 00007ff7`262bfd6c 00000067`1cbfed68 00000196`f324359b 00000067`1cbfed68 : TheDarkModx64NoTools+0xaf1c0
00000067`1cbfed00 00007ff7`252ede2c : 00007ff7`25a84600 00007ff7`00000000 00000000`00000001 00000000`00000000 : TheDarkModx64NoTools+0xaea21
00000067`1cbff780 00007ff7`256dbf3e : 00000000`00000001 00000000`00000000 00000000`00000000 00000000`00000000 : TheDarkModx64NoTools+0x4cde2c
00000067`1cbff7b0 00007ff8`5f967bd4 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : TheDarkModx64NoTools!ilConvertImage+0x2b56be
00000067`1cbff7f0 00007ff8`60b2ced1 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : kernel32!BaseThreadInitThunk+0x14
00000067`1cbff820 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!RtlUserThreadStart+0x21


SYMBOL_NAME:  thedarkmodx64notools!alcResetDeviceSOFT+1846

MODULE_NAME: TheDarkModx64NoTools

IMAGE_NAME:  TheDarkModx64NoTools.exe

STACK_COMMAND:  ~0s ; .ecxr ; kb

FAILURE_BUCKET_ID:  SOFTWARE_NX_FAULT_c0000005_TheDarkModx64NoTools.exe!alcResetDeviceSOFT

OS_VERSION:  10.0.18362.1

BUILDLAB_STR:  19h1_release

OSPLATFORM_TYPE:  x64

OSNAME:  Windows 10

FAILURE_ID_HASH:  {d48ef72f-53d8-9311-f766-4ac4130435fa}

Followup:     MachineOwner
Edited by lowenz

Task is not so much to see what no one has yet seen but to think what nobody has yet thought about that which everybody see. - E.S.

Share this post


Link to post
Share on other sites

TDM 2.07, same behaviour

 

STACK_TEXT:  
000000b5`d3bff038 00007ff8`382e0b79 : 00000000`00000000 00000000`00010007 00000000`00000000 00000000`00000000 : 0x0
000000b5`d3bff040 00007ff6`1fa6f9bd : 00000000`00000000 00000000`00010007 00000000`00000258 00000000`00000000 : ExtLibsx64!alcGetString+0x429
000000b5`d3bff080 00007ff6`1f6ae945 : 00007ff6`22e141ac 00000000`00010007 00007ff6`22e141ac 00000000`00010007 : TheDarkModx64+0x41f9bd
000000b5`d3bff110 00007ff6`1f6adf47 : 00007ff6`22e141ac 00000000`00010007 00007ff6`1fe59ca0 00007ff6`00000100 : TheDarkModx64+0x5e945
000000b5`d3bff140 00007ff6`1fa7e80d : 00007ff6`1ff22a98 00007ff6`00000000 0000020f`afe53574 00000000`00000000 : TheDarkModx64+0x5df47
000000b5`d3bffbe0 00007ff6`1fc517ce : 00000000`00000001 00000000`00000001 00000000`00000000 00000000`00000000 : TheDarkModx64+0x42e80d
000000b5`d3bffc20 00007ff8`5f967bd4 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : TheDarkModx64+0x6017ce
000000b5`d3bffc60 00007ff8`60b2ced1 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : kernel32!BaseThreadInitThunk+0x14
000000b5`d3bffc90 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!RtlUserThreadStart+0x21


SYMBOL_NAME:  extlibsx64!alcGetString+429

MODULE_NAME: ExtLibsx64

IMAGE_NAME:  ExtLibsx64.dll

STACK_COMMAND:  ~0s ; .ecxr ; kb

FAILURE_BUCKET_ID:  SOFTWARE_NX_FAULT_c0000005_ExtLibsx64.dll!alcGetString

OS_VERSION:  10.0.18362.1

BUILDLAB_STR:  19h1_release

OSPLATFORM_TYPE:  x64

OSNAME:  Windows 10

FAILURE_ID_HASH:  {2901fcf3-f456-315a-18a6-cfd41b2c0ad9}

Followup:     MachineOwner
Edited by lowenz

Task is not so much to see what no one has yet seen but to think what nobody has yet thought about that which everybody see. - E.S.

Share this post


Link to post
Share on other sites

 

On 9/28/2019 at 4:44 PM, lowenz said:

There're some problems with OpenAL Soft integration and the lastest updates of Windows ?

Where did you take PDB (debug symbols) from? Are you sure it matches the executable?

Share this post


Link to post
Share on other sites

WinDBG downloads them automatically.

 

I have a similar problem with the lastest self-compiled (MSVC 2019) versions of Soft OpenAL and Unreal 2.....(crash - no crash with the 1.19.1 version of october 2018)

Edited by lowenz

Task is not so much to see what no one has yet seen but to think what nobody has yet thought about that which everybody see. - E.S.

Share this post


Link to post
Share on other sites

Moderators might want to move the AL complaints into a new thread but I would check your sound card/drivers first

Share this post


Link to post
Share on other sites

OpenAL Soft does not use the sound card, only the CPU. It's a pure software solution, based on WASAPI interface.

Edited by lowenz

Task is not so much to see what no one has yet seen but to think what nobody has yet thought about that which everybody see. - E.S.

Share this post


Link to post
Share on other sites
9 minutes ago, lowenz said:

OpenAL Soft does not use the sound card, only the CPU. It's a pure software solution, based on WASAPI interface.

Good to know.

Did 2.07 ever work for you? When did it stop working?

Share this post


Link to post
Share on other sites

Some days ago, maybe after switching to new VC2019 runtime package or the lastest Windows Update......

Edited by lowenz

Task is not so much to see what no one has yet seen but to think what nobody has yet thought about that which everybody see. - E.S.

Share this post


Link to post
Share on other sites
On 9/27/2019 at 3:43 PM, duzenko said:

I think I got it working on all vendors, though persistent mapping is strangely slow on AMD

RX 560: 34 vs 49 fps

HD 630: 28 vs 28 fps

GTX 1060: 103 vs 84 fps

Could it be the secondary PCI-E slot with just 4 lanes, or maybe I'm doing it all wrong.

Test package: https://drive.google.com/file/d/0B9OoHSmkeSeNZWdyZFliQkNsVTA/view?usp=sharing

 

On 9/28/2019 at 9:12 AM, duzenko said:

One more thing to test: r_useBasePointer (1 by default). It makes use of the ARB_draw_elements_base_vertex extension, available on virtually all DX10 GPUs.

This should be useful in heavy scenes with lots of draw calls

I get about 10% of fps increase in Perilous Refuge (58->64)

https://drive.google.com/file/d/0B9OoHSmkeSeNZWdyZFliQkNsVTA/view?usp=sharing

 

Was able to make a quick test of the new exe, again in Volta 2, frame rate with my AMD RX 570X, with persistent mapping on/off and r_useBasePointer on/off  IMO was not bad at all, more or less (max locked) 60fps's in both cases. Disabling r_useBasePointer didn't seem to affect anything, framerate apparently stayed the same (Perhaps my GPU is just too fast in Volta 2 and needs a heavier mission to test?), I used the engine fps counter btw (com_showFPS) one thing that I detected was that the water shader of the river in Volta 2 (at the start) is messed up again, with your older exe (and persistent mapping off) the water worked fine!

Now to bed...

Share this post


Link to post
Share on other sites
10 hours ago, lowenz said:

Some days ago, maybe after switching to new VC2019 runtime package or the lastest Windows Update......

Is it an option for you to try and debug TDM from the source code? Cause we sure don't see any OpenAL crashes on our side.

Share this post


Link to post
Share on other sites
8 hours ago, HMart said:

Was able to make a quick test of the new exe, again in Volta 2, frame rate with my AMD RX 570X, with persistent mapping on/off and r_useBasePointer on/off  IMO was not bad at all, more or less (max locked) 60fps's in both cases. Disabling r_useBasePointer didn't seem to affect anything, framerate apparently stayed the same (Perhaps my GPU is just too fast in Volta 2 and needs a heavier mission to test?), I used the engine fps counter btw (com_showFPS) one thing that I detected was that the water shader of the river in Volta 2 (at the start) is messed up again, with your older exe (and persistent mapping off) the water worked fine!

Now to bed...

Thanks, it would be good to know it's not that bad on AMD after all but I don't know how heavy your test scene is.

However it probably does not make sense to test these two changes with VSync or locked FPS.

Also make sure your draw call is 3K, or better 4K+ with con_noPrint/r_showPrimitives

Share this post


Link to post
Share on other sites
4 hours ago, duzenko said:

Is it an option for you to try and debug TDM from the source code? Cause we sure don't see any OpenAL crashes on our side.

A link to the building process instructions? :D

Github alternative to SVN repo?

Edited by lowenz

Task is not so much to see what no one has yet seen but to think what nobody has yet thought about that which everybody see. - E.S.

Share this post


Link to post
Share on other sites

Thanks, man!

"If compiling 2.07, make sure "Windows XP support for C++" is installed too (not needed for 2.08)" is still relevant ?

In MSVC 2019 that package is deprecated (and requires VS 2017 tools / Win 7.1 SDK)

Edited by lowenz

Task is not so much to see what no one has yet seen but to think what nobody has yet thought about that which everybody see. - E.S.

Share this post


Link to post
Share on other sites

Switched to 2.08 trunk to avoid XP packages, got a problem with "xthreadinfo":

xthreadInfo *    g_threads[MAX_THREADS];
int                g_thread_count;

void            Sys_CreateThread( xthread_t function, void *parms, xthreadPriority priority, xthreadInfo &info, const char *name, xthreadInfo *threads[MAX_THREADS], int *thread_count ) {}
void            Sys_DestroyThread( xthreadInfo& info ) {}

 

Severity    Code    Description    Project    File    Line    Suppression State
Error    C2182    'Sys_DestroyThread': illegal use of type 'void'    TypeInfo    D:\Projects\darkmod_src\TypeInfo\main.cpp    207    
Error    C2143    syntax error: missing ';' before '*'    TypeInfo    D:\Projects\darkmod_src\TypeInfo\main.cpp    203    
Error    C2061    syntax error: identifier 'xthreadInfo'    TypeInfo    D:\Projects\darkmod_src\TypeInfo\main.cpp    206    
Error    C4430    missing type specifier - int assumed. Note: C++ does not support default-int    TypeInfo    D:\Projects\darkmod_src\TypeInfo\main.cpp    203    
Error    C4430    missing type specifier - int assumed. Note: C++ does not support default-int    TypeInfo    D:\Projects\darkmod_src\TypeInfo\main.cpp    203    
Error (active)    E0070    incomplete type is not allowed    TypeInfo    D:\Projects\darkmod_src\TypeInfo\main.cpp    207    
Error    C2065    'info': undeclared identifier    TypeInfo    D:\Projects\darkmod_src\TypeInfo\main.cpp    207    
Error    C2065    'MAX_THREADS': undeclared identifier    TypeInfo    D:\Projects\darkmod_src\TypeInfo\main.cpp    203    
Error    C2448    'Sys_DestroyThread': function-style initializer appears to be a function definition    TypeInfo    D:\Projects\darkmod_src\TypeInfo\main.cpp    207    
Error (active)    E0065    expected a ';'    TypeInfo    D:\Projects\darkmod_src\TypeInfo\main.cpp    207    
Error (active)    E0020    identifier "info" is undefined    TypeInfo    D:\Projects\darkmod_src\TypeInfo\main.cpp    207    
Error    C2365    'Sys_DestroyThread': redefinition; previous definition was 'function'    TypeInfo    D:\Projects\darkmod_src\TypeInfo\main.cpp    207    
Error (active)    E0020    identifier "MAX_THREADS" is undefined    TypeInfo    D:\Projects\darkmod_src\TypeInfo\main.cpp    203    
Error (active)    E0020    identifier "MAX_THREADS" is undefined    TypeInfo    D:\Projects\darkmod_src\TypeInfo\main.cpp    206    
Error (active)    E0020    identifier "xthreadInfo" is undefined    TypeInfo    D:\Projects\darkmod_src\TypeInfo\main.cpp    207    
Error (active)    E0020    identifier "xthreadInfo" is undefined    TypeInfo    D:\Projects\darkmod_src\TypeInfo\main.cpp    206    
Error (active)    E0020    identifier "xthreadInfo" is undefined    TypeInfo    D:\Projects\darkmod_src\TypeInfo\main.cpp    206    
Error (active)    E0020    identifier "xthreadInfo" is undefined    TypeInfo    D:\Projects\darkmod_src\TypeInfo\main.cpp    203    
Error (active)    E0020    identifier "sysLocal" is undefined    TypeInfo    D:\Projects\darkmod_src\TypeInfo\main.cpp    245    

 


Task is not so much to see what no one has yet seen but to think what nobody has yet thought about that which everybody see. - E.S.

Share this post


Link to post
Share on other sites
5 hours ago, lowenz said:

Switched to 2.08 trunk to avoid XP packages, got a problem with "xthreadinfo":

xthreadInfo *    g_threads[MAX_THREADS];
int                g_thread_count;

void            Sys_CreateThread( xthread_t function, void *parms, xthreadPriority priority, xthreadInfo &info, const char *name, xthreadInfo *threads[MAX_THREADS], int *thread_count ) {}
void            Sys_DestroyThread( xthreadInfo& info ) {}

Try updating svn. What revision are you now?

8357 should have that fixed.

Don't worry about the typeinfo project. Unload that from the solution, as well as MayaImporter. Or use the NoTools project to save on build time too.

Do you have access to assets svn? You might not be able to run the exe compiled from trunk svn without updated assets (not 100% sure)

Quote

In MSVC 2019 that package is deprecated (and requires VS 2017 tools / Win 7.1 SDK)

Yes, I suppose you need that for 2.07 compile

Share this post


Link to post
Share on other sites
48 minutes ago, duzenko said:

Do you have access to assets svn? You might not be able to run the exe compiled from trunk svn without updated assets (not 100% sure)

-> http://www.thedarkmod.com/downloads/

To get your hands on the latest, most unstable and bug-infested code, you can check out the sources from our SVN server. Use TortoiseSVN or a similar client to download these, the check out URL is:

https://svn.thedarkmod.com/publicsvn/darkmod_src/trunk


Task is not so much to see what no one has yet seen but to think what nobody has yet thought about that which everybody see. - E.S.

Share this post


Link to post
Share on other sites
30 minutes ago, lowenz said:

-> http://www.thedarkmod.com/downloads/

To get your hands on the latest, most unstable and bug-infested code, you can check out the sources from our SVN server. Use TortoiseSVN or a similar client to download these, the check out URL is:

https://svn.thedarkmod.com/publicsvn/darkmod_src/trunk

I guess that's a no

You can try 2.07 assets (game pk4's) plus the glprogs from my test package download link above. It might work or not.

Share this post


Link to post
Share on other sites

No problem about that, I still got the "alcResetDeviceSoft" error way before.....(compiling no matter with Standard C++ or C++17)

 

000000eb`13ffeef8 00007ff7`b7e2b646 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : 0x0
000000eb`13ffef00 00007ff7`b7e2896b : 00007ff7`b8518e70 00007ff7`b7874701 00007ff7`b87de3d0 00000000`00000258 : TheDarkModx6428017!alcResetDeviceSOFT+0x1846
000000eb`13ffef30 00007ff7`b7c4980b : 00000000`00000000 00000000`00000258 00000000`00000258 00000000`40000000 : TheDarkModx6428017!alcGetString+0x27b
000000eb`13ffef70 00007ff7`b787215c : 00007ff7`b945674c 00000000`00010007 00007ff7`b945674c 00000000`00010007 : TheDarkModx6428017+0x48980b
000000eb`13ffeff0 00007ff7`b787172a : 00007ff7`b945674c 00000000`00010007 00007ff7`b8730ca0 00007ff7`00000400 : TheDarkModx6428017+0xb215c
000000eb`13fff020 00007ff7`b7c585fd : 00007ff7`b87fa6e0 00007ff7`00000000 000002b3`89f33599 00000000`00000000 : TheDarkModx6428017+0xb172a
000000eb`13fffac0 00007ff7`b832809a : 00000000`00000001 00000000`00000001 00000000`00000000 00000000`00000000 : TheDarkModx6428017+0x4985fd
000000eb`13fffb10 00007ff9`94847bd4 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : TheDarkModx6428017!alIsAuxiliaryEffectSlot+0x4d299a
000000eb`13fffb50 00007ff9`9520ced1 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : kernel32!BaseThreadInitThunk+0x14
000000eb`13fffb80 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!RtlUserThreadStart+0x21

Edited by lowenz

Task is not so much to see what no one has yet seen but to think what nobody has yet thought about that which everybody see. - E.S.

Share this post


Link to post
Share on other sites
3 minutes ago, lowenz said:

No problem about that, I still got the "alcResetDeviceSoft" error way before.....(compiling no matter with Standard C++ or C++17)

Debug from under VisualStudio, using the Debug configuration

What is the exception message and the stack trace?

Share this post


Link to post
Share on other sites

Please, guide me from here:

Untitled.jpg


Task is not so much to see what no one has yet seen but to think what nobody has yet thought about that which everybody see. - E.S.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...