pfm
pfm copied to clipboard
[BUG] Graphical artifacts on the model catalog preview
General
- v0.8.3, 864bcc1 [P v1.3 Win64, 5767546]
Describe the bug When you open the model catalog, the preview on the right is full of graphical artifacts.
To Reproduce Steps to reproduce the behavior:
- Launch PFM
- Click on a selection (props, actor, etc) from the cog on the "Actor editor" tab to make the model catalog appear.
- The preview of the model catalog shows graphical artifacts.
Expected behavior The model catalog preview should be free of graphic artifacts or strange colors.
Screenshots
Hardware (please complete the following information):
- OS: Windows 11 24H2
- GPU: RTX 3070 Ti Laptop
- GPU Driver version: 572.16
Log
Thanks for all the reports, I really appreciate it! I wasn't able to replicate this one on my side, so just a few questions to try and narrow it down:
- Does it only happen in the preview windows of the model explorer, or does it happen elsewhere as well?
- Does it happen every time, or only occasionally?
- Does it happen with every model, or just specific ones?
No problem, i hope to be of help 👍.
Does it only happen in the preview windows of the model explorer, or does it happen elsewhere as well?
Yes it happens elsewhere too, in fact i was going to open a separate issue for it but may as well put it here. Another place where it happens is when rendering a preview in the render tab but with a few caveats:
- Must be the first preview after starting PFM
- Pragma must be the selected renderer
- The size of the window and the objects in the scene seem to affect it somewhat changing how it shows up. A few examples:
- Default project, default window size, it shows up every time.
- Default project, window maximized, sometimes it shows some purple squares, sometimes it comes out right:
- pfm_demo_scene, default window size, it shows up everytime:
- pfm_demo_scene, maximized window, sometimes it shows something like superimposed part of the same map?, sometimes it comes out right:
Here is engine dump and log after for one of the tests if it is of any help:
engine_info_dump_2025-02-10_18-06-12.zip
Any preview after the first one or with CyclesX selected comes out right free of artifacts.
Also, I have found how to launch the VR mode through the VR Manager at the "Actor Editor" tab(i guess it's the same as the "Virtual Reality" option at the viewport?) and while in VR the artifacts appear too, sometimes is just one eye, other times it's both. It seems to be affected if i make a preview just before enabling the VR Manager.
Does it happen every time, or only occasionally?
For the model explorer it is every time.
Does it happen with every model, or just specific ones?
On the model explorer it happens even without a model selected, open the model explorer and the artifacts are already there.
Looking at those screenshots, I'm pretty sure it's a VRAM issue due to the huge resolution. Is that 4k? Just for testing, could you please try changing your desktop resolution to 1920x1080, then launch PFM and see if it still happens?
Yes it was 4K, it is a second screen, the other screen i have it's the one from the laptop, a 1080p panel. I unplugged the external 4K screen just to be left with the the laptop screen and rebooted, just in case. Still the same issue for both the model explorer and first render preview with Pragma.
Could you please check your VRAM usage in the task manager the next time it happens and tell me what it says?
Also, could you run debug_textures and debug_render_memory_budget in the console and post the output here?
Yeah, no problem. I have recorded a short video triggering the artifacts with the task manager on the side.
https://github.com/user-attachments/assets/2321e40a-4c88-4067-acba-3a6d6c08c2bc
Also here is the output for both commands after triggering the artifacts in the model explorer:
debug_textures
debug_textures
86 textures are currently loaded:
Name Use Count Resolution Layers Mipmaps Tiling Format Size Last Used Filename
texture_asset_img 3 1920x1080 1 1 Optimal R8G8B8A8_UNorm 8.44 MiB n/a screenshots/cc_new_eden_d0004
texture_asset_img 3 2048x2048 1 12 Optimal BC1_RGBA_UNorm_Block 2.67 MiB n/a models/player/soldier/soldier_d
texture_asset_img 3 2048x2048 1 12 Optimal BC1_RGBA_UNorm_Block 2.67 MiB n/a models/player/soldier/soldier_n
texture_asset_img 8 512x512 6 10 Optimal BC6H_UFloat_Block 2.02 MiB n/a pbr/ibl/venice_sunset_prefilter
texture_asset_img 3 1024x512 1 1 Optimal R8G8B8A8_UNorm 2.00 MiB n/a wgui/silkicons
texture_asset_img 3 653x200 1 1 Optimal R8G8B8A8_UNorm 656.00 KiB n/a third_party/source_engine
texture_asset_img 3 669x106 1 1 Optimal R8G8B8A8_UNorm 336.00 KiB n/a wgui/pragma_logo
texture_asset_img 3 512x512 1 1 Optimal BC6H_UFloat_Block 256.00 KiB n/a env/brdf
texture_asset_img 3 128x128 1 1 Optimal R8G8B8A8_UNorm 64.00 KiB n/a gui/pfm/folder
texture_asset_img 3 512x64 1 10 Optimal BC3_UNorm_Block 49.50 KiB n/a toon/ramp_2band
texture_asset_img 3 128x128 1 8 Optimal BC3_UNorm_Block 23.50 KiB n/a transparent
texture_asset_img 3 132x28 1 1 Optimal R8G8B8A8_UNorm 18.00 KiB n/a gui/pfm/tab-selected
texture_asset_img 3 128x32 1 1 Optimal R8G8B8A8_UNorm 16.00 KiB n/a gui/pfm/icon_cp_camera
texture_asset_img 3 128x128 1 1 Optimal BC3_UNorm_Block 16.00 KiB n/a model_icons/11863829782166690256
texture_asset_img 3 128x128 1 1 Optimal BC3_UNorm_Block 16.00 KiB n/a model_icons/5503224543670688896
texture_asset_img 3 128x128 1 1 Optimal BC3_UNorm_Block 16.00 KiB n/a model_icons/2435851363804836047
texture_asset_img 3 128x128 1 1 Optimal BC3_UNorm_Block 16.00 KiB n/a model_icons/10398793620191490734
texture_asset_img 3 128x128 1 1 Optimal BC3_UNorm_Block 16.00 KiB n/a model_icons/11489899660447141169
texture_asset_img 3 100x32 1 1 Optimal R8G8B8A8_UNorm 14.00 KiB n/a gui/pfm/icon_cp_keymode
texture_asset_img 3 128x128 1 8 Optimal BC1_RGBA_UNorm_Block 13.00 KiB n/a black
texture_asset_img 3 128x128 1 8 Optimal BC1_RGBA_UNorm_Block 13.00 KiB n/a white
texture_asset_img 3 128x128 1 8 Optimal BC1_RGBA_UNorm_Block 13.00 KiB n/a error
texture_asset_img 3 36x38 1 1 Optimal R8G8B8A8_UNorm 12.00 KiB n/a gui/pfm/icon_cp_record
texture_asset_img 3 34x38 1 1 Optimal R8G8B8A8_UNorm 12.00 KiB n/a gui/pfm/icon_cp_play
texture_asset_img 3 40x32 1 1 Optimal R8G8B8A8_UNorm 6.00 KiB n/a gui/pfm/icon_cp_plus_drop
texture_asset_img 3 40x32 1 1 Optimal R8G8B8A8_UNorm 6.00 KiB n/a gui/pfm/icon_gear
texture_asset_img 3 40x32 1 1 Optimal R8G8B8A8_UNorm 6.00 KiB n/a gui/pfm/icon_gear_activated
texture_asset_img 3 40x32 1 1 Optimal R8G8B8A8_UNorm 6.00 KiB n/a gui/pfm/icon_bookmark
texture_asset_img 8 32x32 6 1 Optimal BC6H_UFloat_Block 6.00 KiB n/a pbr/ibl/venice_sunset_irradiance
texture_asset_img 3 32x32 1 1 Optimal R8G8B8A8_UNorm 4.00 KiB n/a gui/pfm/icon_grapheditor_spline
texture_asset_img 3 32x32 1 1 Optimal R8G8B8A8_UNorm 4.00 KiB n/a gui/pfm/tree_expand
texture_asset_img 3 32x32 1 1 Optimal R8G8B8A8_UNorm 4.00 KiB n/a gui/pfm/icon_viewport_autoaim
texture_asset_img 3 32x32 1 1 Optimal R8G8B8A8_UNorm 4.00 KiB n/a gui/pfm/icon_cp_nextclip
texture_asset_img 3 32x32 1 1 Optimal R8G8B8A8_UNorm 4.00 KiB n/a gui/pfm/icon_manipulator_rotate
texture_asset_img 3 30x29 1 1 Optimal R8G8B8A8_UNorm 4.00 KiB n/a gui/pfm/icon_cp_add
texture_asset_img 3 32x32 1 1 Optimal R8G8B8A8_UNorm 4.00 KiB n/a gui/pfm/icon_cp_nextframe
texture_asset_img 3 32x32 1 1 Optimal R8G8B8A8_UNorm 4.00 KiB n/a gui/pfm/icon_manipulator_move
texture_asset_img 3 32x32 1 1 Optimal R8G8B8A8_UNorm 4.00 KiB n/a gui/pfm/icon_cp_firstframe
texture_asset_img 3 32x32 1 1 Optimal R8G8B8A8_UNorm 4.00 KiB n/a gui/pfm/icon_cp_prevclip
texture_asset_img 3 32x32 1 1 Optimal R8G8B8A8_UNorm 4.00 KiB n/a gui/pfm/icon_cp_prevframe
texture_asset_img 3 32x32 1 1 Optimal R8G8B8A8_UNorm 4.00 KiB n/a gui/pfm/icon_clear
texture_asset_img 3 32x32 1 1 Optimal R8G8B8A8_UNorm 4.00 KiB n/a gui/pfm/icon_cp_lastframe
texture_asset_img 3 32x32 1 1 Optimal R8G8B8A8_UNorm 4.00 KiB n/a gui/pfm/icon_manipulator_select_activated
texture_asset_img 3 24x29 1 1 Optimal R8G8B8A8_UNorm 4.00 KiB n/a gui/pfm/bt_middle
texture_asset_img 3 32x32 1 1 Optimal R8G8B8A8_UNorm 4.00 KiB n/a gui/pfm/icon_mode_motioneditor
texture_asset_img 3 32x32 1 1 Optimal R8G8B8A8_UNorm 4.00 KiB n/a gui/pfm/icon_grapheditor_select
texture_asset_img 3 32x32 1 1 Optimal R8G8B8A8_UNorm 4.00 KiB n/a gui/pfm/icon_grapheditor_pan
texture_asset_img 3 32x32 1 1 Optimal R8G8B8A8_UNorm 4.00 KiB n/a gui/pfm/icon_grapheditor_scale
texture_asset_img 3 32x32 1 1 Optimal R8G8B8A8_UNorm 4.00 KiB n/a gui/pfm/icon_grapheditor_zoom
texture_asset_img 3 32x32 1 1 Optimal R8G8B8A8_UNorm 4.00 KiB n/a gui/pfm/icon_grapheditor_linear
texture_asset_img 3 32x32 1 1 Optimal R8G8B8A8_UNorm 4.00 KiB n/a gui/pfm/icon_grapheditor_flat
texture_asset_img 3 32x32 1 1 Optimal R8G8B8A8_UNorm 4.00 KiB n/a gui/pfm/icon_grapheditor_step
texture_asset_img 3 32x32 1 1 Optimal R8G8B8A8_UNorm 4.00 KiB n/a gui/pfm/icon_grapheditor_unified
texture_asset_img 3 32x32 1 1 Optimal R8G8B8A8_UNorm 4.00 KiB n/a gui/pfm/circle_filled
texture_asset_img 3 32x32 1 1 Optimal R8G8B8A8_UNorm 4.00 KiB n/a gui/pfm/icon_grapheditor_isometric
texture_asset_img 3 32x32 1 1 Optimal R8G8B8A8_UNorm 4.00 KiB n/a gui/pfm/icon_grapheditor_weighted
texture_asset_img 3 32x32 1 1 Optimal R8G8B8A8_UNorm 4.00 KiB n/a gui/pfm/icon_grapheditor_offset
texture_asset_img 3 32x32 1 1 Optimal R8G8B8A8_UNorm 4.00 KiB n/a gui/pfm/icon_grapheditor_autoframe
texture_asset_img 3 32x32 1 1 Optimal R8G8B8A8_UNorm 4.00 KiB n/a gui/pfm/icon_grapheditor_unitize
texture_asset_img 3 32x32 1 1 Optimal R8G8B8A8_UNorm 4.00 KiB n/a gui/pfm/icon_timeselectionmode
texture_asset_img 3 32x32 1 1 Optimal R8G8B8A8_UNorm 4.00 KiB n/a gui/pfm/icon_timeline_up
texture_asset_img 3 32x32 1 1 Optimal R8G8B8A8_UNorm 4.00 KiB n/a gui/pfm/icon_snap
texture_asset_img 3 32x32 1 1 Optimal R8G8B8A8_UNorm 4.00 KiB n/a gui/pfm/icon_snap_frame
texture_asset_img 3 32x32 1 1 Optimal R8G8B8A8_UNorm 4.00 KiB n/a gui/pfm/icon_cp_play_once
texture_asset_img 3 32x32 1 1 Optimal R8G8B8A8_UNorm 4.00 KiB n/a gui/pfm/icon_mute
texture_asset_img 3 32x32 1 1 Optimal R8G8B8A8_UNorm 4.00 KiB n/a gui/pfm/icon_mode_timeline_activated
texture_asset_img 3 32x32 1 1 Optimal R8G8B8A8_UNorm 4.00 KiB n/a gui/pfm/icon_mode_grapheditor_preselected
texture_asset_img 3 32x32 1 1 Optimal R8G8B8A8_UNorm 4.00 KiB n/a gui/pfm/icon_timeline_head
texture_asset_img 3 32x32 1 1 Optimal R8G8B8A8_UNorm 4.00 KiB n/a gui/pfm/tree_collapse
texture_asset_img 3 32x32 1 1 Optimal R8G8B8A8_UNorm 4.00 KiB n/a gui/pfm/icon_manipulator_screen
texture_asset_img 3 32x32 1 1 Optimal R8G8B8A8_UNorm 4.00 KiB n/a gui/pfm/icon_grapheditor_unweighted
texture_asset_img 3 24x24 1 5 Optimal BC3_UNorm_Block 3.00 KiB n/a third_party/discord_logo_small
texture_asset_img 3 32x32 1 6 Optimal BC1_RGBA_UNorm_Block 3.00 KiB n/a pbr/rma_neutral
texture_asset_img 3 24x24 1 5 Optimal BC3_UNorm_Block 3.00 KiB n/a third_party/github_logo_small
texture_asset_img 3 32x32 1 6 Optimal BC1_RGBA_UNorm_Block 3.00 KiB n/a pbr/rma_default
texture_asset_img 3 4x29 1 1 Optimal R8G8B8A8_UNorm 2.00 KiB n/a gui/pfm/bt_left
texture_asset_img 3 4x29 1 1 Optimal R8G8B8A8_UNorm 2.00 KiB n/a gui/pfm/bt_right
texture_asset_img 3 14x14 1 1 Optimal R8G8B8A8_UNorm 1.00 KiB n/a gui/pfm/icon_model_item
texture_asset_img 3 10x10 1 1 Optimal R8G8B8A8_UNorm 1.00 KiB n/a gui/pfm/icon_detach
texture_asset_img 3 11x16 1 1 Optimal R8G8B8A8_UNorm 1.00 KiB n/a gui/pfm/timeline_lower_playhead
texture_asset_img 3 14x14 1 1 Optimal R8G8B8A8_UNorm 1.00 KiB n/a gui/pfm/icon_item_visible_off
texture_asset_img 3 11x16 1 1 Optimal R8G8B8A8_UNorm 1.00 KiB n/a gui/pfm/timeline_upper_playhead
texture_asset_img 3 14x14 1 1 Optimal R8G8B8A8_UNorm 1.00 KiB n/a gui/pfm/icon_camera_item
texture_asset_img 3 7x5 1 1 Optimal R8G8B8A8_UNorm 512.00 Byte n/a gui/pfm/arrow_down
texture_asset_img 3 5x7 1 1 Optimal R8G8B8A8_UNorm 512.00 Byte n/a gui/pfm/arrow_left
texture_asset_img 3 5x7 1 1 Optimal R8G8B8A8_UNorm 512.00 Byte n/a gui/pfm/arrow_right
Total memory: 19.55 MiB
Number of scenes: 4
Renderer :
8 images:
scene_hdr_rt_tex0_img 2 1280x1024 1 1 Optimal R16G16B16A16_SFloat 10.00 MiB n/a <implementation>
blur_staging_rt_tex0_img 2 512x256 1 1 Optimal R16G16B16A16_SFloat 1.00 MiB n/a <implementation>
scene_hdr_rt_tex1_img 2 1280x1024 1 1 Optimal R16G16B16A16_SFloat 10.00 MiB n/a <implementation>
prepass_depth_normal_rt_tex1_img...2 1280x1024 1 1 Optimal D32_SFloat 5.00 MiB n/a <implementation>
scene_bloom_blur_rt_tex0_img 2 512x256 1 1 Optimal R16G16B16A16_SFloat 1.00 MiB n/a <implementation>
scene_post_tonemapping_post_proc...2 1280x1024 1 1 Optimal R8G8B8A8_UNorm 5.00 MiB n/a <implementation>
scene_post_hdr_rt_tex0_img 2 1280x1024 1 1 Optimal R8G8B8A8_UNorm 5.00 MiB n/a <implementation>
prepass_depth_normal_rt_tex0_img 2 1280x1024 1 1 Optimal R16G16B16A16_SFloat 10.00 MiB n/a <implementation>
Total scene image size: 47.00 MiB
Renderer :
8 images:
scene_hdr_rt_tex0_img,WIModelVie...2 1280x1024 1 1 Optimal R16G16B16A16_SFloat 10.00 MiB n/a <implementation>
scene_hdr_rt_tex1_img,WIModelVie...2 1280x1024 1 1 Optimal R16G16B16A16_SFloat 10.00 MiB n/a <implementation>
prepass_depth_normal_rt_tex1_img...2 1280x1024 1 1 Optimal D32_SFloat 5.00 MiB n/a <implementation>
scene_bloom_blur_rt_tex0_img 2 512x256 1 1 Optimal R16G16B16A16_SFloat 1.00 MiB n/a <implementation>
blur_staging_rt_tex0_img 2 512x256 1 1 Optimal R16G16B16A16_SFloat 1.00 MiB n/a <implementation>
scene_post_hdr_rt_tex0_img 2 1280x1024 1 1 Optimal R8G8B8A8_UNorm 5.00 MiB n/a <implementation>
prepass_depth_normal_rt_tex0_img 2 1280x1024 1 1 Optimal R16G16B16A16_SFloat 10.00 MiB n/a <implementation>
scene_post_tonemapping_post_proc...2 1280x1024 1 1 Optimal R8G8B8A8_UNorm 5.00 MiB n/a <implementation>
Total scene image size: 47.00 MiB
Renderer :
8 images:
scene_post_hdr_rt_tex0_img 2 128x128 1 1 Optimal R8G8B8A8_UNorm 64.00 KiB n/a <implementation>
scene_hdr_rt_tex0_img,WIModelVie...2 128x128 1 1 Optimal R16G16B16A16_SFloat 128.00 KiB n/a <implementation>
scene_hdr_rt_tex1_img,WIModelVie...2 128x128 1 1 Optimal R16G16B16A16_SFloat 128.00 KiB n/a <implementation>
prepass_depth_normal_rt_tex1_img...2 128x128 1 1 Optimal D32_SFloat 64.00 KiB n/a <implementation>
scene_post_tonemapping_post_proc...2 128x128 1 1 Optimal R8G8B8A8_UNorm 64.00 KiB n/a <implementation>
blur_staging_rt_tex0_img 2 512x2048 1 1 Optimal R16G16B16A16_SFloat 8.00 MiB n/a <implementation>
scene_bloom_blur_rt_tex0_img 2 512x2048 1 1 Optimal R16G16B16A16_SFloat 8.00 MiB n/a <implementation>
prepass_depth_normal_rt_tex0_img 2 128x128 1 1 Optimal R16G16B16A16_SFloat 128.00 KiB n/a <implementation>
Total scene image size: 16.56 MiB
Renderer :
8 images:
scene_post_hdr_rt_tex0_img 2 256x512 1 1 Optimal R8G8B8A8_UNorm 512.00 KiB n/a <implementation>
scene_hdr_rt_tex0_img,WIModelVie...2 256x512 1 1 Optimal R16G16B16A16_SFloat 1.00 MiB n/a <implementation>
scene_hdr_rt_tex1_img,WIModelVie...2 256x512 1 1 Optimal R16G16B16A16_SFloat 1.00 MiB n/a <implementation>
prepass_depth_normal_rt_tex1_img...2 256x512 1 1 Optimal D32_SFloat 512.00 KiB n/a <implementation>
scene_post_tonemapping_post_proc...2 256x512 1 1 Optimal R8G8B8A8_UNorm 512.00 KiB n/a <implementation>
scene_bloom_blur_rt_tex0_img 2 512x512 1 1 Optimal R16G16B16A16_SFloat 2.00 MiB n/a <implementation>
blur_staging_rt_tex0_img 2 512x512 1 1 Optimal R16G16B16A16_SFloat 2.00 MiB n/a <implementation>
prepass_depth_normal_rt_tex0_img 2 256x512 1 1 Optimal R16G16B16A16_SFloat 1.00 MiB n/a <implementation>
Total scene image size: 8.50 MiB
Total device image memory: 0.00 Byte
debug_render_memory_budget
debug_render_memory_budget
Total block size: 1.22 GiB (1308622848)
Total allocation size: 1000.93 MiB (1049555920)
Current memory usage 1.22 GiB (1308622848)
Available memory: 6.26 GiB (6725985894)
I don't now if this narrows things, but I managed to, somewhat, make the artifacts dissapear by maximizing and restoring the window a few times just after starting PFM. It doesn't work 100% of the time though, but for the most part it seems to remove the artifacts in the model explorer.
@leronoa Can you try and do another preview render (with the Pragma renderer) with the latest preview release and check if the artifacts still appear? https://github.com/Silverlan/pragma/releases/tag/nightly
I've added some rendering fixes, but I'm not sure if they're related to your issues.
I tried the new nightly but unfortunately i am getting the same results.
Also a thing i noticed trying stuff around that i don't know if they might be related to this. When PFM is generating the model icons for the model browser you can see in the top left corner of the window a miniature of the current viewport. It seems to flash for each model icon that is generated.
With the latest nightly release, can you please try this:
- Launch PFM
- Run
pfm_debug_dump_render_image_stages 1in the console - Use the Pragma renderer to render a full image
- Upload the image files in
pragma/temp/render_image_stageshere
Also, can you check if the image output file also has those artifacts? You can find the file by clicking the gear-icon and then clicking "Open Output Folder":
(You might have to close PFM after the render, or the file might not be completely written yet.)
Yeah, no problem. The images generated by the pfm_debug_dump_render_image_stages 1 in the temp folder:
And the full render in the output folder:
It seems like it's reading from some type of buffer or cache. If i import a glb model and then render with pragma one of the textures of the model i just imported, but that i didn't use yet, would show up distorted all over the render like this: