ID:2217642
 
BYOND Version:511.1374/510
Operating System:Windows 7 Ultimate 64-bit
Web Browser:Chrome 57.0.2987.74
Applies to:Dream Seeker
Status: Open

Issue hasn't been assigned a status value.
Descriptive Problem Summary:
GDI animations (like scrolling a listbox (but not the output control)) block all rendering for the client until they complete.

This doesn't seem to happen in browser controls or the output control, but the multiple choice listbox that comes up for blah in list inputs and verb args does it, as well as a few other cases i'm too high to remember right this moment.
A case to test here would probably be helpful. I'll look into whther it's possible to turn this off on controls for an individual program.
world
fps = 20
icon_size = 32
view = 7
world/New()
maxz = 1
maxy = 7
maxx = 7
spawn(10)
var/obj/O = new()
while(TRUE)
O.x = rand(1, maxx)
O.y = rand(1, maxy)
sleep(world.tick_lag*2)


client/verb/Test_listbox()
var/list/L = list()
for (var/i in 1 to 500)
L += i
var/I = input(src, "test", "test2") as anything in L

client/verb/Test_browse()
src << browse("Minimize and restore me!", "window=blah")

mob/New()
z = 1
x = round(world.maxx / 2, 1)
y = round(world.maxy / 2, 1)



the list box one seems to only happen when using a scroll wheel to scroll (but then again, who scrolls any other way =P), I added the subwindow minimize/restore on the off chance the scroll wheel bit was some driver nonsense with my mouse.
This bug was brought to my attention recently, So i'm bumping this.
In response to MrStonedOne
MrStonedOne wrote:
This bug was brought to my attention recently, So i'm bumping this.

I'll make sure to take a look at this Monday. Not sure I'll get anywhere on it but I can at least look.
I'm seeing this with the browser window, but only when holding down the minimize or restore button.

I can't actually test this with the list box with the mouse wheel, because my mouse has been malfunctioning and the wheel basically only works sporadically.

The closest I've found to information on this is in this thread on StackOverflow, but the answer to the question doesn't actually answer it for me. There's already a timer loop going on; it's just not clear whether the messages for that (which are not WM_TIMER) are going through properly.