Got Error when enable the GameProfiling
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 7.8k
- Forks
- 1.2k
- Avg merge
- 2d 17h
- Merged PRs (30d)
- 49
Description
Release Type: GitHub
Version: the latest(.net8)
Platform(s): Windows (Direct3D12)
Describe the bug
as title
To Reproduce
Steps to reproduce the behavior:
- Enable the GameProfiling when select 'Direct3D12'
Expected behavior
A clear and concise description of what you expected to happen.
Log and callstacks
[MyGame]: Error: Unexpected exception. SharpDX.SharpDXException: HRESULT: [0x80070057], Module: [General], ApiCode: [E_INVALIDARG/Invalid Arguments], Message: ��������
at SharpDX.Result.CheckError() in C:\projects\sharpdx\Source\SharpDX\Result.cs:line 195
at SharpDX.Direct3D12.Device.CreateCommittedResource(HeapProperties& heapPropertiesRef, HeapFlags heapFlags, ResourceDescription& descRef, ResourceStates initialResourceState, Nullable1 optimizedClearValueRef, Guid riidResource) in C:\projects\sharpdx\Source\SharpDX.Direct3D12\Generated\REFERENCE\Interfaces.cs:line 1398
at SharpDX.Direct3D12.Device.CreateCommittedResource(HeapProperties heapPropertiesRef, HeapFlags heapFlags, ResourceDescription resourceDescRef, ResourceStates initialResourceState, Nullable1 optimizedClearValueRef) in C:\projects\sharpdx\Source\SharpDX.Direct3D12\Device.cs:line 221
at Stride.Graphics.Buffer.Recreate(IntPtr dataPointer)
at Stride.Graphics.Buffer.InitializeFromImpl(BufferDescription description, BufferFlags viewFlags, PixelFormat viewFormat, IntPtr dataPointer)
at Stride.Graphics.Buffer`1..ctor(GraphicsDevice device, BufferDescription description, BufferFlags viewFlags, PixelFormat viewFormat, IntPtr dataPointer)
at Stride.Graphics.Buffer.New[T](GraphicsDevice device, T[] initialValue, BufferFlags bufferFlags, PixelFormat viewFormat, GraphicsResourceUsage usage)
at Stride.Graphics.Buffer.New[T](GraphicsDevice device, T[] initialValue, BufferFlags bufferFlags, GraphicsResourceUsage usage)
at Stride.Graphics.Buffer.Vertex.New[T](GraphicsDevice device, T[] value, GraphicsResourceUsage usage)
at Stride.Graphics.FastTextRenderer.Initialize(GraphicsContext graphicsContext, Int32 maxCharacters)
at Stride.Graphics.FastTextRenderer..ctor(GraphicsContext graphicsContext, Int32 maxCharacterCount)
at Stride.Profiling.GameProfilingSystem.Draw(GameTime gameTime) in E:\Stride\stride\sources\engine\Stride.Engine\Profiling\GameProfilingSystem.cs:line 354
at Stride.Games.GameSystemCollection.Draw(GameTime gameTime)
at Stride.Games.GameBase.Draw(GameTime gameTime)
at Stride.Games.GameBase.RawTick(TimeSpan elapsedTimePerUpdate, Int32 updateCount, Single drawInterpolationFactor, Boolean drawFrame)
at Stride.Games.GameBase.RawTickProducer()
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the failure on Windows with Direct3D12 and GameProfiling enabled, then inspect Stride.Engine/Profiling/GameProfilingSystem.cs around line 354. Trace the FastTextRenderer initialization through Buffer.Recreate and the Direct3D12 Device.CreateCommittedResource call. Done means profiling no longer raises the reported E_INVALIDARG exception.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- computer-graphics, game-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100