Die4Ever / Die4Ever/AsyncGameEngine

dynamic pixel count with maximum render scale

Open
#10 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Description

use this to determine the maximum resolution for allocating buffers, saves vram

dynamic pixel count will use dynamic resolution and also variable rate shading, and maybe MSAA too?

https://devblogs.microsoft.com/directx/variable-rate-shading-a-scalpel-in-a-world-of-sledgehammers/

https://developer.nvidia.com/vulkan-turing

"The shading rate can be as coarse as one fragment shader for each 4x4 block of pixels or as fine as launching 16 fragment shader invocations per pixel."

supersampling using VRS should be way more VRAM efficient than using large render targets? that means that even 1600% render scale could be done entirely with VRS with natively sized buffers?

objects with transparency/dithering would be biased towards 1x1 VRS or better

objects in the distance or inside of DoF or motion blur could be biased towards 1x2 or 2x2 VRS

need a setting for minimum desired frame rate and maximum fps, do I also need target fps?

for each frame it would calculate how many pixels it wants to render (no more than the maximum render scale) and then scale the VRS data to try to match the desired pixel count

Contributor guide

No contributing guide indexed for this repository

Research direction

No files, tests, or renderer entry points are named. Start by locating the existing render-scale, buffer-allocation, and VRS support in the C++ renderer, then read the linked DirectX and NVIDIA references. Done should include a decided pixel-count and frame-rate policy with working dynamic VRS behavior and validation that buffer resolution stays within the maximum scale.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
computer-graphics, performance
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.