13

Update: This is fixed on version 1.0.43 as per the accepted answer below.

Already saw this, this and this. They are old and seem to be about previous versions.

I just updated to the version 1.0.41 of the Android app that brings the new feature - Achievements. Sadly, I think the stress of World Cup has made you guys not do a good job with it. It's buggy.

When I open my Achievements panel and tap on any post, I get this:

After I get this, it persists throughout the rest of the app. For example, if I go to the feed and open another question, I get this too.

Detailed reproduction steps are available in AD7six's answer.

My Device: Samsung Galaxy SIII LTE GT-I9305
Android: Stock ROM 4.3 Jelly Bean

Other Devices:
- Device model, Android version, Reported by
- HTC Desire, 4.2.2, xd6_
- Huawei Ascend, 4.2, Manu343726
- LG Optimus F3, 4.1.2, Rocket Hazmat
- LG Optimus G, 4.3, Canadian Luke
- Samsung Galaxy Nexus (Sprint), 4.3, Chrono Kitsune
- Samsung Galaxy Note II, 4.3, Katja Christiansen
- Samsung Galaxy SII GT-I9100, 4.1.2, AD7six
- Sharp SH837W, 4.1.2, timrau
- Sony Xperia SP, 4.3, pepoluan
- Sony Xperia Z1, 4.3, user2313067
- Unknown, 4.2.1, Deer Hunter

10
  • 2
    Just found out that simply opening the Achievements panel alone already sets off the black bug in the entire app. It's not necessary to tap on a post.
    – ADTC
    Jun 17, 2014 at 15:59
  • 2
    I have a feeling it's Samsung only again. No repo on my Nexus 5 running stock 4.4.3.
    – Steven V
    Jun 17, 2014 at 16:41
  • @ADTC Is it opening the achievements panel when looking at a question, then closing it, causes this for you? No repro on any of my devices but I'm going to try out some Galaxy devices too. Jun 17, 2014 at 18:13
  • 1
    @ADTC the crashing issue you mention has been fixed -- do you mind editing this question to just be about the black box? Jun 17, 2014 at 20:59
  • @KasraRahjerdi Yes, exactly. That's what I meant in my first comment. Look at a question from the Feed. Question appears normal. Open Achievements panel. Close Achievements panel. Question now has a black background (as shown).
    – ADTC
    Jun 18, 2014 at 0:48
  • 1
    @StevenV no, it isn't. I'm using a huawei ascend and the black background bug happens here too. With exactly the same described behaviour: Everything is ok until I open the achievements tab. I'm running android 4.2
    – Manu343726
    Jun 18, 2014 at 7:09
  • 1
    Black bug on Android 4.2.1. Jun 18, 2014 at 7:41
  • @DeerHunter Please mention your device model too.
    – ADTC
    Jun 18, 2014 at 7:43
  • No repro on Nexus 7 running Android 4.4.3.
    – hichris123
    Jun 18, 2014 at 17:56
  • No Hitchhiker's Guide to the Galaxy references? Dec 4, 2019 at 0:18

2 Answers 2

14

This is now fixed as of version 1.0.43, which is currently propagating out to Google's servers as we speak and should be available within 2 hours from now (5:30 PM EST 6/18). Thank you so much to all of you for giving us really quick feedback about this happening.

If you'd like a post-mortem keep on reading.


If you read my post-mortem from when this first came up you'd know that the black box is due to us using transparent backgrounds on our WebViews. We haven't seen it reported anywhere else, but from our testing it looks like some Android devices, running OSes older than KitKat, could not handle transparent backgrounds on WebViews when displaying them with GPU acceleration.

This doesn't happen on newer devices since Android 4.4 KitKat switches the rendering engine to Chrome which seems to not have any issues here, but older versions of Android use many varying versions of WebKit. It also seems to happen mostly on Samsung Galaxy devices, which are most likely sharing the same series GPU.

Instead of fighting with these devices again, we've just decided to remove the need to do transparent backgrounds to begin with.

We were doing this for two reasons:

  1. GPU Overdraw. If the WebView displaying the post has a background, the View the WebView has a background, and other layers have backgrounds, you the poor GPU has to draw every one of those pixels then draw right over them which is a huge waste of time. This makes the UI feel sluggish.

  2. Our container for the WebView had a very subtle background fuzz texture.

We removed the subtle background, and instead changed the container to have a white background. The WebView by default has a white background too, so this works out perfectly. Here's the before and after:

enter image description here

This fixes the need to have a transparent background and removes those black boxes (for hopefully ever), but it doesn't fix the GPU overdraw case. What this means is that scrolling in a list of answers now feels more sluggish, since we've actively decided to overdraw. This should hopefully be fixed in the near future, I haven't thought of a clever way to bypass it yet.

I've also transitioned into using a Galaxy SIII as my main development device, so hopefully if anything that causes issues on it again shows up we'll see it before release. I have no idea what caused the resurgence of this bug, since the latest update hadn't touched any of that code, but we'll be keeping an eye out for it coming up again.

6
  • 1
    Day 21 - Still looking for the subtle fuzz texture. (I honestly thought it's complete white! :O).. Anyway, great job! Had no idea this is a GPU related problem... Out of curiosity, what was v1.0.42? Or did you just skip a number?
    – ADTC
    Jun 19, 2014 at 2:39
  • I can feel the difference. The UI is quite sluggish. I'm afraid it will be very sluggish on older devices. You should consider reducing the use of GPU-demanding graphics or whatever is causing the sluggishness :)
    – ADTC
    Jun 19, 2014 at 2:46
  • @ADTC The reason for the sluggishness is just that we're drawing white backgrounds over white backgrounds. Hopefully it'll be fixed later this week. v1.0.42 was just skipped, I accidentally hit the "Create Release Build" button twice. Jun 19, 2014 at 2:48
  • But my updated app says its 1.0.42.. Lol, it's the same then, if you clicked it twice. The issue is fixed. Is it not possible to just draw one white background? I'm sure you have considered it but I want to know why you can't do it.
    – ADTC
    Jun 19, 2014 at 2:52
  • It's not horrible on a Nexus 7, but 167x overdraw? I'd have to believe it's lying to me...
    – hichris123
    Jun 19, 2014 at 18:02
  • @hichris123 the overdraw utility kind of dies when looking at WebViews. In fact it just completely glitches out on my device. Jun 19, 2014 at 18:05
6

Rather than put comments here and there:

Reproduction steps

  • Open the app
  • Click on achievements
  • Access a question (by any means)

It makes no difference what is being displayed when achievements is opened e.g.:

  • Open the app
  • Open a question (rendered correctly)
  • Click on achievements
  • Close achievements
    • As the achievements slides down, the post is still rendered correctly
    • After the animation has completely finished the post background changes to black
  • All posts now have a black background

It's "recoverable"

Rotating the device removes the black background until the next time achievements is opened.

This is with:

  • App version 1.0.41
  • Samsung Galaxy S2 GT-I9100
  • Android 4.1.2
1
  • 2
    This is super helpful, thank you so much! Do you mind adding in which variant of the Galaxy S2 you have? Either the carrier name or the full model number. Jun 18, 2014 at 15:45

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .