-
Posts
4149 -
Joined
-
Last visited
-
Days Won
50
Posts posted by duzenko
-
-
So the root cause appears to be that each spilled purse appears twice on the list of entities that get checked. One has a good clipmodel and other has a bad (large) clipmodel. One of the spilled purses gets caught by the lock frob box, and the other doesn't.
So why did it work in 2.04 and not in 2.05?
-
I remember having a similar problem in Illusionist's Tower.
I would still ask for a save uploaded to a 3rd party server like dropbox or google drive.
The reason is I can't frob anything in the safe if I simply noclip into it.
-
Could you upload a save game demonstrating this bug?
-
Last resort options in Darkmod.cfg:
seta image_downSizeBump "1"
seta image_downSizeBumpLimit "256"
seta image_downSizeSpecularLimit "128"
seta image_downSizeSpecular "1"
Then there is
seta image_downSize "1"seta image_downSizeLimit "256"and evenseta r_skipBump "1"
-
I wonder how much the FPS cap plays into it.
Switching from 60 game ticks per second to 1 tick per frame could bring one or two fps depending on your cpu speed. (On a IGP - contrary, dedicated GPU's may not benefit at all if they're 100% utilized),
The major performance issue of a IGP system, I guess, is struggling between CPU and GPU over memory and CPU L3 cache. And the unfortunate feature of the vanilla D3 engine is it tries to read from system memory all the time. And each time it does, IGP has to stall its background operation.
I suggest to install msi afterburner and monitor your GPU load in real time so that we can confirm it is 100% utilized.
-
@Duzenko: I'm pretty sure that FBO wasn't merged into TDM 2.05
My bad.
Well, I can provide custom build binaries for testing purposes.
I know fbo brings no benefits with a dedicated GPU but on my system it is working very well.
-
Do you mean in regards to more fixes for low perf. PC's?
Exactly.
I am myself stuck with a mobile Intel 15W chip.
It's not as bad as the 4W chip I had before but still not enough for 30fps at 1080p.
Mine is a 14nm chip, while yours is 32nm, so it is probably as slow for you at 768p.
The fbo thing I've been sporadically working on recently is designed specifically for low end systems like mine.
I've been thinking about an option to skip particles at all for a long time now, but my knowledge of engine and especially of mapping concepts is very limited.
-
Yes, just updated to 2.05. It says on the ticket "Intel Dual Core B830 1.8 Ghz.
It's an "X301A Asus".
I presume the only solution than is to find time to manually configure and remove particles. Are there any plans to make extreme low settings like these available in the game settings? For low perf. PC's they look quite limited (at least if making the game available to those PC's is in plans at all).
Try
r_usefbo 1
r_fboColorBits 15
r_fboSharedColor 1
r_fboSharedDepth 1
But may I suggest to please create a separate topic for further discussion?
- 1
-
The forum etiquette topis deleted as well?
-
There is this console command
r_lightscale
Maybe try it and see if it does something useful for you
-
There's also a problem with OBS that whenever the compass is on the screen, OBS record just that and nothing else.
Ruined several recording attempts of a few maps.
Fraps works just fine if you have a beefy system and fast HDD to record to, otherwise it will murder your FPS.
Can you give more info on that?
Here's how it looks for me (intel hd 5500)
-
I think it only makes sense to spend time on the compression changes if we can decompress in a separate thread.
It's the only way we could improve both decompression speed and compression ratio.
And improving one at the expense of the other probably leads to no added value.
-
I think highly-compressed LZMA is slower to decompress than zip.
- 2
-
I just want to say that it is the ANSI 8-bit codepage issue.
The system can only map one locale at a time against it and you need to switch between Western, Cyrillic, etc when you have to work with each.
AFAIR MS Word gives you an option to convert from any 8-bit codepage when opening a txt file.
- 1
-
I remember an epic fail when Rage did not work properly out of the box with current AMD drivers but other than that my AMD OpenGL experience has been rather adequate. NVidia has been visibly paying more attention to opengl developers though.
-
So I guess this begs the question. Is it now worthwhile to consider moving to a deferred render approach in TDM now
that GPU hardware is already doing that behind the scenes?
[smartass mode on] Since Pentium Pro x86 cpus have been running RISC microops behind the scenes - so should we move to a RISC compiler?
-
Is this code ever executed and does the fixed code cause any instantly visible problems?
Not sure if TDM uses LWO's anywhere?
-
I think 6735 should be merged to 2.05 for the reasons listed in #27
6736 probably best left for 2.06
- 1
-
I have no way to compile under Windows, though. So if anyone who has that capability could make sure that nothing breaks under Windows (compile-wise at least and, ideally, run-time-wise) that would be very much appreciated.
Compiles to me in vs2013 with your patch.
TRUNK! TRUNK! TRUNK!
-
It sounds like in this case, the GCC compiler is more capable than the Windows compiler, even though this bug (and make no mistake, this is a bug!) affects all OSes. I have a feeling that, overall, the GCC compiler may be much more thorough than the Windows compiler, but I have no hard evidence for this, only my experience over many years of the GCC suite getting better and better at finding problems in my (and others') code. If the Windows compiler has the equivalent of the GCC compiler options "-Wall" ("enables all the warnings about constructions that some users consider questionable") and/or "-Wextra" ("enables some extra warning flags that are not enabled by -Wall"), then it might be wise to enable them (assuming they aren't already), to see what folks compiling under Windows may have been missing for a while. In fact, I'd ask anyone compiling TDM under Windows (duzenko, maybe?) to check: Did it warn about this particular "memset()" call?
With EnableAllWarnings (/Wall) MSVC swallows Model_ase.cpp quietly.
the Dhewm branch has removed the memset. That's a pretty good endorsement for it's removal.
Agree.
-
I don't like warnings-laden code as well.
However in that particular example with sizeof, what would be the fix?That looks like a bug - but who knows what the fix is - clear the pointer, dealloc mem or zero fill ? Or maybe comment out that line altogether?
-
I think Windows build has the boost libs in TDM svn:
src\win32\lib
-
Actually, I believe that Hamlet's patch in the post immediately above yours will help.
Oops, that hurt .
It kinda compiles for me now . Didn't test how it runs because I'm on a VM and you guys run it on real hardware.
Here's my svn patch that combines the changes from multiple Hamlet's patches.
I think we're at the point where it should be applied to trunk.
Index: game/gamesys/TypeInfo.cpp =================================================================== --- game/gamesys/TypeInfo.cpp (revision 6735) +++ game/gamesys/TypeInfo.cpp (working copy) @@ -17,6 +17,29 @@ ******************************************************************************/ +// As stated below, the trick of defining "private" and "protected" is pure evil. +// We pay for it in class definitions that implicitly declare private members +// without using the (default) private visibility declaration. +// This becomes a real problem in code like the one found in GCC 6.2, along the lines: +// +// class Class { +// struct PrivateStruct; // forward declaration +// // ... +// private: +// struct PrivateStruct {}; // actual definition +// }; +// +// In this case, PrivateStruct is implicitly declared private, and then defined as +// "private", that after our trick becomes "public". Joy ensues. +// We import all the things like that before the trick takes places. +// We loose access to some variable inspection, but we gain in compilability +// (and a bit in sanity). +#if defined(__GNUC__) && (__GNUC__ == 6) +// these were observed in GNU GCC 6.2.0 (not in 5.4.0): +#include <sstream> + #endif // if GCC 6+ + + // This is real evil but allows the code to inspect arbitrary class variables. #define private public #define protected public Index: game/pugixml/pugixml.hpp =================================================================== --- game/pugixml/pugixml.hpp (revision 6735) +++ game/pugixml/pugixml.hpp (working copy) @@ -17,6 +17,9 @@ #include "pugiconfig.hpp" #ifndef PUGIXML_NO_STL +#if defined(__clang__) || defined(__GNUC__) +#include <string> +#else namespace std { struct bidirectional_iterator_tag; @@ -43,6 +46,7 @@ template <> class char_traits<char>; #endif } +#endif // if not clang nor GCC #endif // Macro for deprecated features Index: idlib/geometry/RenderMatrix.cpp =================================================================== --- idlib/geometry/RenderMatrix.cpp (revision 6735) +++ idlib/geometry/RenderMatrix.cpp (working copy) @@ -40,11 +40,13 @@ #include "../bv/Bounds.h" #include "RenderMatrix.h" -//anon begin -- just comment this out to disable intrinsics -#define USE_INTRINSICS -#include <intrin.h> -#include "sys_intrinsics.h" -//anon end +//anon begin -- just comment this out to disable intrinsics +#ifdef _MSC_VER +#define USE_INTRINSICS +#include <intrin.h> +#include "sys_intrinsics.h" +#endif // if MicroSoft Compiler +//anon end // FIXME: it would be nice if all render matrices were 16-byte aligned // so there is no need for unaligned loads and stores everywhere Index: include/devil/IL/devil_internal_exports.h =================================================================== --- include/devil/IL/devil_internal_exports.h (revision 6735) +++ include/devil/IL/devil_internal_exports.h (working copy) @@ -24,7 +24,7 @@ #ifndef NOINLINE #ifndef INLINE #if defined(__GNUC__) - #define INLINE extern inline + #define INLINE /* extern */ inline #elif defined(_MSC_VER) #define NOINLINE #define INLINE Index: include/devil/il_bmp.h =================================================================== --- include/devil/il_bmp.h (revision 6735) +++ include/devil/il_bmp.h (working copy) @@ -71,11 +71,11 @@ ILboolean ilReadRLE4Bmp(BMPHEAD *Info); ILboolean iGetOS2Bmp(OS2_HEAD *Header); -#ifdef IL_BMP_C +/*#ifdef IL_BMP_C #undef NOINLINE #undef INLINE #define INLINE -#endif +#endif*/ #ifndef NOINLINE INLINE ILvoid GetShiftFromMask(const ILuint Mask, ILuint * CONST_RESTRICT ShiftLeft, ILuint * CONST_RESTRICT ShiftRight) { Index: include/devil/il_endian.h =================================================================== --- include/devil/il_endian.h (revision 6735) +++ include/devil/il_endian.h (working copy) @@ -56,36 +56,36 @@ #define BigDouble(d) iSwapDouble(d) #endif -ILvoid iSwapUShort(ILushort *s); -ILvoid iSwapShort(ILshort *s); -ILvoid iSwapUInt(ILuint *i); -ILvoid iSwapInt(ILint *i); -ILvoid iSwapFloat(ILfloat *f); -ILvoid iSwapDouble(ILdouble *d); -ILushort GetLittleUShort(); -ILshort GetLittleShort(); -ILuint GetLittleUInt(); -ILint GetLittleInt(); -ILfloat GetLittleFloat(); -ILdouble GetLittleDouble(); -ILushort GetBigUShort(); -ILshort GetBigShort(); -ILuint GetBigUInt(); -ILint GetBigInt(); -ILfloat GetBigFloat(); -ILdouble GetBigDouble(); -ILubyte SaveLittleUShort(ILushort s); -ILubyte SaveLittleShort(ILshort s); -ILubyte SaveLittleUInt(ILuint i); -ILubyte SaveLittleInt(ILint i); -ILubyte SaveLittleFloat(ILfloat f); -ILubyte SaveLittleDouble(ILdouble d); -ILubyte SaveBigUShort(ILushort s); -ILubyte SaveBigShort(ILshort s); -ILubyte SaveBigUInt(ILuint i); -ILubyte SaveBigInt(ILint i); -ILubyte SaveBigFloat(ILfloat f); -ILubyte SaveBigDouble(ILdouble d); +inline ILvoid iSwapUShort(ILushort *s); +inline ILvoid iSwapShort(ILshort *s); +inline ILvoid iSwapUInt(ILuint *i); +inline ILvoid iSwapInt(ILint *i); +inline ILvoid iSwapFloat(ILfloat *f); +inline ILvoid iSwapDouble(ILdouble *d); +inline ILushort GetLittleUShort(); +inline ILshort GetLittleShort(); +inline ILuint GetLittleUInt(); +inline ILint GetLittleInt(); +inline ILfloat GetLittleFloat(); +inline ILdouble GetLittleDouble(); +inline ILushort GetBigUShort(); +inline ILshort GetBigShort(); +inline ILuint GetBigUInt(); +inline ILint GetBigInt(); +inline ILfloat GetBigFloat(); +inline ILdouble GetBigDouble(); +inline ILubyte SaveLittleUShort(ILushort s); +inline ILubyte SaveLittleShort(ILshort s); +inline ILubyte SaveLittleUInt(ILuint i); +inline ILubyte SaveLittleInt(ILint i); +inline ILubyte SaveLittleFloat(ILfloat f); +inline ILubyte SaveLittleDouble(ILdouble d); +inline ILubyte SaveBigUShort(ILushort s); +inline ILubyte SaveBigShort(ILshort s); +inline ILubyte SaveBigUInt(ILuint i); +inline ILubyte SaveBigInt(ILint i); +inline ILubyte SaveBigFloat(ILfloat f); +inline ILubyte SaveBigDouble(ILdouble d); #ifdef IL_ENDIAN_C #undef NOINLINE
-
Crinkelite: If you have not already done so:
duzenko: When you return:
I would encourage you both to take a look at Hamlet's patches, specifically the 'pugi_strings.patch.txt' patch. I think it will further your compilation attempts under Ubuntu 16.10.
I would be interested to hear your results if you get a chance to try it.
Pugxml has stopped complaining with that patch. It's good to be applied to trunk IMHO.
Now I have this access redeclaration error. AFAIR it was mentioned somewhere already but can't remember where and whether it has been sorted out.
P.S. Great job so far, Hamlet, NightStalker
- 1
Beta Testing Needed - A House of Locked Secrets
in Fan Missions
Posted
The left bottom box is the hidden lightgem
It shows in areas that have no walls and no sky