Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Some failing examples (comparison between Win/Mac/Linux) #156

Closed
wilsonk opened this issue Aug 18, 2021 · 8 comments
Closed

Some failing examples (comparison between Win/Mac/Linux) #156

wilsonk opened this issue Aug 18, 2021 · 8 comments

Comments

@wilsonk
Copy link

wilsonk commented Aug 18, 2021

Hello @mrDIMAS,

I just thought I would run the examples with the new light intensity code here on Win/Mac/Linux (I am not sure if all tests worked before light intensity...just got curious as I found some "Intensity" errors on some examples).

Take with a grain of salt, of course (I didn't run the examples for very long each time and I might not have waited long enough for some tests to load in debug mode? Maybe?)

Machine specs and results (rustc 1.54.0):

Specs:

1. Win10 21h1 - Ryzen 5 3600xt - 32GB 3200Mhz - Radeon Vega 64 - 512GB nvme Gen4x4
2. Garuda(Arch) Linux updated today - i5-11600k - 16GB 3200Mhz - R9 380 - 512GB nvme Gen3x4
3. Big Sur (11.5.2) - M1 - 8GB - integrated graphics (similar to R9 570? maybe) - 512GB T2

Examples (debug FPS - then release...or error message):

2d:
Win --  289 - 2150
Lin --  530 - 8200
M1 --   310 - 3000
3rd_person:
Win -- wouldn't load? waited 10 minutes. Stopped at 'SsaoShader Linked' - 140 (6.5 frame time)
Lin -- 1 (frame time 415?) - 100 (5 frame time)
M1 -- 1 (frame time 2159) - 1 (1150 frame time)
async:
Win -- 688 - 1591
Lin -- 1500 - 1600
M1 -- 31 - 33
compressed_textures:
Win -- DEBUG - thread 'main' panicked at 'Attempt to get reference to resource data while it is not loaded! Path is examples/data/MetalMesh_Base_Color.png', 
C:\Users\wilsonk\rg3d\rg3d-resource\src\lib.rs:106:17
       RELEASE - ran fine

Lin -- DEBUG - thread 'main' panicked at 'Attempt to get reference to resource data while it is not loaded! Path is examples/data/MetalMesh_Base_Color.png', 
/home/wilsonk/rg3d/rg3d-resource/src/lib.rs:106:17
      RELEASE - thread 'main' panicked at 'Attempt to get reference to resource data while it is not loaded! Path is examples/data/MetalMesh_Base_Color.png',
 /home/wilsonk/rg3d/rg3d-resource/src/lib.rs:106:17

M1 -- DEBUG - thread 'main' panicked at 'Attempt to get reference to resource data while it is not loaded! Path is examples/data/MetalMesh_Base_Color.png', 
/home/wilsonk/rg3d/rg3d-resource/src/lib.rs:106:17
      RELEASE - ran fine
framework:
Win -- one core at 100% - same
Lin -- 4-8 cores at 20-50% - 4 cores at 12-30%
M1 -- 4 cores stepped 50-30-20-10% - same
instancing:
Win -- too long to load (3 mins)  - 60 FPS at 4K (monitor running at 30Hz)
Lin -- too long to load (3 mins) - loaded instances then hung for 4 mins then 1 FPS? r9 380 not powerful enough?
M1 -- loaded two tex's after SsaoShader linked (3 mins) stopped waiting - 60 FPS (on 144Hz monitor)
ligthmap:
Win -- DEBUG - no chance to click Generate --> [ERROR]: Unable to load model from "examples/data/sponza/Sponza.rgs"! Reason Visit(FieldDoesNotExist("Intensity"))
thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: Some(Visit(FieldDoesNotExist("Intensity")))', examples/lightmap.rs:255:22
    RELEASE - same

Lin -- DEBUG - no chance to click Generate --> [ERROR]: Unable to load model from "examples/data/sponza/Sponza.rgs"! Reason Visit(FieldDoesNotExist("Intensity"))
thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: Some(Visit(FieldDoesNotExist("Intensity")))', examples/lightmap.rs:255:22
     RELEASE - same

M1 -- DEBUG - click Generate then --> [ERROR]: Unable to load model from "examples/data/sponza/Sponza.rgs"! Reason Visit(FieldDoesNotExist("Intensity"))
thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: Some(Visit(FieldDoesNotExist("Intensity")))', examples/lightmap.rs:255:22
    RELEASE - same
lod:
Win -- 30 fps at 4K(monitor 30Hz), smooth - same
Lin -- 60 fps at 4K, smooth - same
M1 -- 109 fps at 1440p, smooth - same
navmesh:
Win -- DEBUG - [ERROR]: Unable to load model from "examples/data/navmesh_scene.rgs"! Reason Visit(FieldDoesNotExist("Intensity"))
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Some(Visit(FieldDoesNotExist("Intensity")))', examples\navmesh.rs:94:10
    RELEASE - same
Lin -- same - same
M1 -- same - same
save_load:
Win -- wouldn't load after minutes, stuck repeating 'SsaoShader linked'? - 112
Lin -- 1 - 240
M1 -- 1 - 1
scene:
Win --  DEBUG - [ERROR]: Unable to load model from "examples/data/test_scene.rgs"! Reason Visit(FieldDoesNotExist("Intensity"))
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Some(Visit(FieldDoesNotExist("Intensity")))', examples\scene.rs:76:10
    RELEASE - same
Lin -- same - same
M1 --  same - same
simple:
Win -- 378 - 1275
Lin -- 780 - 1130
M1 -- 20 - 21
sound:
Win -- stopped for minutes at SsaoShader linked again - 140  (but much longer to load than Lin?)
Lin -- 1 - 230
M1 -- 1 - 1
terrain:
Win -- 703 - 1145   (three times as long to load as Lin?)
Lin -- 715 - 715
M1 -- 1 - 1
ui:
Win -- 30 yaw/scale work (resolution choice works) - same (but much longer to load than Lin/M1??)
Lin -- 60 yaw/scale work (NO resolution choice) - same
M1 -- 30 yaw/scale work (resolution choice works) - 33 yaw/scale work (resolution choice works)
@mrDIMAS
Copy link
Member

mrDIMAS commented Aug 18, 2021

Yikes, I should've checked examples before submitting my changes 😬 . It is easy to fix, give me a sec.

@mrDIMAS
Copy link
Member

mrDIMAS commented Aug 18, 2021

Should be fixed in bf030a0

@wilsonk
Copy link
Author

wilsonk commented Aug 18, 2021

Yeah, I assumed it was an easy fix for someone familiar with the code base. But I also wanted to just go through the examples and see the differences (mostly between Win/Lin, of course)...

@wilsonk
Copy link
Author

wilsonk commented Aug 18, 2021

Some stats for build times with just these small fixes (so just linking really). Just for those wondering how these machines would perform against each other with rust/llvm:

debug:
Win  -- 16.92s
Lin  -- 1m 46s?? Weird (I must have changed some other code that meant a bunch of recompiling?)
M1 -- 10.25s
release:
Win  -- 1m 24s
Lin  -- 1m 16s
M1 -- 59.7s

After the fixes (same format: 'debug - release'):

compressed_textures:
Win -- loads quick, runs fine  - loads pretty quick, runs fine 
Lin -- loads really quick, runs fine  - loads instantly, runs fine
M1 -- loads pretty quick, runs fine  - loads instantly, runs fine 
ligthmap:
Win -- Generate new map, then 12 cores at 100% for 10 mins before giving up as a useless test - Generate new map, then 96 seconds to generate lighting, FPS occluded?, smooth movements
Lin -- Generate new map, then 12 cores at 100% for 10 mins before giving up as a useless test - Generate new map, then 45 seconds to generate lighting, FPS occluded?, smooth movements
M1 -- Generate new map, then 8 cores at 100% for 10 mins before giving up as a useless test -Generate new map, then 57 seconds to generate lighting, 3 FPS, unresponsive
navmesh:
Win -- 30 fps, mouse cursor not properly aligned with red dot (this may be my setup only though), agent time 1000 - 30 fps, mouse cursor not properly aligned with red dot (this may be my setup only though), agent time 100 
Lin -- 60 fps, mouse cursor not properly aligned with red dot (this may be my setup only though), agent time 5000 - 60 fps,  mouse cursor not properly aligned with red dot (this may be my setup only though), agent time 200
M1 -- 128 fps, mouse is aligned with red dot, agent time 5500 - 98 fps, mouse aligned, agent time 345
  **** Best performing of all M1 tests! Why? Feels better than Win or Lin by a long shot! Agent times seem a little misleading compared to feel) ****
scene:
Win -- 30, smooth - 30, really smooth
Lin -- 60, smooth - 60, really smooth
M1 -- 14, jerky - 16, smoother

@romancerny
Copy link

There is another issue with UI resolution control. It works on Windows, but not on Ubuntu It is the same for rusty-shooter and for UI.rs in rg3d examples:

Distributor ID: Ubuntu
Description: Ubuntu 20.04.3 LTS
Release: 20.04
Codename: focal

Gnome - Unity
resCtrl_001
resCtrl_002

@w-flo
Copy link
Contributor

w-flo commented Oct 14, 2021

@romancerny That's probably because the "primary_monitor()" call for a winit window is not available on Wayland. "current_monitor()" is not marked as "does not work on Wayland", but it still returns None for me. The only way to get a monitor for me on Wayland is through the "available_monitors()" call. Then the dropdown is populated, but the next issue is that Wayland doesn't support exclusive fullscreen so it's not actually doing anything. The dropdown handler would only resize the backbuffer and make everything worse.

For usability reasons, the UI demo and rusty-shooter could be changed to hide the dropdown when no video modes can be found because of missing functionality in winit and/or Wayland.

@romancerny
Copy link

That makes sense. Thanks for the reply.

@mrDIMAS
Copy link
Member

mrDIMAS commented Oct 31, 2021

Closing this due to large period of inactivity. Feel free to reopen if needed.

@mrDIMAS mrDIMAS closed this as completed Oct 31, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants