View Issue Details

IDProjectCategoryView StatusLast Update
0005334The Dark ModGraphicspublic17.01.2021 04:04
Reporterstgatilov Assigned To 
PrioritynormalSeverityminorReproducibilityrandom
Status resolvedResolutionunable to reproduce 
Product VersionSVN 
Target VersionTDM 2.09Fixed in VersionTDM 2.09 
Summary0005334: White rectangle blinks when in-game text appears
DescriptionWhen hints come up in the New Job FM, they start with a fast glimpse of white rectangle.
Rectangle quickly disappears, and the text starts slowly fading in from nonexistance.

Note: messages like "Objective Complete" don't have this problem.
Steps To Reproduce1) Start New Job FM.
2) Come to some place with a hint (better save just before it).
I believe the first such place is when two guards are talking (arrival at streets).

I reproduced it with old backend.
Tried toggling other things like uncapped FPS, SMP, 64-bit color --- does not help.
TagsNo tags attached.

Activities

stgatilov

stgatilov

01.09.2020 16:34

administrator   ~0012772

Config file.
Darkmod.cfg (13,238 bytes)   
seta r_legacyTangents "1"
seta jobs_numThreads "2"
seta gui_mediumFontLimit "0.30"
seta gui_smallFontLimit "0.15"
seta radiant_entityMode "0"
seta net_socksPassword ""
seta net_socksUsername ""
seta net_socksPort "1080"
seta net_socksServer ""
seta net_socksEnabled "0"
seta win_topmost "0"
seta win_maximized "0"
seta win_ypos "22"
seta win_xpos "3"
seta sys_lang "english"
seta s_decompressionLimit "6"
seta s_useHRTF "1"
seta s_useEAXReverb "1"
seta s_numberOfSpeakers "2"
seta s_doorDistanceAdd "450"
seta s_globalFraction "0.8"
seta s_subFraction "0.75"
seta s_playDefaultSound "0"
seta s_volume_dB "0"
seta s_meterTopTime "2000"
seta s_reverse "0"
seta s_spatializationDecay "2"
seta s_maxSoundsPerShader "0"
seta s_device "default"
seta s_diffractionMax "10"
seta r_useFenceSync "1"
seta r_useBaseVertex "1"
seta r_frameIndexMemory "4096"
seta r_frameVertexMemory "4096"
seta r_useParallelAddModels "0"
seta r_maxShadowMapLight "1000"
seta r_postprocess_desaturation "0.05"
seta r_postprocess_colorCorrectBias "0.1"
seta r_postprocess_colorCorrection "5"
seta r_postprocess_colorCurveBias "0.8"
seta r_postprocess_brightness "1"
seta r_postprocess_gamma "1.468254"
seta r_cinematic_legacyRoq "0"
seta r_shadowMapSize "1024"
seta r_fboDepthBits "24"
seta r_fboSRGB "0"
seta r_fboColorBits "64"
seta r_newFrob "0"
seta r_glCoreProfile "2"
seta r_uniformTransforms "1"
seta r_useGLSL "1"
seta r_useAnonreclaimer "0"
seta r_screenshot_format "jpg"
seta r_debugArrowStep "120"
seta r_debugLineWidth "1"
seta r_debugLineDepthTest "0"
seta com_smp "0"
seta r_forceLoadImages "0"
seta r_lightSourceRadius "0"
seta r_shadows "1"
seta r_shadowPolygonFactor "0"
seta r_shadowPolygonOffset "-1"
seta r_offsetunits "-0.1"
seta r_offsetfactor "-2"
seta r_clear "2"
seta r_useSoftParticles "1"
seta r_skipDepthCapture "0"
seta r_skipBump "0"
seta r_skipSpecular "0"
seta r_ambientGamma "1"
seta r_ambientMinLevel "0"
seta r_swapInterval "0"
seta r_softShadowsRadius "1.0"
seta r_softShadowsQuality "0"
seta r_fullscreen "0"
seta r_multiSamples "0"
seta r_glDebugContext "0"
seta r_glDebugOutput "0"
seta r_tonemap "1"
seta image_blockChecksum "0"
seta image_downSizeLimit "256"
seta image_ignoreHighQuality "0"
seta image_downSizeBumpLimit "128"
seta image_downSizeSpecularLimit "64"
seta image_downSizeBump "0"
seta image_downSizeSpecular "0"
seta image_usePrecompressedTextures "1"
seta image_useNormalCompression "1"
seta image_useAllFormats "1"
seta image_useCompression "1"
seta image_preload "1"
seta image_roundDown "1"
seta image_forceDownSize "0"
seta image_downSize "0"
seta image_lodbias "0"
seta image_anisotropy "4"
seta image_filter "GL_LINEAR_MIPMAP_LINEAR"
seta r_debugGLSL "0"
seta r_fboResolution "1"
seta r_shadowMapSinglePass "0"
seta r_shadowMapCullFront "0"
seta r_cinematic_checkImmediately "0"
seta r_cinematic_log_flush "0"
seta r_cinematic_log_ffmpeg "0"
seta r_cinematic_log "1"
seta r_usePersistentMapping "1"
seta r_useBindlessTextures "0"
seta r_useNewBackend "0"
seta r_bloom_blursteps "2"
seta r_bloom_downsample_limit "128"
seta r_bloom_weight "0.3"
seta r_bloom_detailblend "0.5"
seta r_bloom_threshold_falloff "8"
seta r_bloom_threshold "0.7"
seta r_bloom "1"
seta r_ssao_edgesharpness "1"
seta r_ssao_base "0.1"
seta r_ssao_intensity "1.0"
seta r_ssao_bias "0.05"
seta r_ssao_radius "32"
seta r_ssao "1"
seta net_serverDlTable ""
seta net_serverDlBaseURL ""
seta net_serverDownload "0"
seta mod_validSkins "skins/characters/player/marine_mp;skins/characters/player/marine_mp_green;skins/characters/player/marine_mp_blue;skins/characters/player/marine_mp_red;skins/characters/player/marine_mp_yellow"
seta g_mapCycle "mapcycle"
seta g_voteFlags "0"
seta g_gameReviewPause "10"
seta g_countDown "10"
seta g_password ""
seta g_rotoscope "0"
seta g_testModelHeadJoint "Spine2"
seta g_testModelHead "atdm:ai_head_citywatch"
seta g_skipViewEffects "0"
seta g_fov "90"
seta g_showBrass "1"
seta g_showProjectilePct "0"
seta g_showHud "1"
seta g_showPlayerShadow "0"
seta pm_air_regainingSpeed "4"
seta pm_air "1800"
seta pm_modelView "0"
seta pm_thirdPersonDeath "0"
seta pm_thirdPerson "0"
seta pm_thirdPersonClip "1"
seta pm_thirdPersonAngle "0"
seta pm_thirdPersonHeight "0"
seta pm_thirdPersonRange "80"
seta pm_bobroll "0.0015"
seta pm_bobpitch "0.001"
seta pm_bobup "0.03"
seta pm_runroll "0.003"
seta pm_runpitch "0.001"
seta pm_runbob "0.35"
seta pm_walkbob "0.3"
seta pm_crouchbob "0.2"
seta pm_bboxwidth "32"
seta pm_crouchrate "0.87"
seta pm_deadviewheight "10"
seta pm_deadheight "20"
seta pm_normalviewheight "68"
seta pm_normalheight "74"
seta pm_crouchviewheight "34"
seta pm_crouchheight "38"
seta pm_maxviewpitch "89"
seta pm_minviewpitch "-89"
seta pm_noclipspeed "200"
seta pm_walkspeed "70"
seta pm_stepsize "16"
seta pm_jumpheight "48"
seta g_enablePortalSky "2"
seta g_showcamerainfo "0"
seta g_damageScale "1"
seta g_decals "1"
seta g_doubleVision "1"
seta g_bloodEffects "1"
seta g_projectileLights "1"
seta g_muzzleFlash "1"
seta gui_CenterY "0.5"
seta gui_CenterX "0.5"
seta gui_Height "1.0"
seta gui_Width "1.0"
seta ui_showGun "1"
seta ui_autoSwitch "1"
seta ui_team "Red"
seta ui_skin "skins/characters/player/marine_mp"
seta ui_name "Player"
seta si_serverURL ""
seta si_spectators "1"
seta si_usePass "0"
seta si_warmup "0"
seta si_teamDamage "0"
seta si_timeLimit "10"
seta si_maxPlayers "4"
seta si_map "game/mp/d3dm1"
seta si_gameType "singleplayer"
seta si_name "DOOM Server"
seta tdm_lod_bias "3.0"
seta tdm_voice_from_off_volume "0"
seta tdm_voice_player_volume "0"
seta tdm_music_volume "0"
seta tdm_door_auto_open_on_unlock "1"
seta tdm_bow_aimer "0"
seta tdm_lp_debug_hud "0"
seta tdm_lp_pawlow "0"
seta tdm_lp_randomize "1"
seta tdm_lp_auto_pick "0"
seta tdm_lp_autopick_attempts "3"
seta tdm_lp_pick_timeout "500"
seta tdm_lp_sample_delay "10"
seta tdm_lp_base_count "5"
seta tdm_empty_model "models/darkmod/misc/system/empty.lwo"
seta tdm_lg_model "models/darkmod/misc/system/lightgem.lwo"
seta tdm_lg_weak "0"
seta tdm_lg_interleave_min "40"
seta tdm_lg_interleave "1"
seta pm_rope_snd_rep_dist "32"
seta pm_min_stepsound_interval "200"
seta pm_stepvol_crouch_creep "-7"
seta pm_stepvol_crouch_run "4"
seta pm_stepvol_crouch_walk "-2"
seta pm_stepvol_creep "-5"
seta pm_stepvol_run "8"
seta pm_stepvol_walk "0"
seta tdm_underwater_blur "3"
seta tdm_rope_pull_force_factor "140"
seta gui_objectiveTextSize "1"
seta gui_barSize "1"
seta gui_lightgemSize "1"
seta gui_bigTextSize "1"
seta gui_smallTextSize "1"
seta gui_iconSize "1"
seta tdm_inv_use_visual_feedback "1"
seta tdm_door_control "0"
seta tdm_inv_use_on_frob "1"
seta tdm_inv_loot_sound "frob_loot"
seta tdm_inv_hud_pickupmessages "1"
seta tdm_hud_hide_lightgem "0"
seta tdm_hud_opacity "0.7"
seta tdm_invgrid_hud_file "guis/tdm_invgrid_parchment.gui"
seta tdm_grabber_reverse_control "0"
seta tdm_bounce_sound_min_vel "80"
seta tdm_bounce_sound_max_vel "400"
seta tdm_throw_max_vel "900"
seta tdm_throw_time "1200"
seta tdm_throw_max "3500"
seta tdm_throw_min "600"
seta tdm_phys_show_momentum "0"
seta tdm_ai_hearing_hardcore "1.5"
seta tdm_ai_hearing_challenging "1.0"
seta tdm_ai_hearing_forgiving "0.6"
seta tdm_ai_hearing_nearly_deaf "0.2"
seta tdm_ai_hearing "2"
seta tdm_ai_vision_hardcore "1.005"
seta tdm_ai_vision_challenging "0.804"
seta tdm_ai_vision_forgiving "0.402"
seta tdm_ai_vision_nearly_blind "0.134"
seta tdm_ai_vision "1"
seta tdm_melee_difficulty "normal"
seta tdm_melee_max_particles "10"
seta tdm_melee_forbid_auto_parry "0"
seta tdm_melee_auto_parry "1"
seta tdm_melee_invert_parry "0"
seta tdm_melee_invert_attack "0"
seta tdm_melee_mouse_thresh_ "0"
seta tdm_dragged_item_highlight "1"
seta tdm_drag_encumber_max "0.4"
seta tdm_drag_encumber_maxmass "55"
seta tdm_drag_encumber_minmass "10"
seta tdm_drag_jump_masslimit "20"
seta tdm_drag_af_free "0"
seta tdm_drag_af_ground_timer "800"
seta tdm_drag_damping_af "0.4"
seta tdm_drag_damping "0.0"
seta tdm_drag_stuck_dist "38.0"
seta tdm_drag_force_max "100000"
seta tdm_drag_limit_force "1"
seta tdm_collision_damage_scale_horiz "0.5"
seta tdm_collision_damage_scale_vert "1"
seta tdm_frobhelper_ignore_size "40.0"
seta tdm_frobhelper_fadeout_duration "500"
seta tdm_frobhelper_fadein_duration "1500"
seta tdm_frobhelper_fadein_delay "500"
seta tdm_frobhelper_alpha "1.0"
seta tdm_frobhelper_alwaysVisible "0"
seta tdm_frobhelper_active "1"
seta tdm_frob_fadetime "100"
seta tdm_frob_width "10.0"
seta tdm_frob_distance_default "63"
seta pm_lean_toggle "0"
seta pm_lean_door_bounds_exp "8.0"
seta pm_lean_door_max "40"
seta pm_lean_door_increments "10"
seta pm_lean_to_valid_increments "25"
seta pm_lean_forward_stretch "15"
seta pm_lean_forward_height "0.4"
seta pm_lean_forward_time "400.0"
seta pm_lean_forward_angle "2"
seta pm_lean_stretch "2"
seta pm_lean_height "0.4"
seta pm_lean_time "400.0"
seta pm_lean_angle "15.0"
seta pm_shoulderDrop_angleIncrement "22.5"
seta pm_shoulderDrop_maxAngle "91.0"
seta pm_shoulderAnim_delay_msecs "0.0"
seta pm_shoulderAnim_dip_dist "5.0"
seta pm_shoulderAnim_rockDist "3.0"
seta pm_shoulderAnim_dip_duration "0.5"
seta pm_shoulderAnim_msecs "700.0"
seta tdm_reattach_delay "100"
seta tdm_crouch_toggle_hold_time "400"
seta tdm_toggle_crouch "1"
seta tdm_footfall_sounds_movetype_specific "1"
seta pm_ladderSlide_speedLimit "400.0"
seta pm_mantle_cancel_speed "150.0"
seta pm_mantle_pullFast_msecs "450"
seta pm_mantle_maxLowObstacleHeight "36.0"
seta pm_mantle_minflatness "0.707"
seta pm_mantle_height "0.2"
seta pm_mantle_reach "0.5"
seta pm_weightmod "1"
seta pm_softhinderance_run "1.0"
seta pm_softhinderance_walk "0.5"
seta pm_softhinderance_creep "0.2"
seta pm_softhinderance_active "1"
seta pm_push_max_mass "200"
seta pm_push_heavy_threshold "0.15"
seta pm_push_accel_time "1000"
seta pm_push_start_delay "1000"
seta pm_push_maximpulse "300"
seta pm_pushmod "0.15"
seta pm_swimspeed_frequency "0.8"
seta pm_swimspeed_variation "0.6"
seta pm_max_swimspeed_mod "1.4"
seta pm_crouchmod "0.54"
seta pm_running_creepmod "0.22"
seta pm_creepmod "0.44"
seta pm_runmod "2.35"
seta tdm_savegame_compress "1"
seta tdm_force_savegame_load "1"
seta tdm_mainmenu_confirmquit "1"
seta tdm_debug_aastype "aas32"
seta tdm_allow_http_access "1"
seta tdm_proxy_pass ""
seta tdm_proxy_user ""
seta tdm_proxy ""
seta tdm_fm_restart_delay "0"
seta tdm_default_relations_def "atdm:team_relations_default"
seta tdm_show_trainer_messages "1"
seta tdm_menu_music "1"
seta tdm_wideScreenMode "6"
seta r_aspectRatio "1"
seta r_customHeight "720"
seta r_customWidth "1280"
seta tdm_ai_show_aasfuncobstacle_state "0"
seta tdm_show_health "0"
seta tdm_ai_debug_greetings "0"
seta tdm_ai_debug_transition_barks "0"
seta tdm_ai_opt_nolipsync "0"
seta tdm_ai_opt_update_enemypos_interleave "48"
seta tdm_ai_opt_interleavethinkframes "0"
seta tdm_ai_opt_interleavethinkskipPVS "0"
seta tdm_ai_opt_interleavethinkmaxdist "0"
seta tdm_ai_opt_interleavethinkmindist "0"
seta tdm_ai_search_type "4"
seta tdm_ai_visdist_show "0.0"
seta tdm_ai_search_show "0.0"
seta tdm_showko "0"
seta tdm_showsprop_radius "0"
seta tdm_showsprop "0"
seta tdm_spr_debug "0"
seta tdm_sndprop_disable "0"
seta tdm_ai_acuity_L5 "1.5"
seta tdm_ai_acuity_L4 "1.3"
seta tdm_ai_acuity_L3 "1.1"
seta tdm_ai_show_conversationstate "0"
seta tdm_ai_show_enemy_visibility "0"
seta tdm_ai_sight_scale "1000.0"
seta tdm_ai_sight_thresh "1.0"
seta tdm_ai_showelevator "0"
seta tdm_ai_showdoor "0"
seta tdm_ai_debug_blocked "0"
seta tdm_ai_showAASarea "0"
seta tdm_ai_showgoalpos "0"
seta tdm_ai_showdest "0"
seta tdm_ai_showalert "0"
seta tdm_ai_showtasks "0"
seta tdm_ai_showanimstate "0"
seta tdm_ai_showko "0"
seta tdm_ai_showfov "0"
seta tdm_ai_debug "0"
seta tdm_ai_bumpobject_impulse "250"
seta tdm_ai_tact "20.0"
seta tdm_ai_sight_combat_cutoff "20.0"
seta tdm_ai_sightmin "15.0"
seta tdm_ai_sightmax "40.0"
seta tdm_ai_sight_mag "1.0"
seta tdm_ai_sight_prob "0.7"
seta tdm_ai_showname "0"
seta tdm_ai_showbark "0"
seta tdm_ai_sndvol "0.0"
seta tdm_player_wait_until_ready "1"
seta com_automation_port "3879"
seta com_automation "0"
seta m_strafeSmooth "4"
seta m_smooth "1"
seta m_strafeScale "6.25"
seta m_yaw "0.022"
seta m_pitch "0.022"
seta sensitivityMenuOverride "0"
seta sensitivityMenu "1.0"
seta sensitivity "5"
seta in_toggleZoom "0"
seta in_toggleCrouch "0"
seta in_toggleRun "0"
seta in_alwaysRun "0"
seta in_freeLook "1"
seta in_anglespeedkey "1.5"
seta in_pitchspeed "140"
seta in_yawspeed "140"
seta gui_configServerRate "0"
seta com_maxFPS "166"
seta com_savegame_preview_format "jpg"
seta com_numQuickSaves "2"
seta com_guid ""
seta com_fixedTic "0"
seta decl_stack "1"
seta com_preloadDemos "0"
seta com_compressDemos "1"
seta con_legacyFont "0"
seta com_product_lang_ext "1"
seta logFile "2"
seta com_showFPSavg "10"
seta com_showFPS "1"
seta com_purgeAll "0"
seta r_skipDynamicShadows "0"
Darkmod.cfg (13,238 bytes)   
stgatilov

stgatilov

17.12.2020 04:04

administrator   ~0013156

Last edited: 17.12.2020 04:04

View 2 revisions

As of 2.09 beta, I can still reproduce it on the new backend.
nbohr1more

nbohr1more

18.12.2020 15:00

developer   ~0013158

Perhaps I have poor perception of this but I am not able to see the rectangle?
The text fades in and out as expected.
stgatilov

stgatilov

18.12.2020 15:15

administrator   ~0013159

Yes.
But just before it starts fading in (at the time when it is not visible yet) I see a white rectangle on the screen for a frame.
duzenko

duzenko

21.12.2020 15:42

developer   ~0013171

Try a breakpoint in idImage::Bind

    if ( texnum == TEXTURE_NOT_LOADED ) {
        globalImages->whiteImage->Bind(); // here
        return;
    }
nbohr1more

nbohr1more

05.01.2021 06:32

developer   ~0013367

I tried replacing the image with current render, then tried commenting out the "dummy" image bind:

if ( texnum == TEXTURE_NOT_LOADED ) {
        // globalImages->currentRenderImage->Bind();
        return;
    }

In both cases, I had trouble reproducing the issue in the Training Mission.
Where I thought I might have seen it, it was more as if I accidentally triggered the player note.

I didn't see any negative effects from this change.
I presume this is being done to allow "bumpmap" or other shaders to run against materials with no diffuse stage?
stgatilov

stgatilov

05.01.2021 08:50

administrator   ~0013370

By the way, I also could not reproduce it some time ago.
So I guess the issue does not happen all the time.
nbohr1more

nbohr1more

11.01.2021 02:24

developer   ~0013437

"image_preload 0" really exacerbates this white image flashing.

In my local testing of all internal images, this was the one that had the least amount of artifacts in that mode:

if ( texnum == TEXTURE_NOT_LOADED ) {
        globalImages->scratchImage2->Bind();
        return;
    }

Any objections to committing this?
stgatilov

stgatilov

11.01.2021 03:48

administrator   ~0013438

Yes, indeed, I have objection: it looks like a hack.
Basically, it looks like hiding the problem rather than fixing it.
duzenko

duzenko

11.01.2021 08:07

developer   ~0013439

Last edited: 11.01.2021 08:07

View 2 revisions

Maybe add optional skip for surfaces with textures unloaded. Or force sync load.
Another place this should help with is animated menu background in e.g. Accountant
nbohr1more

nbohr1more

11.01.2021 19:55

developer   ~0013440

Last edited: 11.01.2021 20:01

View 7 revisions

"Skip" sounds like a good idea to me based on the intended design.

If you post a patch, I will test it locally.

That said, in my own testing I must say that the loading bar completes quickly but afterwards you are hung on a black screen
for almost as long as the image_preload 1 mode "loading screen" before the "click to start" GUI appears.

For me (at least) "image_preload 0" has the effect of:

1) Rapid loading bar
2) Clunky black screen on screen a looong time (very little load time improvement)
3) Click to Start finally appears and is sluggish
4) Sometimes the models load with a strange flat placeholder texture for a second or 2 before rendering properly
5) Temporary freezes when moving to new portal-ed areas

Compared to "image_preload 1" :

1) Slower loading bar
2) Quickly transitions to "Click to Start" when done
3) Smooth gameplay when done (no freeze events when going to different areas)

Not sure how this varies from driver versions, OS'es, etc.

Maybe it helps those without an SSD?
duzenko

duzenko

11.01.2021 20:08

developer   ~0013441

Last edited: 11.01.2021 20:10

View 2 revisions

I could do something in that direction, but who would it benefit?
The default value is 1 so that's good for general audience
People need to know why they want to set it to 0, like me for example. My system loads maps fairly quick, and provided the assets files are cached by the system, the on-the-fly loading is actually fast for me as well, compared to 1+years ago. Not sure what changed, maybe the new backend makes things much easier for the driver, but the dynamic load hiccups feel quite minor.
I think the big improvement will come with the normal map assets switch to RGTC2, so that the JPG's won't need to convert to TC every time.
That only leaves the GUI flickering issue.
nbohr1more

nbohr1more

11.01.2021 21:12

developer   ~0013442

Last edited: 11.01.2021 21:13

View 2 revisions

I am not able to replicate the bug in this tracker so the closest I can get is with image_preload disabled.

I suspect that stgatilov wants to identify why the GUI code sometimes throws an undefined texture up briefly before showing
a message so the "true fix" for that would be to force the texture to load prior to any GUI pop-up or at least ensure the timing is right.

Since there is overlap in these behaviors and the code they use, the presumption is that fixing the flicker in image_preload 0
would also fix the rare cases of undefined texture popping.
stgatilov

stgatilov

12.01.2021 02:33

administrator   ~0013443

It is quite likely that one frame of flicker is inevitable with SMP enabled if GUI uses non-preloaded texture.
Perhaps the issue with "image_preload 0" white flashing will go away if you set "com_smp 0" too.

Anyway, I'm more worried about the "image_preload 1" case.
Maybe this texture is not preloaded because it is dynamically generated from text?
I have no idea how text is rendered... but shouldn't there be a font (which is preloaded), and all the text messages be composed from its letters?

As for scratch2 image fix.
Ideally, we need an invisible texture to mask the problem.
The name of "scratch2" does not sound like this texture is invisible.
It is more like "it contains whatever was left there from the previous user, whoever it was"...
If there is no builtin invisible texture, maybe we can add one and use it instead.
cabalistic

cabalistic

12.01.2021 22:58

developer   ~0013450

First of all, let's ignore image_preload 0. This is a developer feature more than anything, and if you enable it, you implicitly accept that images are not immediately available and may show a placeholder first.

With preload, I don't think I've seen this particular bug. I think hiding it with an invisble placeholder texture is the wrong idea - it sounds wrong that it would ever have to fall back to a placeholder in the first place, and we should find the reason for that and fix it. And having a visible placeholder is good specifically for spotting these kinds of bugs, so I'd rather not change that.
nbohr1more

nbohr1more

13.01.2021 00:49

developer   ~0013451

I agree that it would be better to have a proper fix but I feel that such a fix is of very low benefit compared to the effort to
find it? For example, do we suspect that this texture flicker is regularly wasting resources or posing stability issues with image updates?

I was starting to investigate stgatilov's approach and look into modifying a clone of the "alpha notch" image program to create an alpha image
that is fully transparent.

Given the rarity or difficulty replicating, is this really a 2.09 blocker?

Can we un-version this or re-target to 2.10?

Does anyone want this issue assigned to themselves?
stgatilov

stgatilov

13.01.2021 03:19

administrator   ~0013452

This is not a blocker for 2.09.
It shows up in very specific circumstances, and I even cannot reproduce it all the time.
duzenko

duzenko

16.01.2021 17:04

developer   ~0013462

Last edited: 16.01.2021 17:16

View 2 revisions

@nbohr1more
I tested New Job and I'm still not sure what you mean here
Is it e.g. the hint 'Find some stuff to stack the crate on'?
It does not seem to invoke background texture loads to me with image_preload 1
Which is why I asked to set the breakpoint and see if it's even the relevant code for you
FWIW I can't repeat the white rectangle as well, so I wonder if it's the same hint we're talking about?

EDIT. You might want to try svn rev 9076
nbohr1more

nbohr1more

16.01.2021 22:07

developer   ~0013468

GUI Flickering is cured in image_preload zero mode!

Mark as fixed?
stgatilov

stgatilov

17.01.2021 02:15

administrator   ~0013469

Last edited: 17.01.2021 02:16

View 2 revisions

I only care about "image_preload 1" mode.
But since I cannot reproduce the issue myself now, so it would be OK to resolve it.

Issue History

Date Modified Username Field Change
01.09.2020 16:32 stgatilov New Issue
01.09.2020 16:34 stgatilov Note Added: 0012772
01.09.2020 16:34 stgatilov File Added: Darkmod.cfg
01.09.2020 16:34 stgatilov Description Updated View Revisions
17.12.2020 04:04 stgatilov Note Added: 0013156
17.12.2020 04:04 stgatilov Note Edited: 0013156 View Revisions
18.12.2020 15:00 nbohr1more Note Added: 0013158
18.12.2020 15:15 stgatilov Note Added: 0013159
21.12.2020 15:42 duzenko Note Added: 0013171
05.01.2021 06:32 nbohr1more Note Added: 0013367
05.01.2021 08:50 stgatilov Note Added: 0013370
05.01.2021 08:50 stgatilov Reproducibility always => random
11.01.2021 02:24 nbohr1more Note Added: 0013437
11.01.2021 03:48 stgatilov Note Added: 0013438
11.01.2021 08:07 duzenko Note Added: 0013439
11.01.2021 08:07 duzenko Note Edited: 0013439 View Revisions
11.01.2021 19:55 nbohr1more Note Added: 0013440
11.01.2021 19:56 nbohr1more Note Edited: 0013440 View Revisions
11.01.2021 19:56 nbohr1more Note Edited: 0013440 View Revisions
11.01.2021 19:57 nbohr1more Note Edited: 0013440 View Revisions
11.01.2021 19:59 nbohr1more Note Edited: 0013440 View Revisions
11.01.2021 20:00 nbohr1more Note Edited: 0013440 View Revisions
11.01.2021 20:01 nbohr1more Note Edited: 0013440 View Revisions
11.01.2021 20:08 duzenko Note Added: 0013441
11.01.2021 20:10 duzenko Note Edited: 0013441 View Revisions
11.01.2021 21:12 nbohr1more Note Added: 0013442
11.01.2021 21:13 nbohr1more Note Edited: 0013442 View Revisions
12.01.2021 02:33 stgatilov Note Added: 0013443
12.01.2021 22:58 cabalistic Note Added: 0013450
13.01.2021 00:49 nbohr1more Note Added: 0013451
13.01.2021 03:19 stgatilov Note Added: 0013452
13.01.2021 03:37 nbohr1more Target Version TDM 2.09 => TDM 2.10
16.01.2021 17:04 duzenko Note Added: 0013462
16.01.2021 17:16 duzenko Note Edited: 0013462 View Revisions
16.01.2021 22:07 nbohr1more Note Added: 0013468
17.01.2021 02:15 stgatilov Note Added: 0013469
17.01.2021 02:16 stgatilov Note Edited: 0013469 View Revisions
17.01.2021 04:04 nbohr1more Status new => resolved
17.01.2021 04:04 nbohr1more Resolution open => unable to reproduce
17.01.2021 04:04 nbohr1more Fixed in Version => TDM 2.09
17.01.2021 04:04 nbohr1more Target Version TDM 2.10 => TDM 2.09