ZDBSP 1.9: Obviously ZDBSP 1.8 Wasn't the End

News about ZDoom, its child ports, or any closely related projects.
[ZDoom Home] [Documentation (Wiki)] [Official News] [Downloads] [Discord]
[🔎 Google This Site]

Moderator: GZDoom Developers

User avatar
randi
Site Admin
Posts: 7746
Joined: Wed Jul 09, 2003 10:30 pm
Contact:

ZDBSP 1.9: Obviously ZDBSP 1.8 Wasn't the End

Post by randi »

ZDBSP 1.9 is out and fixes a crash bug that could sometimes occur on maps with unused sectors. There is also support for SSE1 without SSE2, so users with Pentium 3s or Athlon XPs will received improved performance from this version. People with SSE2-compatible processors will see a minor speedup as well.

Update: It seems I uploaded the Visual C++ version of ZDBSP instead of the GCC version by mistake. To rectify this, I have reuploaded it as ZDBSP 1.9.1. This is exactly the same as the old ZDBSP 1.9 but built with a different compiler that manages to make it faster.
Last edited by randi on Thu Jun 29, 2006 11:17 am, edited 1 time in total.
User avatar
Enjay
 
 
Posts: 26534
Joined: Tue Jul 15, 2003 4:58 pm
Location: Scotland
Contact:

Post by Enjay »

Does this bug affect the version that comes as part of the Zdoom exe or did it just affect the stand-alone version?
User avatar
Wills
Posts: 1446
Joined: Mon Jan 10, 2005 7:01 pm
Location: The Well of Wishes

Post by Wills »

You've been an update machine lately, haven't you? Maybe WoW has loosened its grip. :)
User avatar
randi
Site Admin
Posts: 7746
Joined: Wed Jul 09, 2003 10:30 pm
Contact:

Post by randi »

Enjay: The bug only affected the stand-alone version, since the internal one doesn't remove sectors.
User avatar
Phobus
Posts: 5984
Joined: Thu May 05, 2005 10:56 am
Location: London
Contact:

Post by Phobus »

@Wills: Don't jinx it!

@randy: Was this linked with ace's bug report, by any chance?

EDIT: Heh, never mind, just saw the closed bug thread.

Thanks again for all your time and effort Randy :)
Last edited by Phobus on Mon Jun 26, 2006 3:30 pm, edited 1 time in total.
User avatar
Bio Hazard
Posts: 4019
Joined: Fri Aug 15, 2003 8:15 pm
Location: ferret ~/C/ZDL $
Contact:

Post by Bio Hazard »

Wills wrote:You've been an update machine lately, haven't you? Maybe WoW has loosened its grip. :)
Well obviously, when you have several able minds working on the source code, update interverals are a bit closer.
NiGHTMARE
Posts: 3463
Joined: Sat Jul 19, 2003 8:39 am

Post by NiGHTMARE »

Let's hope Randy crams in as much ZDoom coding as possible before the Burning Crusade (the first WoW expansion) comes out... :P
User avatar
Hirogen2
Posts: 2033
Joined: Sat Jul 19, 2003 6:15 am
Graphics Processor: Intel with Vulkan/Metal Support
Location: Central Germany
Contact:

Post by Hirogen2 »

nodebuild_classify_sse1.cpp from zdbsp r228 exists, but is empty.

Code: Select all

// You may notice that this function is identical to ClassifyLine2.^M           
// The reason it is SSE2 is because this file is explicitly compiled^M          
// with SSE2 math enabled, but the other files are not.^M                       
Maybe use an #include "classifyline.c"? (It does not look as good, but it saves the copy&past'ing).

Do you actually use a win32 gcc to compile zdbsp? Or does MSVC have an equivalent to gcc's -msse/-msse2?
Marcus
Posts: 34
Joined: Mon Feb 27, 2006 10:23 pm

Post by Marcus »

What is this program, and what does it do?
User avatar
Alterworldruler
Posts: 622
Joined: Mon Dec 19, 2005 7:31 am

Post by Alterworldruler »

Nodebuilder! and it builds nodes faster and better than BSP
User avatar
randi
Site Admin
Posts: 7746
Joined: Wed Jul 09, 2003 10:30 pm
Contact:

Post by randi »

Hirogen2 wrote:Do you actually use a win32 gcc to compile zdbsp?
Yes, because GCC produced the fastest code, but you can set per-file optimization settings in VC++ as well. That's why the SSE optimization is present in ZDoom's internal nodebuilder as well. Writing a hand-optimized version of the routine that uses vector math might afford an appreciable speedup, but I'm pretty happy with the way it is now. If I do write a hand-optimized version, it will be for purely academic interest and not because I expect a huge speedup. That's what happened with the backpatching I added in this version.
entryway
Posts: 59
Joined: Tue Aug 30, 2005 1:04 pm

Post by entryway »

I compiled zdbsp with Intel compiler and zdbsp builds nodes for thespir2.wad for 1.28-1.29 seconds instead of 1.39-1.40
Last edited by entryway on Tue Jun 22, 2010 4:05 pm, edited 1 time in total.
User avatar
Bio Hazard
Posts: 4019
Joined: Fri Aug 15, 2003 8:15 pm
Location: ferret ~/C/ZDL $
Contact:

Post by Bio Hazard »

Looks like the SSE2 ZDBSP out of GCC 3.4.6 can build KDiZD's nodes in 57.17 seconds.
entryway
Posts: 59
Joined: Tue Aug 30, 2005 1:04 pm

Post by entryway »

zdbsp19.exe zdoomcmp1.wad - 2.7 sec
zdbsp19_intel.exe zdoomcmp1.wad - 2.3 sec
User avatar
randi
Site Admin
Posts: 7746
Joined: Wed Jul 09, 2003 10:30 pm
Contact:

Post by randi »

That looks like a pretty nice speedup from the Intel compiler. I'm curious, though, did you build your own ZDBSP 1.9 with GCC or use the one I provided? I accidentally uploaded a Visual C++ build instead of a GCC one, which I discovered after seeing your post and wanting to see what time I got for zdoomcmp1.wad. I noticed ZDBSP 1.9 was slower than ZDBSP 1.8, which I knew couldn't be right, and that was when I discovered my mistake.

Anyway, here are my times (1.6 GHz Pentium M):

version 1.8: 2.34 seconds
version 1.9 (VC++ build): 2.64 seconds
version 1.9 (GCC build): 2.30 seconds

If the Intel version is still faster than the GCC version, I'd be interested in seeing its assembler output for the ClassifyLine functions. Since the nodebuilder spends over half its time in that one function, it seems the best place to optimize.
Post Reply

Return to “ZDoom (and related) News”