Slowpoking

Oct. 20th, 2013 03:35 am
[personal profile] soonts
   Watched some presentations from Build 2013 conference.

   IMO the most interesting so far is this one: "Native Code Performance and Memory: The Elephant in the CPU".

   Also, this "Innovations in High Performance 2D Graphics with DirectX" could be useful to troll non-windows users.

Date: 2013-10-20 11:54 am (UTC)
From: [identity profile] thedeemon.livejournal.com
Just watched the second one. Boring.
"We need to draw a hundred of icons and this is a Really Hard Problem because we're fucking retarded".

Date: 2013-10-20 02:01 pm (UTC)
From: [identity profile] soonts.livejournal.com
You are ignorant of tablets, with their low power CPUs and 200-300 DPI screens. So yes, drawing 100 color vector icons could be a hard problem.
Besides, only 15% of the presentation is about icons.

Date: 2013-10-20 04:27 pm (UTC)
From: [identity profile] thedeemon.livejournal.com
I don't think those tablets can change their DPI dynamically and unpredictably. So turning those vector icons into prerendered bitmaps once is a no-brainer, and I don't believe drawing those vector curves can be faster than blitting a bitmap.

Rest of the talk is not so dumb, but still too obvious and boring.

Date: 2013-10-20 05:00 pm (UTC)
From: [identity profile] soonts.livejournal.com
>I don't think those tablets can change their DPI dynamically and unpredictably.
Yes, they can.
You move your application's window to external display = your DPI changes:
http://blogs.windows.com/windows/b/extremewindows/archive/2013/07/15/windows-8-1-dpi-scaling-enhancements.aspx

> I don't believe drawing those vector curves can be faster than blitting a bitmap
I think you are wrong.
Drawing a polygon on the GPU is much faster than blitting a bitmap from system RAM into video RAM.

>so dumb, but still too obvious and boring
It’s not a rocket science, indeed.
However, the thing is, using GPU for rendering 2D graphics and text leads to huge performance gain.
Due to various reasons, it's very hard to implement on any non-Microsoft platform.

Date: 2013-10-20 05:07 pm (UTC)
From: [identity profile] thedeemon.livejournal.com
>Drawing a polygon on the GPU is much faster than blitting a bitmap from system RAM into video RAM.

Sure, but we should really compare drawing dozens/hundred of polygons vs. one bitmap already in video RAM.

Date: 2013-10-20 05:29 pm (UTC)
From: [identity profile] soonts.livejournal.com
>drawing dozens/hundred of polygons vs. one bitmap already in video RAM
When everything is already in video RAM, the performance will be limited with the GPU’s fillrate, i.e. it’ll be roughly the same.
However, when user will perform a pinch gesture to zoom in, the difference will be by orders of magnitude.
Zooming vector data already in VRAM = “only change 16 floats in a matrix” = essentially free.
Zooming rasterized bitmaps = CPU load for re-rasterizing + CPU-GPU bandwidth to update the bitmap in VRAM.
Edited Date: 2013-10-20 05:30 pm (UTC)

Date: 2013-10-20 06:35 pm (UTC)
From: [identity profile] thedeemon.livejournal.com
Does that mail app allow zooming its UI?
Even if so, just load a higher resolution bitmap from the start, then zooming is basically the same change in matrix. And if you re-rasterize, you don't have to do it on CPU. If you don't do bitmaps, you're rerasterizing 60 times a second. And they understand it well, since they actually do bitmap caching when drawing their text.
Edited Date: 2013-10-20 06:38 pm (UTC)

Date: 2013-10-20 08:01 pm (UTC)
From: [identity profile] soonts.livejournal.com
>Does that mail app allow zooming its UI?
No. But:
1. The mail you're viewing can be zoomed.
2. UI will be zoomed when moving the app to another display.

>they actually do bitmap caching when drawing their text
They don't do bitmap caching when drawing their vector shapes.
See the "Geometry" section of the presentation.

July 2017

S M T W T F S
      1
2345678
9101112131415
16171819202122
23242526272829
3031     

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 20th, 2017 08:16 pm
Powered by Dreamwidth Studios