swissolo
Account Details
SteamID64 76561198018213050
SteamID3 [U:1:57947322]
SteamID32 STEAM_0:0:28973661
Country United States
Signed Up December 18, 2018
Last Posted October 4, 2020 at 2:06 AM
Posts 9 (0 per day)
Game Settings
In-game Sensitivity
Windows Sensitivity
Raw Input  
DPI
 
Resolution
 
Refresh Rate
 
Hardware Peripherals
Mouse  
Keyboard  
Mousepad  
Headphones  
Monitor  
#3 Clearcut Graphics Performance Troubleshooting in Map Discussion

Talked with someone and we seem to have found the cause of the stuttering.

https://i.imgur.com/Zk4g9Ky.png

https://i.imgur.com/1vRib2P.png

The flicker effect attached to the few candles around the map is disabled by r_dynamiclighting 0. The visleaves in the back section where the candle light radius reaches seem to rarely be entirely culled and as a result the flicker is still updated when you're looking across mid. When I look completely away from all areas with candles performance is normal. As I add each candle into view, I see an incremental increase in Dynamic Light Rendering spikes. Every lightmap swap seems to come with a big performance hit. Koth_probed swaps in a green glow to its mid point in a similar way when the UFO appears that causes the same spike on my end. Not everyone seems to have this problem though so I think it's still something specific to my configuration that's causing it.

Edit: The radius of the flickering lights is actually quite large.

https://i.imgur.com/ICPFBU4.png

posted about 4 years ago
#1 Clearcut Graphics Performance Troubleshooting in Map Discussion

I know a lot of people have reported graphics performance issues on clearcut before, but I seem to have it much worse than most. I don't have this severe of a problem on any other map. I don't run the ultra low graphics settings many players do, so I was optimistic I could at least find a way to minimize the problem and set out to do some troubleshooting.

Long Explanation:

Show Content
If I face backwards in spawn and move around the game performs normally. Once I reach mid with players, the game stutters nonstop. I spent some time with the performance profiler and as expected at mid I see numerous massive dips down to something like 1-40fps despite my average fps being around 140-200. Every spike coincides with Mat_ThreadedEndFrame launching off the edge of the graph.

Took me a little while but I eventually stumbled upon this buried in the dev wiki.
"When using multithreaded rendering the profiler aggregates some the cost of rendering under 'Mat ThreadedEndframe' instead of showing the cost under the proper subsections. (Such as Static Prop Rendering, Brush Model Rendering, etc..)
To accurately measure costs on any given map, disable multicore rendering."
That's probably common knowledge to people with more experience with the engine, but Source isn't an engine I've spent any time developing within. Figured it might be valuable information to pass on. If you want to test this yourself turn off multithreading then run sv_cheats 1; budget_panel_height 700; +showbudget. So anyways, I disabled all multithreading and opened the profiler again.

That massive spike comes from Dynamic Light Rendering. I've been running r_dynamic 0 and r_maxdlights 0 so this result doesn't really make any sense? The docs seem to indicate that r_dynamic 0 alone should disable dynamic lighting entirely. I found a separate r_dynamiclighting setting in the console and tried setting it to 0. This completely resolved the issue. The Dynamic Light Rendering task stayed at 0 like it should have. I wouldn't say mid performed exceptionally by any means, but the unplayable stuttering was solved. Unfortunately, this isn't a real solution because r_dynamiclighting 0 requires sv_cheats 1. I can't find any information in surface level searches about what r_dynamiclighting is and how it differs from r_dynamic. Visually the game looks identical to me with r_dynamiclighting on and off.

I can say I also see these Dynamic Light Rendering spikes on other maps like process, but they're very, very infrequent in comparison.

At this point I don't feel I have enough experience with the engine to justify diagnosing any further so I'm handing off the torch. Does anyone with more knowledge know what's going on here? This feels like an engine bug to me combined with a map optimization issue that's accentuating it, but that's purely a guess.

TLDR: The candle flicker effect seems to cause the stuttering I see.

posted about 4 years ago
#15 swissolo's Custom Match Hud in Customization

Was everyone able to get the other designs working? The only issue I've heard of people running into so far was just caused by accidentally overwriting entire files instead of the subsections of files. I'll edit the original post to make it super clear. Let me know if something else is up.

posted about 5 years ago
#14 swissolo's Custom Match Hud in Customization

Minimal Bottom Match Hud 2

Here's a different take on the last concept. For some reason no matter what I do, regardless of the design and number of times I reboot the game, my respawn timers won't show up. I would have preferred to include them but there's no way for me to position them properly without seeing them. Let's just pretend it was a design choice to keep things minimal haha.

At this point this is probably my favorite design and the one I'll be sticking with. The paragraph below (in spoiler) is a lengthy explanation justifying the design. Skip it if you don't care haha. Way too much thought has gone into this for what it's worth.

Show Content
Anyways, I'm pretty happy with the colored tile approach over displaying health bars. I think it's the best feature here. At a glance, it conveys the information I want much more clearly. There are only 2 or 4 color states depending on which team you're looking at (your own team or the opponent). It makes it easy to roughly evaluate total team health and count numbers. Low health stands out very clearly. When health gets low using health bars, the bars shrink and minimize the information you really want highlighted. I believe it's easier to process the trends for entire groups using color over area/length here, at least when the bars don't extend from the same 0 point. Using tiles instead of bars also removes the need to have every entry so wide. Originally, I thought it would be important to be able to display most of the characters in names of reasonable length. I find I don't really care. Usually, the first few characters are enough to be able to differentiate which player is which. Players could add long prefixes to their names to cause problems, but they could always make their names ridiculously similar so you can't tell them apart on the scoreboard anyways. Maaaaybe ESEA tags could cause problems. If you need to, just widen the tiles slightly. I started making more designs because I found using the top of the screen uncomfortable. It's out of the way and, given the width of the original design, it could be a bit much to parse. I'm not entirely sure about the current positioning on the screen. I might move it back up on top of the cap indicators like the minimal 1 design. It's preferable to have the blu and red match hud sections next to each other to easily compare, but the raised position felt intrusive so I moved it down to the base of the screen. I may have just had to get used to it or maybe it did unreasonably obstruct the view. It's up to you really. The travel distance from other useful parts of the screen (ex health/ammo) is still much better on the very bottom condensed compared to the top so it seemed like an acceptable compromise. I found merging all of the tiles together with no gaps was just easier on the eyes. That will probably also be up to personal preference. Here are some tips for adjusting the things I just discussed if you want to tweak the design.
  • Move vertically: "TeamStatus" -> "ypos" (r# refers to the distance from the bottom of the screen)
  • Adjust 1-6 players tile width: "TeamStatus" -> "max_size"
  • Adjust 6+ players tile width: "TeamStatus" -> "team1_max_expand" and "TeamStatus" -> "team2_max_expand"
  • Re-add tile gaps: "TeamStatus" -> "6v6_gap" "1" and "12v12_gap" "1"
  • Adjust distance between team sections: "team1_base_x" and "team2_base_x" (c# refers to the distance from the center of the screen)

Sample Images
6v6
9v9
12v12

Installation
Refer to the first post for instructions.

  1. Minimal Bottom Match Hud 2 Source
  2. Minimal Bottom Match Hud 2 Font Source
  3. Custom Font Source (Identical to original post)
  4. Cerbetica_edited File (Identical to original post)
posted about 5 years ago
#9 swissolo's Custom Match Hud in Customization

Minimal Bottom Match Hud

I just keep on making these. This one explains itself really. I stripped away a bunch of the information so it would be easier to take in at a glance and to fit it in a (potentially) more useful position.

Sample Image
6v6

Installation
Refer to the first post for instructions. This one is really easy since there are no fonts to worry about.

  1. Minimal Bottom Match Hud Source
posted about 5 years ago
#8 swissolo's Custom Match Hud in Customization

Toggleable Match Hud

I made a toggleable, centered match hud this time. It behaves just like the scoreboard would. I noticed using the top bar was very out of the way for me, but enlarging the elements or moving them encroached on screen space I don't want wasted most of the time. Sooo I decided to try this out. I know a lot of players can't break the habit of opening their scoreboard, so this works as a replacement. Move your scoreboard key to somewhere else and use the script down below to toggle the match hud instead.

There's one glaring issue with this approach. Toggling tf_use_match_hud seems to cause the game to stutter. If you have 12 or fewer players on the server, it's barely noticeable (at least on my machine. I have to spam the toggle to see it). I'm pretty sure this approach is still usable for 6s, but it's an irritating downside. You'd have to decide for yourself. Once you get into larger player counts the stutter makes it completely unusable. This was kind of a failed experiment. The specially colored elements (team colored panels and health colors) flash briefly on load as well, but it's fairly minor. I tried to hide the flashing effect the best I could with good default colors. Respawn numbers had been working for days flawlessly with this design and suddenly broke today at random without having been modified. If you try this out let me know if you can see them. Anyways, I figured I'd share this despite the issues for interests sake and in case anyone doesn't mind/notice the 6s stutter.

Sample Images
6v6
6v6 (Alternative if you move the colored panel up)

Installation
Refer to the first post for instructions. It's the same process plus the toggle script.

  1. Toggleable Match Hud Source
  2. Toggleable Match Hud Font Source
  3. Custom Font Source (Identical to original post)
  4. Cerbetica_edited File (Identical to original post)
  5. Toggle Script Add this to your autoexec.cfg.
posted about 5 years ago
#7 swissolo's Custom Match Hud in Customization
PeteI edited some RGB values and health %s so it makes more sense to me at a glance (here), but I'll give someone a cookie if they can make it so a buff fills the entire bar, not just stopping halfway through.

(i.e. when someone is full buff it fills the bar all the way, when only 1/4 buff only 1/4 of the bar is filled in)

As far as I know the only way is to set the overhealbar "wide" parameter to double your "max_size" in TeamStatus. That will only work up to 12 players and break at 13+ since the match hud switches scaling modes to using "team1/2_max_expand." I think you already figured that out? I was in your stream for a minute a couple days ago and it looked like it haha. But hey in case someone else wanted to know it's a half solution. You might be able to get rid of all width scaling everywhere, use all fixed values, and just live with weird spacing for 13+ players, but I doubt that sacrifice would be worth it.

Anyways, I'm going to post another little experiment here tomorrow. Should be pretty interesting.

posted about 5 years ago
#8 Kev777 eliminated from Hell's Kitchen; Pete steps up as next contestant in News

Pete gets his article at long last. Dreams really do come true.

posted about 5 years ago
#1 swissolo's Custom Match Hud in Customization

I've expanded on the original post, so here are some quick reference links to anyone new passing through. There's a lot of text at this point, so I recommend just clicking through some of the sample images for the various designs linked below to get started.

Design List

______________________________________________________________________________________________

Original Match Hud

I created a modified match hud (the player info section listed at the top of the screen) that presents information in a much more useful way than the default. To be very clear, this isn't an entirely standalone hud. This is just a modification that you can append to your existing custom huds. I mostly focused on formatting for competitive play so it gets a bit cluttered (names especially) with 24 players, but I think it's still quite usable in that form.

Sample Images
6v6
6v6
9v9
12v12

Installation
This takes some minor hud editing knowledge but it's a pretty simple process overall. In short, just add the match hud source then add fonts. This section is only lengthy in an effort to make it as clear as possible.
Do not overwrite entire files. Each pastebin source should be pasted inside of existing files as shown below.

  1. Match Hud Source
    Paste this in your hudmatchstatus.res file.
    "Resource/UI/HudMatchStatus.res"
    {
    	*Paste here* (Overwrite your "TeamStatus" block if it exists)
    ...

  2. Match Hud Font Source
    Paste this in clientscheme.res (or wherever your hud defines your fonts, potentially in something like resource/scheme/fonts_clientscheme.res).
    Scheme
    {
    	...
    	Fonts
    	{
    		*Paste here*
    ...

    If your existing hud does not already include Cerbetica_edited.ttf (rayshud uses it), you'll want to either change the font used in the section above to one included in your hud (look at the list under CustomFontFiles) or just add Cerbetica_edited.ttf. To add it

  3. Custom Font Source
    Paste this in clientscheme.res.
    Scheme
    {
    	...
    	CustomFontFiles
    	{
    		*Paste here* (be sure to update the number at the top)
    ...

  4. Cerbetica_edited File (straight from rayshud)
    Add this file in your resource -> fonts directory.

General Notes

  • You may need to move your kill feed down in hudlayout.res. Look for HudDeathNotice -> ypos. I opted to just let my respawn timers sit on top of the kill feed but that's easily changed.
  • I've only tested on 2560x1440 so I'm not quite sure how this will look at other resolutions.

_____________________________________________________________________________________________
Customization Notes
If you want modify the match hud yourself, you'll want to watch out for the following.

  • Beware that hud_reloadscheme alone isn't enough to see your updated changes for any parameters within playerpanels_kv. Your changes need to trigger a refresh of the entire field as well. Perhaps there's a better way of doing this, but I settled on modifying TeamStatus -> max_size along with my changes inside playerpanels_kv then calling hud_reloadscheme each time. The max_size change seems to be enough for the match hud to be reevaluated. Note that I believe max_size only has an effect on teams with 6 players or fewer. If you have 7 or more players on your team, team1_max_expand and team2_max_expand are used. Thus, if you're using this trick, make sure you have 6 or fewer players on your team or your changes won't appear.
  • Lots of parameters and features are broken as far as I can tell because Valve didn't bother to finish implementing what they weren't using. Every block below respawntime in my file is disabled. The death and skull panels work, but I couldn't get anything useful out of the other disabled sections (which includes chargeamount sadly). Let me know if you get one of these features working.
  • The background underneath your own player indicator seems to be forced to a brighter color and can't be modified.
  • Player indicators are only expandable horizontally as far as I can tell so I don't believe you would be able to put them on the sides of your screen stacked vertically.

Some design factors you might want to keep in mind.

  • Easy class identification
  • Easy dead player identification
  • Clear health identification
  • Retaining team colors (you could arguably go without this)
  • Name clarity and number of displayed characters
  • Screen space usage

I think I managed a pretty good balance here, but me know if you have any suggestions! I'd love to see what others can accomplish.

posted about 5 years ago