microsoft / DirectX-Graphics-Samples
File Size

The distribution of size of files (measured in lines of code).

Intro
  • File size measurements show the distribution of size of files.
  • Files are classified in four categories based on their size (lines of code): 1-100 (very small files), 101-200 (small files), 201-500 (medium size files), 501-1000 (long files), 1001+(very long files).
  • It is a good practice to keep files small. Long files may become "bloaters", code that have increased to such gargantuan proportions that they are hard to work with.
Learn more...
File Size Overall
  • There are 690 files with 2,187,512 lines of code.
    • 21 very long files (2,122,167 lines of code)
    • 21 long files (13,543 lines of code)
    • 64 medium size files (20,234 lines of codeclsfd_ftr_w_mp_ins)
    • 101 small files (14,316 lines of code)
    • 483 very small files (17,252 lines of code)
97% | <1% | <1% | <1% | <1%
Legend:
1001+
501-1000
201-500
101-200
1-100


explore: zoomable circles | sunburst | 3D view
File Size per Extension
1001+
501-1000
201-500
101-200
1-100
obj100% | 0% | 0% | 0% | 0%
h72% | 2% | 7% | 7% | 10%
gltf100% | 0% | 0% | 0% | 0%
hpp93% | 6% | 0% | 0% | 0%
cpp28% | 21% | 29% | 12% | 7%
hlsli0% | 25% | 6% | 42% | 25%
filters0% | 31% | 33% | 28% | 6%
vcxproj0% | 19% | 41% | 25% | 12%
mtl0% | 0% | 100% | 0% | 0%
hlsl0% | 0% | 6% | 18% | 74%
inl0% | 0% | 78% | 21% | 0%
props0% | 0% | 0% | 0% | 100%
py0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
MiniEngine/ModelViewer99% | 0% | <1% | 0% | <1%
Libraries/D3D12RaytracingFallback63% | 9% | 12% | 4% | 10%
MiniEngine/Model67% | 7% | 13% | 7% | 4%
MiniEngine/Core32% | 7% | 16% | 19% | 23%
Libraries/D3DX12AffinityLayer49% | 17% | 14% | 10% | 8%
TechniqueDemos/D3D12MemoryManagement53% | 10% | 8% | 18% | 9%
Libraries/D3DX12Residency100% | 0% | 0% | 0% | 0%
Tools/DXGIAdapterRemovalSupportTest0% | 44% | 17% | 13% | 23%
MiniEngine/Tools0% | 48% | 0% | 0% | 51%
MiniEngine/ModelConverter0% | 0% | 61% | 22% | 15%
MiniEngine/PropertySheets0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
obj
sponza_no_curtain.obj
in MiniEngine/ModelViewer/Sponza
917985 -
obj
sponza.obj
in MiniEngine/ModelViewer/Sponza/pbr
553458 -
obj
sponza.obj
in MiniEngine/ModelViewer/Sponza
553458 -
gltf
sponza2.gltf
in MiniEngine/ModelViewer/Sponza/pbr
30667 -
json.hpp
in MiniEngine/Model
14930 494
d3d12.h
in Libraries/D3D12RaytracingFallback/Include
11084 -
consola24.h
in MiniEngine/Core/Fonts
7091 -
d3dx12.h
in Libraries/D3DX12AffinityLayer/Desktop
3674 296
d3dx12.h
in Libraries/D3DX12AffinityLayer/UWP
3674 296
d3dx12.h
in MiniEngine/Core
3673 296
d3d12_1.h
in Libraries/D3D12RaytracingFallback/Include
3111 -
d3dx12.h
in Libraries/D3D12RaytracingFallback/Include
3098 249
fallbacklayerunittests.cpp
in Libraries/D3D12RaytracingFallback/src
2889 60
StateObjectProcessing.cpp
in Libraries/D3D12RaytracingFallback/src
2877 64
Framework.cpp
in TechniqueDemos/D3D12MemoryManagement/src
1839 45
d3dx12.h
in TechniqueDemos/D3D12MemoryManagement/src
1835 125
d3d12video.h
in Libraries/D3D12RaytracingFallback/Include
1744 -
CD3DX12AffinityDevice.cpp
in Libraries/D3DX12AffinityLayer/Desktop
1385 56
CD3DX12AffinityDevice.cpp
in Libraries/D3DX12AffinityLayer/UWP
1385 56
d3dx12Residency.h
in Libraries/D3DX12Residency
1223 54
DDSTextureLoader.cpp
in MiniEngine/Core
1087 12
CD3DX12AffinityGraphicsCommandList.cpp
in Libraries/D3DX12AffinityLayer/Desktop
945 53
CD3DX12AffinityGraphicsCommandList.cpp
in Libraries/D3DX12AffinityLayer/UWP
945 53
CDXGIAffinitySwapChain.cpp
in Libraries/D3DX12AffinityLayer/Desktop
844 34
CDXGIAffinitySwapChain.cpp
in Libraries/D3DX12AffinityLayer/UWP
844 34
DxilConstants.h
in Libraries/D3D12RaytracingFallback/src/dxc/hlsl
749 4
D3D12MemoryManagement.cpp
in TechniqueDemos/D3D12MemoryManagement/src
689 13
hlsli
TraverseFunction.hlsli
in Libraries/D3D12RaytracingFallback/src
686 -
filters
Core.vcxproj.filters
in MiniEngine/Core
677 -
CommandContext.h
in MiniEngine/Core
625 73
glTF.cpp
in MiniEngine/Model
611 21
FallbackLayer.cpp
in Libraries/D3D12RaytracingFallback/src
573 23
Renderer.cpp
in MiniEngine/Model
565 10
main.cpp
in Tools/DXGIAdapterRemovalSupportTest/src
564 17
ParticleEffectManager.cpp
in MiniEngine/Core
552 12
EngineTuning.cpp
in MiniEngine/Core
548 39
D3D12RaytracingHelpers.hpp
in Libraries/D3D12RaytracingFallback/Include
544 54
SDFFontCreator.cpp
in MiniEngine/Tools/SDFFontCreator
530 15
hlsli
Lighting.hlsli
in MiniEngine/Model/Shaders
527 -
vcxproj
FallbackLayer.vcxproj
in Libraries/D3D12RaytracingFallback/src
510 -
GameInput.cpp
in MiniEngine/Core
508 19
StateObjectProcessing.hpp
in Libraries/D3D12RaytracingFallback/src
507 9
EngineProfiling.cpp
in MiniEngine/Core
493 38
filters
FallbackLayer.vcxproj.filters
in Libraries/D3D12RaytracingFallback/src
484 -
CpuBVH2Builder.cpp
in Libraries/D3D12RaytracingFallback/src
481 15
CommandContext.cpp
in MiniEngine/Core
462 41
GraphRenderer.cpp
in MiniEngine/Core
460 26
vcxproj
Core.vcxproj
in MiniEngine/Core
454 -
ModelConvert.cpp
in MiniEngine/Model
422 10
TextRenderer.cpp
in MiniEngine/Core
413 35
Files With Most Units (Top 20)
File# lines# units
json.hpp
in MiniEngine/Model
14930 494
d3dx12.h
in Libraries/D3DX12AffinityLayer/Desktop
3674 296
d3dx12.h
in Libraries/D3DX12AffinityLayer/UWP
3674 296
d3dx12.h
in MiniEngine/Core
3673 296
d3dx12.h
in Libraries/D3D12RaytracingFallback/Include
3098 249
d3dx12.h
in TechniqueDemos/D3D12MemoryManagement/src
1835 125
CommandContext.h
in MiniEngine/Core
625 73
StateObjectProcessing.cpp
in Libraries/D3D12RaytracingFallback/src
2877 64
Transform.h
in MiniEngine/Core/Math
156 61
fallbacklayerunittests.cpp
in Libraries/D3D12RaytracingFallback/src
2889 60
inl
Functions.inl
in MiniEngine/Core/Math
102 59
CD3DX12AffinityDevice.cpp
in Libraries/D3DX12AffinityLayer/Desktop
1385 56
CD3DX12AffinityDevice.cpp
in Libraries/D3DX12AffinityLayer/UWP
1385 56
D3D12RaytracingHelpers.hpp
in Libraries/D3D12RaytracingFallback/Include
544 54
d3dx12Residency.h
in Libraries/D3DX12Residency
1223 54
CD3DX12AffinityGraphicsCommandList.cpp
in Libraries/D3DX12AffinityLayer/Desktop
945 53
CD3DX12AffinityGraphicsCommandList.cpp
in Libraries/D3DX12AffinityLayer/UWP
945 53
Vector.h
in MiniEngine/Core/Math
109 46
Framework.cpp
in TechniqueDemos/D3D12MemoryManagement/src
1839 45
DxilRuntimeReflection.h
in Libraries/D3D12RaytracingFallback/src/dxc/hlsl
367 44
Files With Long Lines (Top 20)

There are 250 files with lines longer than 120 characters. In total, there are 2612 long lines.

File# lines# units# long lines
json.hpp
in MiniEngine/Model
14930 494 298
d3d12.h
in Libraries/D3D12RaytracingFallback/Include
11084 - 284
fallbacklayerunittests.cpp
in Libraries/D3D12RaytracingFallback/src
2889 60 208
StateObjectProcessing.cpp
in Libraries/D3D12RaytracingFallback/src
2877 64 172
d3d12_1.h
in Libraries/D3D12RaytracingFallback/Include
3111 - 99
d3dx12.h
in Libraries/D3DX12AffinityLayer/Desktop
3674 296 99
d3dx12.h
in Libraries/D3DX12AffinityLayer/UWP
3674 296 99
d3dx12.h
in MiniEngine/Core
3673 296 99
d3dx12.h
in Libraries/D3D12RaytracingFallback/Include
3098 249 76
FallbackLayer.cpp
in Libraries/D3D12RaytracingFallback/src
573 23 62
BufferManager.cpp
in MiniEngine/Core
251 3 44
d3dx12.h
in TechniqueDemos/D3D12MemoryManagement/src
1835 125 36
vcxproj
FallbackLayer.vcxproj
in Libraries/D3D12RaytracingFallback/src
510 - 29
CD3DX12AffinityDevice.cpp
in Libraries/D3DX12AffinityLayer/Desktop
1385 56 28
CD3DX12AffinityDevice.cpp
in Libraries/D3DX12AffinityLayer/UWP
1385 56 28
Framework.cpp
in TechniqueDemos/D3D12MemoryManagement/src
1839 45 27
d3d12video.h
in Libraries/D3D12RaytracingFallback/Include
1744 - 25
CD3DX12AffinityGraphicsCommandList.cpp
in Libraries/D3DX12AffinityLayer/Desktop
945 53 23
CD3DX12AffinityGraphicsCommandList.cpp
in Libraries/D3DX12AffinityLayer/UWP
945 53 23
main.cpp
in Tools/DXGIAdapterRemovalSupportTest/src
564 17 23