GZStats: A quick rundown

Here, developers communicate stuff that does not go onto the main News section or the front page of the site.
[Dev Blog] [Development Builds] [Git Change Log] [GZDoom Github Repo]

Moderator: GZDoom Developers

User avatar
Marrub
 
 
Posts: 1198
Joined: Tue Feb 26, 2013 2:48 pm
Preferred Pronouns: No Preference
Operating System Version (Optional): Arch Linux
Graphics Processor: ATI/AMD with Vulkan/Metal Support

Re: GZStats: A quick rundown

Post by Marrub »

Graf Zahl wrote:dpJudas already mentioned Steam's survey. Currently this is the only source of data we have. Going by that data, though, we could easily decide that we can entirely remove the software 2D rendering, all the legacy hardware support from the D3D 2D rendering part, all of OpenGL 2.0 and make OpenGL 3.3 a requirement to run the engine, and also ditch Windows XP which is a royal pain in the ass to keep active, because it requires linking to an ancient Windows SDK. We could also assume that most users have 4 CPU cores and that we do not have to bother with any kind of legacy hardware because it is virtually non-existent, meaning some aggressive multithreading optimization that might throw more users of old systems under the bus.
THAT'S the current info we got, no poll on the forum gave us any insight - hardly surprising when >95% of all users never come here - and right now the lack of knowledge is seriously stalling our decision making. Do you want us to make any kind of decision based on such spotty data? I am feeling very uncomfortable doing do and would really like to get a better picture of GZDoom's users' hardware. By that I do not mean to know what system any given user owns but an idea how it is distributed among different generations of computers. Because with such data we CAN decide if a certain optimization is worth going or discontinuing support for some class of older systems would be acceptable.
So the plan is to use this data to alienate your userbase? Er... :?
User avatar
Kinsie
Posts: 7402
Joined: Fri Oct 22, 2004 9:22 am
Graphics Processor: nVidia with Vulkan support
Location: MAP33

Re: GZStats: A quick rundown

Post by Kinsie »

Marrub wrote:So the plan is to use this data to alienate your userbase? Er... :?
That's the decision he'd be making if he'd use the Steam Hardware Survey data. He wants data from actual engine users to avoid casting off large amounts of the groups that don't go to this forum or bother to click polls or whatever (which is a non-trivial amount).
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49130
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: GZStats: A quick rundown

Post by Graf Zahl »

dpJudas wrote:Even noscript won't protect you from this.
I have made it a habit to add as many tracking sites as possible to my HOSTS file to redirect them into the nirvana. I know it's not foolproof but it certainly helps.
But my main weapon against this is still Tor.
dpJudas wrote: Add on top the ISP that can do packet inspection if they'd like. God save you if you have a phone made the last 10 years - it just gave away your physical location to Google or Apple. Not that they really need it, because they already have a database linking IP ranges to physical locations. Your credit card just told your bank everything you buy, from the last purchase at the supermarket to your computer. Add more stuff here for the paranoid mind. ;)
I only refer to that one post further above about some random forum user gathering some actually relevant data about some other user in virtually no time.
Here's the reality. What do I do if I want to get to know Marrub? No, I wouldn't sneak some telemetry software onto his computer, I would scan the WWW for posts he made in various forums. With many people that's actually simple, because they use the same nick in various places, and once you can confirm that the Marrub on XYZ-Forum is the same one as Marrub on ZDoom forums, you immediately got a lot more data to cross-reference. Maybe I'm even lucky enough to find out his real name that way.
dpJudas wrote: But in all of this, the thing that seems to bother you is that we get to know how many cores your computer got.
With some people the problem really seems to be that they are only bothered when they actually know what data gets collected, regardless of how insignificant it is. The pieces of info being gathered here cannot even determine if your computer is 6 years old or 6 weeks old, if they fall into the same rough group.
dpJudas wrote:
Kinsie wrote:Then it's probably best to hold off on enabling such functionality in release builds until it can be done in a way that doesn't make people uncomfortable.
Hah! No matter what you do in life, it will make someone "uncomfortable" somewhere. But hey, don't get me wrong. I'm all for blocking this attempt at getting real information. The Steam survey fits my agenda nicely, with less than 1% usage numbers for the platforms I don't feel like supporting its exactly what I want. :D
Same here. But we are not that inconsiderate. Instead we try to get a more realistic picture, and it's still wrong for some people... :?
User avatar
Hellser
Global Moderator
Posts: 2726
Joined: Sun Jun 25, 2006 4:43 pm
Preferred Pronouns: He/Him
Operating System Version (Optional): Windows 11
Graphics Processor: ATI/AMD with Vulkan/Metal Support
Location: Citadel Station

Re: GZStats: A quick rundown

Post by Hellser »

There seems to be two sides to this. I understand why the developers need this information. I also understand things from the consumer side of things. I personally accept the "send anonymous information" option when it is presented to me. Again. When it is presented to me. I'm not going to opt out of this, I didn't specifically say that in my first post in this thread. I would like for there to be an option when the game launches. Much like what Kinsie proposes.

To kill two birds with one stone, I read* something about reworking that IWAD selector dialog so it'll work across all systems. How about you fix that, get that all nice and pretty. Then you add in the stat collector / dialog saying that the game will be collecting anonymous information relating to our computers (specs, operating system, etc.)

* = Again, read. I think it was on these forums somewhere.
User avatar
Marrub
 
 
Posts: 1198
Joined: Tue Feb 26, 2013 2:48 pm
Preferred Pronouns: No Preference
Operating System Version (Optional): Arch Linux
Graphics Processor: ATI/AMD with Vulkan/Metal Support

Re: GZStats: A quick rundown

Post by Marrub »

Kinsie wrote:
Marrub wrote:So the plan is to use this data to alienate your userbase? Er... :?
That's the decision he'd be making if he'd use the Steam Hardware Survey data. He wants data from actual engine users to avoid casting off large amounts of the groups that don't go to this forum or bother to click polls or whatever (which is a non-trivial amount).
Then we're using this survey to decide not to alienate the userbase. So it just becomes a meaningless turf war with a result that should already just be "don't do that." That's not any better.
User avatar
Chris
Posts: 2950
Joined: Thu Jul 17, 2003 12:07 am
Graphics Processor: ATI/AMD with Vulkan/Metal Support

Re: GZStats: A quick rundown

Post by Chris »

Marrub wrote:So the plan is to use this data to alienate your userbase? Er... :?
Just the opposite. It's being used to figure out who the userbase is. It would say whether the work to keep WinXP compatibility is necessary, or if it can be dropped without alienating the userbase. It would say if the user-base still has a significant portion of single- or dial-core systems, such that they need to be kept in consideration for future enhancements. Stuff like that.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49130
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: GZStats: A quick rundown

Post by Graf Zahl »

Marrub wrote: So the plan is to use this data to alienate your userbase? Er... :?
Then skip the 3.3 release. I do not expect this to run longer than maybe 2 or 3 months, because then we have gathered enough data to make informed decisions on it. The survey may be re-run at a later time if the need arises, but there's no need to continuously gather this info.

But you can expect far more people to be unhappy if we make decisions based on Steam HWSurvey and thus shut out a potentially larger part of our user base.
And this surely needs to be presented to the users in a positive way. Right now the bare functionality has been added, nothing more.
Hellser wrote: I read* something about reworking that IWAD selector dialog so it'll work across all systems.
The IWAD selector is written in native UI code on each platform. So extending this will have to be done for each platform (which on Linux is a bit messy because it has no native UI that can be relied upon.
And since the data consists of merely 3 points, I think a simple message box at the start would be sufficient to present the information and the available options to the user.
User avatar
Hellser
Global Moderator
Posts: 2726
Joined: Sun Jun 25, 2006 4:43 pm
Preferred Pronouns: He/Him
Operating System Version (Optional): Windows 11
Graphics Processor: ATI/AMD with Vulkan/Metal Support
Location: Citadel Station

Re: GZStats: A quick rundown

Post by Hellser »

Graf Zahl wrote:The IWAD selector is written in native UI code on each platform. So extending this will have to be done for each platform (which on Linux is a bit messy because it has no native UI that can be relied upon.
And since the data consists of merely 3 points, I think a simple message box at the start would be sufficient to present the information and the available options to the user.
Alright. That makes sense. Also: If you can add this in as a simple message and give us options, then great. That's all I ask. :D
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49130
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: GZStats: A quick rundown

Post by Graf Zahl »

Chris wrote:
Marrub wrote:So the plan is to use this data to alienate your userbase? Er... :?
Just the opposite. It's being used to figure out who the userbase is. It would say whether the work to keep WinXP compatibility is necessary, or if it can be dropped without alienating the userbase. It would say if the user-base still has a significant portion of single- or dial-core systems, such that they need to be kept in consideration for future enhancements. Stuff like that.
To make it clear, here's the things that need deciding right now:

1. Do we still need the DirectDraw backend for the software renderer.
2. Does it make sense to support the D3D backend for ancient Shader Model 1.4 cards.
3. How important is Windows XP support? Is it still significant or merely some residual noise?
4. Can we drop OpenGL 2.x?

All these are big progress blockers. The biggest one is actually OpengL 2.x support, because it completely blocks any desperately needed refactoring of the GL 4.x renderer. It is entirely impossible to modernize the renderer without scrapping legacy support, because that legacy hardware is missing all the features that are necessary to optimize the renderer. But for making that decision we NEED realistic data first.
User avatar
Kinsie
Posts: 7402
Joined: Fri Oct 22, 2004 9:22 am
Graphics Processor: nVidia with Vulkan support
Location: MAP33

Re: GZStats: A quick rundown

Post by Kinsie »

Graf Zahl wrote:The IWAD selector is written in native UI code on each platform. So extending this will have to be done for each platform (which on Linux is a bit messy because it has no native UI that can be relied upon.
Slightly off topic, but considering the headaches this provides developers (duplicating work etc. as you described) and some modders (bizarre file formats for Hexen startup etc.), it might be worth dedicating a future release to making this situation less hairy. Not easy work, since it'd likely involve rewriting/porting the whole shebang to a multiplatform UI library that doesn't suck and that multiple programmers across multiple platforms don't hate (which in themselves are rarer than rocking horse poop), but it'd potentially save future gnashing of teeth and balling of fists.
dpJudas
 
 
Posts: 3109
Joined: Sat May 28, 2016 1:01 pm

Re: GZStats: A quick rundown

Post by dpJudas »

Kinsie wrote:I'm pretty sure a generic OS confirm dialogue like this one isn't exactly going to break the bank in your time budget
It is not that simple. MessageBox(hwnd, text, caption, type) does not work on Mac or Linux. Particular Linux is problematic as there's no real standard toolkit. I don't know what the state of the launch screen is there, but if I don't think I even saw one when I launched GZDoom on Linux last. Maybe I didn't have the GTK dev packages installed - which shows the problem, now we might be in the process of changing the build script.

For what it's worth, I'm all for asking the user. I just don't think people complaining about it realize just how few developer resources GZDoom really has.
Graf Zahl wrote:
dpJudas wrote: Hah! No matter what you do in life, it will make someone "uncomfortable" somewhere. But hey, don't get me wrong. I'm all for blocking this attempt at getting real information. The Steam survey fits my agenda nicely, with less than 1% usage numbers for the platforms I don't feel like supporting its exactly what I want. :D
Same here. But we are not that inconsiderate. Instead we try to get a more realistic picture, and it's still wrong for some people... :?
I was just kidding, of course. It is well known (on past posting) that I'm in the camp in favor of only supporting what Microsoft themselves officially supports (7, 8 and 10). But I also realize that this is a retro game with some people enjoying playing with their old retro computers and want to launch Doom on it. The real question is, how large is this group. My point to Kinsie was the same as you're also making, that without more data it falls back to what you in particular thinks. Had it been up to me, we all know that I'd have axed Windows XP support and basically the only thing that can change my mind if it turns out a larger percentage of the userbase use retro systems.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49130
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: GZStats: A quick rundown

Post by Graf Zahl »

Kinsie wrote:
Graf Zahl wrote:The IWAD selector is written in native UI code on each platform. So extending this will have to be done for each platform (which on Linux is a bit messy because it has no native UI that can be relied upon.
Slightly off topic, but considering the headaches this provides developers (duplicating work etc. as you described) and some modders (bizarre file formats for Hexen startup etc.), it might be worth dedicating a future release to making this situation less hairy. Not easy work, since it'd likely involve rewriting/porting the whole shebang to a multiplatform UI library that doesn't suck and that multiple programmers across multiple platforms don't hate (which in themselves are rarer than rocking horse poop), but it'd potentially save future gnashing of teeth and balling of fists.

The main problem here is that nearly all GUI libraries have the same problem: They are not drop-in-capable but instead require everything to adjust to how they run the business and second, they are normally incredibly bloated and increase compiling complexity tenfold. For that single startup window it's easier to make 3 or 4 variants of it.
As for the startup screens, they are an entirely different matter. Ultimately it only composes a graphic that then gets displayed. But that code was written with no cross-platform capabilities in mind and so far nobody haas come forward to port it to non-Windows systems.
dpJudas wrote: I was just kidding, of course. It is well known (on past posting) that I'm in the camp in favor of only supporting what Microsoft themselves officially supports (7, 8 and 10). But I also realize that this is a retro game with some people enjoying playing with their old retro computers and want to launch Doom on it. The real question is, how large is this group. My point to Kinsie was the same as you're also making, that without more data it falls back to what you in particular thinks. Had it been up to me, we all know that I'd have axed Windows XP support and basically the only thing that can change my mind if it turns out a larger percentage of the userbase use retro systems.
We are exactly on the same side here. If I had to decide alone, I wouldn't hesitate a second to scrap legacy support. That stuff is really complicating our work here in ways normal users simply cannot imagine. But I also know that we are working in an area here where normal rules for computer hardware only apply to a limited degree.
User avatar
TerminusEst13
Posts: 1625
Joined: Mon Nov 09, 2009 3:08 pm

Re: GZStats: A quick rundown

Post by TerminusEst13 »

Graf Zahl wrote:Then skip the 3.3 release. I do not expect this to run longer than maybe 2 or 3 months, because then we have gathered enough data to make informed decisions on it. The survey may be re-run at a later time if the need arises, but there's no need to continuously gather this info.
I really wish this was clarified a lot earlier.
User avatar
Marisa the Magician
Posts: 3886
Joined: Fri Feb 08, 2008 9:15 am
Preferred Pronouns: She/Her
Operating System Version (Optional): (btw I use) Arch
Graphics Processor: nVidia with Vulkan support
Location: Vigo, Galicia

Re: GZStats: A quick rundown

Post by Marisa the Magician »

Could it be possible to make the opt-in dialog happen in-engine? Like, some prompt directly on launch before opening the main menu?
User avatar
Kinsie
Posts: 7402
Joined: Fri Oct 22, 2004 9:22 am
Graphics Processor: nVidia with Vulkan support
Location: MAP33

Re: GZStats: A quick rundown

Post by Kinsie »

Marisa Kirisame wrote:Could it be possible to make the opt-in dialog happen in-engine? Like, some prompt directly on launch before opening the main menu?
I think this was mentioned earlier. A hardcoded in-engine menu using the smallfont etc. before launching into the TITLEMAP or TITLEPIC mode would solve the multi-platform dilemma.

Return to “Developer Blog”