ID:1402621
 
Resolved
Dynamic icons didn't properly fallback on known icons when they weren't present, causing temporary blinks in some cases.
BYOND Version:501
Operating System:Windows 8.1 Pro 64-Bit
Web Browser:Firefox 24.0
Applies to:Dream Seeker
Status: Resolved (501.1216)

This issue has been resolved.
Descriptive Problem Summary:
I have recently encountered icons flickering if they involve any icon change (using icon object methods). I know I recently installed Windows 8.1, but that's not the case I have found out.

When I was testing around SkyDrop Delivery, I was noticing a slow down in icon changes. This led to some flickering even when playing by myself. I, however, did a test with the 500 release and found no such issue. Issue apparently started showing up since 501.

Numbered Steps to Reproduce Problem:
1. Run any game/project that utilizes any icon object drawing/blending.

2. Get to where any icon drawing/blending occurs. If you want a demonstration, feel free to acquire it here: http://www.byond.com/games/Bandock/SkyDropDelivery (Unless you already possess it)

Code Snippet (if applicable) to Reproduce Problem:


Expected Results:
Smooth changes when shown.

Actual Results:
Flickering even when testing on your own.

Does the problem occur:
Every time? Or how often? Every time.
In other games? Very possible on any game that uses drawing/blending methods of the icon objects.
In other user accounts? N/A
On other computers? N/A

When does the problem NOT occur? When running an earlier version of BYOND

Did the problem NOT occur in any earlier versions? If so, what was the last version that worked? 500

Workarounds:
Simply run the stable release of 500 or earlier.
Which version of 501 are you using? The exact build is important when reporting in Beta Bugs. This also matters because it's possible the most recent build, 501.1215, would perform differently if it attempts to use any 500 features (though I assume you haven't updated your game to do so yet).

I'll need a much clearer test case than to simply try out a game and try to look for how it feels performance-wise. Tests for 501 already covered cases where icon creation happens at a steady pace.

One thing I would suggest as a test, if you're sure you can see this slowdown yourself, is adding "threads off" to cfg/seeker.txt in your BYOND user data directory. It's perfectly conceivable that threading would have an impact on icon creation, though again I have tested games where this happens.
I'll take a look at that. If that works, I'll let you know.

Edit: Yep, you are right Lummox JR. It looks like threading has an impact on icon creation.
All right, I'll need a proper test case to compare performance then.
Here is a test project I put together: https://dl.dropboxusercontent.com/u/24250760/BYOND/ Icon%20Blending%20Test_src.zip

Make sure threading is on. You will likely notice a flicker with threading on.
Lummox JR resolved issue with message:
Dynamic icons didn't properly fallback on known icons when they weren't present, causing temporary blinks in some cases.