GithubHelp home page GithubHelp logo

Comments (7)

xoofx avatar xoofx commented on August 16, 2024

When opening Paradox Studio and before opening any project, could you open the debug window (menu debug or CTRL+SHIFT+D). Then open a project that is not working and before selecting an entitty/model to display by the preview, check the logs (Thumbnail, Preview tabs) if there is anything suspicious. It have most likely an exception in a script that is probably caught and we are just getting the side effect from your exception log.

from xenko.

ArtiomCiumac avatar ArtiomCiumac commented on August 16, 2024

I tried to do it first with a fresh new project.

  1. Open Paradox by forcing to run on iGPU (Intel).
  2. Create a new game.
  3. Import everything from a basic *.dae scene (default Blender scene exported with all default settings).

Results: Thumbnail for material and model seem to generate correctly, but preview for entity - not: http://screencast.com/t/lKdKxFwo . Clicking on any of them leads to video driver crash and application freeze.

Log output in debug window (Thumbnail Log):

[]: Info: BuildStep UpdateImportShaderCacheBuildStep was successful.
[]: Info: BuildStep Build step list (197 items) was successful.
[]: Info: BuildStep Build step list (1 items) was successful.
[Thumbnails]: Info: 
[Thumbnails]: Info: Build finished in 393 steps. Command results: 3 succeeded, 390 up-to-date, 0 failed, 0 not triggered due to previous failure.
[Thumbnails]: Info: Build is successful.
[]: Info: Thumbnail creation successful [__THUMBNAIL__Permutations] to (128x128,R8G8B8A8_UNorm)
[]: Info: Thumbnail creation successful [__THUMBNAIL__MyGame3EffectMain] to (128x128,R8G8B8A8_UNorm)
[D:/Artiom/Documents/Paradox Projects/MyGame3/MyGame3/MyGame3.Game/Effects/MyGame3EffectMain.pdxfx(1,1)]: Info: BuildStep SiliconStudio.Assets.Compiler.ThumbnailCommandParameters`1[SiliconStudio.Assets.Asset] was successful.
[D:/Artiom/Documents/Paradox Projects/MyGame3/MyGame3/MyGame3.Windows/Effects/Permutations.pdxfxlib(1,1)]: Info: BuildStep SiliconStudio.Assets.Compiler.ThumbnailCommandParameters`1[SiliconStudio.Assets.Asset] was successful.
[D:/Artiom/Documents/Paradox Projects/MyGame3/MyGame3/MyGame3.Windows/Effects/Permutations.pdxfxlib(1,1)]: Info: BuildStep Build step list (1 items) was successful.
[D:/Artiom/Documents/Paradox Projects/MyGame3/MyGame3/MyGame3.Game/Effects/MyGame3EffectMain.pdxfx(1,1)]: Info: BuildStep Build step list (1 items) was successful.
[]: Info: The model [cube_model] from import [D:/house.fbx/cube.dae] has been successfully imported.
[D:/Artiom/Documents/Paradox Projects/MyGame3/MyGame3/Assets/Shared/cube_model.pdxm3d(1,1)]: Info: BuildStep Import Assimp D:/house.fbx/cube.dae (model) > cube_model was successful.
[D:/Artiom/Documents/Paradox Projects/MyGame3/MyGame3/Assets/Shared/cube_model.pdxm3d(1,1)]: Info: BuildStep Build step list (2 items) was successful.
[D:/Artiom/Documents/Paradox Projects/MyGame3/MyGame3/Assets/Shared/cube.pdxentity(1,1)]: Info: BuildStep d4fda84b-98c8-4566-a0b8-d0d038d5798a was successful.
[D:/Artiom/Documents/Paradox Projects/MyGame3/MyGame3/Assets/Shared/cube.pdxentity(1,1)]: Info: BuildStep Build step list (1 items) was successful.
[D:/Artiom/Documents/Paradox Projects/MyGame3/MyGame3/Assets/Shared/cube_camera_Camera.pdxentity(1,1)]: Info: BuildStep ba4056aa-157c-4cb9-acab-4b69bd7fc38a was successful.
[D:/Artiom/Documents/Paradox Projects/MyGame3/MyGame3/Assets/Shared/cube_camera_Camera.pdxentity(1,1)]: Info: BuildStep Build step list (1 items) was successful.
[D:/Artiom/Documents/Paradox Projects/MyGame3/MyGame3/Assets/Shared/cube_cameratarget_Camera.pdxentity(1,1)]: Info: BuildStep 4065c287-58fe-456e-87dd-8567c8925d7c was successful.
[D:/Artiom/Documents/Paradox Projects/MyGame3/MyGame3/Assets/Shared/cube_cameratarget_Camera.pdxentity(1,1)]: Info: BuildStep Build step list (1 items) was successful.
[D:/Artiom/Documents/Paradox Projects/MyGame3/MyGame3/Assets/Shared/cube_light_Lamp.pdxentity(1,1)]: Info: BuildStep bda2e63b-80d5-419f-88af-ea23c74a94ae was successful.
[D:/Artiom/Documents/Paradox Projects/MyGame3/MyGame3/Assets/Shared/cube_light_Lamp.pdxentity(1,1)]: Info: BuildStep Build step list (1 items) was successful.
[D:/Artiom/Documents/Paradox Projects/MyGame3/MyGame3/Assets/Shared/cube_material_Material-material.pdxmat(1,1)]: Info: BuildStep cube_material_Material-material (Material) > cube_material_Material-material was successful.
[D:/Artiom/Documents/Paradox Projects/MyGame3/MyGame3/Assets/Shared/cube_material_Material-material.pdxmat(1,1)]: Info: BuildStep Build step list (1 items) was successful.
[D:/Artiom/Documents/Paradox Projects/MyGame3/MyGame3/Assets/Shared/cube_material_Material-material.pdxmat(1,1)]: Info: BuildStep Build step list (2 items) was successful.
[D:/Artiom/Documents/Paradox Projects/MyGame3/MyGame3/Assets/Shared/cube_model.pdxm3d(1,1)]: Info: BuildStep Build step list (3 items) was successful.
[D:/Artiom/Documents/Paradox Projects/MyGame3/MyGame3/Assets/Shared/cube.pdxentity(1,1)]: Info: BuildStep Build step list (7 items) was successful.
[]: Info: Sound Thumbnail creation successful [__THUMBNAIL__cube_light_Lamp] to (128x128,B8G8R8A8_UNorm)
[]: Info: Sound Thumbnail creation successful [__THUMBNAIL__cube_camera_Camera] to (128x128,B8G8R8A8_UNorm)
[]: Info: Sound Thumbnail creation successful [__THUMBNAIL__cube_cameratarget_Camera] to (128x128,B8G8R8A8_UNorm)
[D:/Artiom/Documents/Paradox Projects/MyGame3/MyGame3/Assets/Shared/cube_light_Lamp.pdxentity(1,1)]: Info: BuildStep SiliconStudio.Assets.Compiler.ThumbnailCommandParameters`1[SiliconStudio.Paradox.Assets.Model.EntityAsset] was successful.
[D:/Artiom/Documents/Paradox Projects/MyGame3/MyGame3/Assets/Shared/cube_cameratarget_Camera.pdxentity(1,1)]: Info: BuildStep SiliconStudio.Assets.Compiler.ThumbnailCommandParameters`1[SiliconStudio.Paradox.Assets.Model.EntityAsset] was successful.
[D:/Artiom/Documents/Paradox Projects/MyGame3/MyGame3/Assets/Shared/cube_cameratarget_Camera.pdxentity(1,1)]: Info: BuildStep Build step list (1 items) was successful.
[D:/Artiom/Documents/Paradox Projects/MyGame3/MyGame3/Assets/Shared/cube_light_Lamp.pdxentity(1,1)]: Info: BuildStep Build step list (1 items) was successful.
[D:/Artiom/Documents/Paradox Projects/MyGame3/MyGame3/Assets/Shared/cube_camera_Camera.pdxentity(1,1)]: Info: BuildStep SiliconStudio.Assets.Compiler.ThumbnailCommandParameters`1[SiliconStudio.Paradox.Assets.Model.EntityAsset] was successful.
[D:/Artiom/Documents/Paradox Projects/MyGame3/MyGame3/Assets/Shared/cube_camera_Camera.pdxentity(1,1)]: Info: BuildStep Build step list (1 items) was successful.
[]: Info: Thumbnail creation successful [__THUMBNAIL__cube_material_Material-material] to (128x128,R8G8B8A8_UNorm)
[D:/Artiom/Documents/Paradox Projects/MyGame3/MyGame3/Assets/Shared/cube_material_Material-material.pdxmat(1,1)]: Info: BuildStep SiliconStudio.Assets.Compiler.ThumbnailCommandParameters`1[SiliconStudio.Paradox.Assets.Materials.MaterialAsset] was successful.
[]: Info: Thumbnail creation successful [__THUMBNAIL__cube_model] to (128x128,R8G8B8A8_UNorm)
[D:/Artiom/Documents/Paradox Projects/MyGame3/MyGame3/Assets/Shared/cube_material_Material-material.pdxmat(1,1)]: Info: BuildStep Build step list (3 items) was successful.
[]: Error: An exception occurred while processing thumbnail request: Asset [cube_cameratarget_Camera.Target] not found.
[D:/Artiom/Documents/Paradox Projects/MyGame3/MyGame3/Assets/Shared/cube_model.pdxm3d(1,1)]: Info: BuildStep SiliconStudio.Assets.Compiler.ThumbnailCommandParameters`1[SiliconStudio.Paradox.Assets.Model.ModelAsset] was successful.
[D:/Artiom/Documents/Paradox Projects/MyGame3/MyGame3/Assets/Shared/cube.pdxentity(1,1)]: Error: BuildStep SiliconStudio.Assets.Compiler.ThumbnailCommandParameters`1[SiliconStudio.Paradox.Assets.Model.EntityAsset] failed.
[D:/Artiom/Documents/Paradox Projects/MyGame3/MyGame3/Assets/Shared/cube_model.pdxm3d(1,1)]: Info: BuildStep Build step list (3 items) was successful.
[D:/Artiom/Documents/Paradox Projects/MyGame3/MyGame3/Assets/Shared/cube.pdxentity(1,1)]: Error: BuildStep Build step list (3 items) failed.

Last few lines are highlighted in red: http://screencast.com/t/Bt6eXBqou
When reopening the same project second time (Paradox running iGPU) - thumbnails are generated correctly, but preview still doesn't work and crashes the application, unfortunately, debug output doesn't contain any relevant information. If I attach Visual Studio to Paradox process I get the following exception info (stack trace cannot be obtained due to missing debug symbols):

An unhandled exception of type 'System.InvalidOperationException' occurred in SiliconStudio.BuildEngine.Common.dll

Additional information: No VirtualFileProvider set for this microthread.

When running Paradox with dGPU - everything works correctly.

from xenko.

xen2 avatar xen2 commented on August 16, 2024

Update: first part of the issue is a known issue.
Basically, if you don't want light/camera, you should uncheck them during first step.
On second step, if you uncheck things, it doesn't do any dependency check so it might fail.

Concerning second issue, we are trying to get our hands on Optimus hardware to investigate further.

from xenko.

ArtiomCiumac avatar ArtiomCiumac commented on August 16, 2024

As I have a laptop with Optimus I tried to run the following diagnostic program (built with latest SharpDX, Desktop, DX 11.2 assemblies):

The following references have been added:

  • SharpDX
  • SharpDX.DXGI
  • SharpDX.Toolkit.Graphics

The program is the following:

using System;
using SharpDX.Toolkit.Graphics;

internal class Program
{
    private static void Main()
    {
        foreach (var adapter in GraphicsAdapter.Adapters)
        {
            var desc = adapter.Description;
            Console.WriteLine("Desc:{0}; Format:{1}; Dedicated VRAM:{2}; Shared RAM:{3}; LUID:{4}; Rev:{5}; VEN:{6}; DEV:{7}",
                              desc.Description,
                              adapter.DefaultFormat,
                              desc.DedicatedVideoMemory,
                              desc.DedicatedSystemMemory,
                              desc.Luid,
                              desc.Revision,
                              desc.VendorId,
                              desc.DeviceId);

            if (adapter.OutputsCount == 0)
            {
                Console.WriteLine("    No outputs.");
            }
            else
            {
                for (var i = 0; i < adapter.OutputsCount; i++)
                {
                    var output = adapter.GetOutputAt(i);

                    var mode = output.CurrentDisplayMode;

                    Console.WriteLine("    Output {0}: Current Mode:{1}x{2} {3} @{4}Hz; Supported modes count:{5}",
                                      i,
                                      mode.Width,
                                      mode.Height,
                                      mode.Format,
                                      ((float)mode.RefreshRate.Numerator) / mode.RefreshRate.Denominator,
                                      output.SupportedDisplayModes.Length);
                }
            }

            Console.WriteLine();
        }

        GraphicsAdapter.Dispose();

        Console.ReadKey();
    }
}

When the above program is run with iGPU (forcing Intel GPU), the output is this:

Desc:Intel(R) HD Graphics 4600; Format:R8G8B8A8_UNorm; Dedicated VRAM:0; Shared RAM:0; LUID:0; Rev:6; VEN:32902; DEV:1046
    Output 0: Current Mode:1920x1080 R8G8B8A8_UNorm @40.0064Hz; Supported modes count:280
    Output 1: Current Mode:1920x1080 R8G8B8A8_UNorm @59.8902Hz; Supported modes count:168

Desc:NVIDIA GeForce GTX 780M         ; Format:R8G8B8A8_UNorm; Dedicated VRAM:-1073741824; Shared RAM:0; LUID:0; Rev:161; VEN:4318; DEV:4511
    No outputs.

Desc:Microsoft Basic Render Driver; Format:R8G8B8A8_UNorm; Dedicated VRAM:0; Shared RAM:0; LUID:8589934592; Rev:0; VEN:5140; DEV:140
    No outputs.

When the program is run with dGPU (forcing NVidia GPU), the output is this:

Desc:NVIDIA GeForce GTX 780M         ; Format:R8G8B8A8_UNorm; Dedicated VRAM:-1073741824; Shared RAM:0; LUID:0; Rev:161; VEN:4318; DEV:4511
    Output 0: Current Mode:1920x1080 R8G8B8A8_UNorm @40.0064Hz; Supported modes count:280
    Output 1: Current Mode:1920x1080 R8G8B8A8_UNorm @59.8902Hz; Supported modes count:168

Desc:NVIDIA GeForce GTX 780M         ; Format:R8G8B8A8_UNorm; Dedicated VRAM:-1073741824; Shared RAM:0; LUID:0; Rev:161; VEN:4318; DEV:4511
    No outputs.

Desc:Microsoft Basic Render Driver; Format:R8G8B8A8_UNorm; Dedicated VRAM:-1073741824; Shared RAM:0; LUID:8589934592; Rev:0; VEN:5140; DEV:140
    No outputs.

The output 0 is laptop's screen - it's strange that it reports refresh rate as 40Hz, while in settings it is set to 60Hz.
The output 1 is an external monitor connected via HDMI.

The second strange thing is that VRAM for NVidia GPU is reported as a negative number, while in reality it is 4GB.

Let me know if I can do any other tests and provide you information.

from xenko.

ArtiomCiumac avatar ArtiomCiumac commented on August 16, 2024

I did some more research about forcing NVidia GPU for managed applications and found this article (the code is here) - in few words, he added a post-build step that messes up a function pointer to add an export directive which triggers dGPU to activate. I tested this with the application posted above and while it works perfectly when starting the exe itself - but it doesn't work when I try to start the application from Visual Studio in debug mode :(

Another method, which may be applicable to managed applications is explained here - it creates the graphics profile programmatically, however it requires an application restart in case if profile didn't exist and was just created, otherwise dGPU will not be activated.

from xenko.

xoofx avatar xoofx commented on August 16, 2024

Thanks @ArtiomCiumac for the test. So the last version alpha08 should fix the problem (running fine either intel or nvidia is active), as we are now only displaying on an adapter that as an output, so it should select only Intel or NVidia depending on the dGPU settings.

Can you confirm it is correctly running? I'm not sure it is wise to force an application to use the dGPU, as it can be configured already externally (someone would just want to run on the intel, because this is running fine)

from xenko.

ArtiomCiumac avatar ArtiomCiumac commented on August 16, 2024

I an confirm that everything works fine now.

NVidia provides a tool that displays what programs are using discrete GPU - and when I launch Paradox - it shows that discrete GPU is activated, without explicit settings from me - that's a good sign :)

However, any launched game will still use Intel GPU by default - which will lead to bad performance for any but simplest games.

from xenko.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.