ID:1972273
 
Resolved
Cursor flickering has been vastly improved.
BYOND Version:506
Operating System:Windows 8 64-bit
Web Browser:Firefox 41.0
Applies to:Dream Seeker
Status: Resolved (512.1423)

This issue has been resolved.
Descriptive Problem Summary:
Noticed Folak had the same problem (albiet with custom cursors, not browser css cursors). Both his threads are unsolved, so no resolution. Posting my own report.

Numbered Steps to Reproduce Problem:
1. Construct interface with custom cursor with CSS and browser control-- eg: cursor:pointer;
2. Move mouse over control
3. Observe flicker from pointer cursor to default

Code Snippet (if applicable) to Reproduce Problem:
img { margin:0px; padding:0px; cursor:pointer; }


Expected Results:
No flicker.

Actual Results:
Flicker.

Does the problem occur:
Every time? Or how often?
Always
In other games?
No
In other user accounts?
No
On other computers?
No

When does the problem NOT occur?
Never

Did the problem NOT occur in any earlier versions? If so, what was the last version that worked? (Visit http://www.byond.com/download/build to download old versions for testing.)
No

Workarounds:
None, seems to be a draw issue.
I'm confused, since AFAIK the cursor attribute in CSS should have no impact on anything except in a browser control or the webclient. Seems like some information is missing from your report. Can you tack on more detail?
Yes, I didn't write the report expecting that anyone would care aside from me.

I didn't clarify 'interface elements'. By 'interface elements', I mean that specific browser control. The mouse will flicker from 'pointer' to 'default'. I don't know if this is related to Folak & the problem he described, but I would presume so. I'm not as techy as you :(

http://stackoverflow.com/questions/2372079/ jquery-mouse-flicker-in-ie

Presume it's related to something like this, which may just be a problem with IE6 not byond itself

<img style='position:absolute; left:0px; top:0px;' src=confirmbutton1.png onmouseover=this.src='confirmbutton2.png' onmouseout=this.src='confirmbutton1.png' onclick=window.location='byond://?value=inputconfirm'>


I believe it has something to do with the onmouseover. Testing it with IE6 & Firefox, it works fine, but within byond, the cursor flickers from pointer -> default when hovering over the image.

It doesn't 'flicker' actually. The cursor is default when still, and pointer when moving. Gives the appearance of 'flickering'.
IE6

BYOND doesn't use IE6. I don't even believe it actually even supports IE6.

BYOND uses whatever IE version you have installed put into compatability mode.

You can force it into edge mode using a meta header in your HTML files. See this thread for info:

http://www.byond.com/forum/?post=1823526

IMO, if you are working on a game that runs on BYOND, you need to abandon any user that is not using at least IE11 and write your browser code to target HTML5-compatible features.

It's just not worth supporting users still running windows XP and Vista, or not running Windows 7 SP1.

Windows 7 SP1 was released in 2010. Vista was released in 2007.

Windows users have 90.53% of the desktop/laptop web marketshare. 77% of windows users are IE11+ compatible.


Among gamers (steam statistics), 95.71% of users are using windows. Less than 3% of windows users are using a non-IE11 compatible rig. If you include OSX and Linux, that's less than 6% of gamers total.

http://store.steampowered.com/hwsurvey
I have noticed the same css cursor issue also (this is with IE 11 in byond btw Ter). I have noooo idea what the cause is because for the life of me I can't find a documented bug report to the effect (edit: as in, an IE bug), so I'm assuming it's some redraw...thing specific to byond. Mind you it's hardly a severe issue, just a little quirk I guess.

Wish I had more to offer here but there's really not much to debug here. It just does the thing. I guess I'll try to record a webM of the issue later.
I only notice the issue if you don't have a map within your game's .dmf file.
I'm noticing this behavior. Apparently BYOND and the browser control are fighting over control of the cursor appearance, leading to flicker when moving the mouse over controls in the browser that have any other cursor state than the default state.

A good way to test this is by adding a link (<A> element) to the browser output. When hovering your mouse over the link you can see the mouse cursor change appearance but it keeps switching back and forth between the default state and the pointer state.

The logical way to fix this would be to have BYOND ignore the mouse cursor if it detects that it intersects a browser control. @LummoxJR: Is this something you could easily fix?
Bump
So I'm looking into this, and there are a lot of moving parts to it.

A routine called SetCursor(), which manually sets the cursor, is called on client ticks and also when an icon updates on the map. This is kind of a problem as it's the cause of the flickering. It is however needed if the cursor is standing still and the icon is changed.

The Main control for the window can tell the system not to allow a sub-control to set its cursor--which prevents flickering over most other components like output, input, etc. but also prevents them from setting a cursor. The splitter in a Child is a different animal because it sets the cursor regardless, which then can flicker because of the SetCursor calls above.

Overall, not the simplest of fixes, but I'm still looking.
Lummox JR resolved issue with message:
Cursor flickering has been vastly improved.