Jump to content

0 A.D. menu bug


Alexander Livingstone
 Share

Recommended Posts

Since 3 days I think except the first time at a day a menu bug happens see screenshot.
The settings detail menu does not appear as it is meant to be and then I need to click the buttons a hundred time until it is complete shown.

Screenshot

The screenshot is on https://ibb.co/MkYRDFK and is saved permanently.
I clicked about 30 times to have the menu shown like on screenshot.
I need a bugfix.

CPU: INTEL Core i9-10900K
Mainboard: ASUS ROG STRIX Z490-A GAMING
RAM: KINGSTON KHX3200C16D4/32GX DDR4 SDRAM 32 GBytes 1600.0 MHz (DDR4-3200 / PC4-25600)
GFX: NVIDIA Titan RTX TU102-400A 24576 MBytes of GDDR6 SDRAM [Samsung]
NVMe Drives: GIGABYTE GP-ASM2NE6200TTTD 1,907,729 MBytes (2000 GB) NVMe v1.3 NVMe (PCIe 4x 16.0 GT/s)
                        SANDISK NVMe Controller WDS500G3X0C-00SJG0 476,940 MBytes (500 GB) NVMe v1.3 NVMe (PCIe 4x 8.0 GT/s)
OS: Windows 10 Pro

Link to comment
Share on other sites

0 A.D. menu bug.webp (63 kb) "menu bug now every time"
0ad text-length bug - it shows the end of the text instead the beginning of the new text.webp (228 kb) "text length bug in Deutsch campaign"

I found out, that by TAB i can move the menu open in "turbo mode" else I make 20 clicks for a few pixels

0 A.D. menu bug.webp

0ad text-length bug - it shows the end of the text instead the beginning of the new text.webp

Link to comment
Share on other sites

@nwtour: yes
It is not open at the beginning but that is normal.
Then  I click one of the three buttons and it does not appear. I clicked several times and saw that only a few width is appearing cause it worked without problem the first time.
I don't have mods installed. Do you need screenshots of my game settings?

I now tried to make a video capture of the bug. But then following happened:

Edited by Alexander Livingstone
file submit broken I think
Link to comment
Share on other sites

34 minutes ago, Alexander Livingstone said:

It is not open at the beginning but that is normal

This is not normal.
The file binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/Panels/GameSettingsPanel.js is responsible for opening this panel It says to open in 1.2 seconds at 470 pixels

Try find user.cfg in your OS https://trac.wildfiregames.com/wiki/GameDataPaths and add option

gui.gamesetup.settingsslide = "false"

in end of file.
 

49 minutes ago, Alexander Livingstone said:

I now tried to make a video capture of the bug

At the moment, there is not enough information why it was broken. This is definitely not a German locale issue.

Link to comment
Share on other sites

59 minutes ago, Alexander Livingstone said:

This is another issue. I need to find two files crashlog.txt and crashlog.dmp and attach here.
Do you have antivirus software running? This could be the cause of the error.


https://trac.wildfiregames.com/wiki/ReportingErrors#Windows

Edited by nwtour
Link to comment
Share on other sites

about GameSettingsPanel.js

path = (it is in a zip instead - would be the game faster when I extract the zip ? )

C:\Users\Alex\AppData\Local\0 A.D. alpha\binaries\data\mods\public\public.zip\gui\gamesetup\Pages\GameSetupPage\Panels\

 

GameSettingsPanel.js crashlog.dmp crashlog.txt system_info.txt userreport_hwdetect.txt user.cfg

Link to comment
Share on other sites

I found the problem of the bug:

It is VSync setting. The first time I started the game everything was ok and I did not have VSYNC actiavted. Now I remembered cause user-settings ^^ that I activated VSYNC and I tried now - I disabled I tried and no changes, I restart the game and voila everything is ok everything like it has to be. menu change works perfect.

VSYNC activated was the problem-bug in my case.

Edited by Alexander Livingstone
-no +now
Link to comment
Share on other sites

as I have written in chat I could understand the problem but there is "easy" and automatically method to check if bugs|error occure by render "everything" before and uploading it and then the screenshots get compared with screenshots which looks how it should be... and then when status green they get deleted.
I activated now user report and have read the terms - you would only need to add 6. uploading test render screenshots ...

I was php programmer and webdesigner and I had the same problem how to test. I only had pc and would have to test on f.e. mobile phone 1 by vendor 1, mobile phone 2 by vendor 1, mobile phone 1 by vendor 2, ... 

In my rts project I start by only making a browser game so I have the higher chance to test every case before.. When I'm doing a client then I'll add that uploading test render screenshots cause how to find the newest graphic card as software emulation for free for tests ...

 

Link to comment
Share on other sites

3 hours ago, Alexander Livingstone said:

it is in a zip instead - would be the game faster when I extract the zip ?

Objects unpacked to disk and into memory are used inside the match. On an average computer, working with an archive cannot slow down anything

3 hours ago, Alexander Livingstone said:

It is VSync setting.

In the game, the FPS limit in the menu is 100 frames per second.
https://github.com/0ad/0ad/blob/master/source/main.cpp#L265
Perhaps you have a 144 hertz monitor and vertical sync causes the game to behave unpredictably (trying to guess the problem)

Could you tell us the hertz of your monitor?

p.s.
  Probably the problem is not related to the frequency

"video_desktop_freq": 60

this is a standard monitor

Edited by nwtour
Link to comment
Share on other sites

@Alexander Livingstone

Try open in public.zip file gui/gamesetup/Pages/GameSetupPage/Panels/GameSettingsPanel.js and overwrite string:
 

let tickLength = now - this.lastTickTime;

as
 

let tickLength = (now - this.lastTickTime || 1);

And restart the game with vertical sync. Perhaps this will solve the issue with the menu not opening.

Link to comment
Share on other sites

1 hour ago, nwtour said:

@Alexander Livingstone

Try open in public.zip file gui/gamesetup/Pages/GameSetupPage/Panels/GameSettingsPanel.js and overwrite string:
 

let tickLength = now - this.lastTickTime;

as
 

let tickLength = (now - this.lastTickTime || 1);

And restart the game with vertical sync. Perhaps this will solve the issue with the menu not opening.

Might want to provide a small mod for ease :)

3 hours ago, nwtour said:

On an average computer, working with an archive cannot slow down anything

It's actually faster to read on a HDD because of contiguous memory

Link to comment
Share on other sites

1 hour ago, nwtour said:

In the video, the game crashed on startup - look like another issue with VSync/FPS

The crash doesn't seem related to VSync.

10 hours ago, Alexander Livingstone said:

about GameSettingsPanel.js

path = (it is in a zip instead - would be the game faster when I extract the zip ? )

C:\Users\Alex\AppData\Local\0 A.D. alpha\binaries\data\mods\public\public.zip\gui\gamesetup\Pages\GameSetupPage\Panels\

 

GameSettingsPanel.js 5 kB · 2 downloads crashlog.dmp 153 kB · 1 download crashlog.txt 26 kB · 3 downloads system_info.txt 24 kB · 3 downloads userreport_hwdetect.txt 16 kB · 4 downloads user.cfg 1 kB · 2 downloads

Could you also attach logs?

Link to comment
Share on other sites

6 hours ago, Stan` said:

It's actually faster to read on a HDD because of contiguous memory

IMHO
Content decoding takes the first place in duration

Second: positioning within the archive. If the file system has a constant hot bitree-like index (For example, the stat() system call is a simple index selection
), then inside the archive this is done using hard software method on demand
Fragmentation of disk/memory chunks - I think it's noticeable only in highload projects of mathematical calculations


 

Link to comment
Share on other sites

2 hours ago, vladislavbelov said:

It highly depends on HDD, some random access readings might trigger hundreds of milliseconds of delay. Though it should be measured for each particular HDD.

The loading order of the game files is non-deterministic with the disk regions on which these files are located.

IMHO accordingly, on the same HDD, the probability of random access (to another disc region or previous region) inside the archive and raw files is statistically the same.

Link to comment
Share on other sites

7 hours ago, nwtour said:

IMHO accordingly, on the same HDD, the probability of random access (to another disc region or previous region) inside the archive and raw files is statistically the same.

Maybe now. But 15 years ago it wasn't the case due to the much lower disk speeds :)

Link to comment
Share on other sites

13 hours ago, nwtour said:

IMHO accordingly, on the same HDD, the probability of random access (to another disc region or previous region) inside the archive and raw files is statistically the same.

According to my very synthetic tests on WDC WD2005FBYZ random access to multiple files is about ~2.5% slower than random access inside a single file. I suppose on a older HDD it might be more noticeable.

Link to comment
Share on other sites

17 hours ago, Alexander Livingstone said:

monitor

Description: The game expects the graphics card driver to set the value to 60 frames per second when setting "Vertical sync"
Most likely in the settings of the video card it is worth that the game itself will figure out how much FPS it needs. Setting "Use 3D application setting"
vertical-sync.jpg.e70b9e041054b28319cf251cd150138f.jpg

As a result, the game accelerates to 1000 fps. You can check this by clicking Alt-F in the game (the FPS counter on the top right)

I sent the patch to the developers: D4365 - Fix gamesetup slider for 1000fps configuration

Workarroung: Set

 

gui.gamesetup.settingsslide = "false"

in user.cfg

Link to comment
Share on other sites

1 hour ago, vladislavbelov said:

According to my very synthetic tests on WDC WD2005FBYZ random access to multiple files is about ~2.5% slower than random access inside a single file. I suppose on a older HDD it might be more noticeable.

This 2.5 percent is offset by more efficient indexing in the file system.

If you change instead of reading - for access to file meta-information, then the file system will play out the time saved due to defragmentation

 

10kk stat()
time perl -e 'my $i = 0;while(1) { stat("./binaries/system/pyrogenesys"); $i++; exit unless $i % 10_000_000; }'
10.47 sec

10kk tar stat
time perl -MArchive::Tar -e 'my $a = Archive::Tar->new("test.tar");while(1) { $a->contains_file("file"); $i++; exit unless $i % 10_000_000; }'
118.23 sec

 

Edited by nwtour
Link to comment
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.

 Share

×
×
  • Create New...