Profile

Cover photo
Krzysztof Klinikowski
Works at Freelance
Lives in Wrocław, Poland
610 followers|431,771 views
AboutPostsPhotosYouTubeReviews

Stream

Krzysztof Klinikowski

Shared publicly  - 
 
Audi Prologue
 ·  Translate
3
Add a comment...

Krzysztof Klinikowski

Shared publicly  - 
 
Let's start testing this ;-)
1
Artur Janczak's profile photo
 
Kurczę a ja nadal zaproszenia nie dostałem xD
 ·  Translate
Add a comment...

Krzysztof Klinikowski

Shared publicly  - 
 
Well deserved! 
2
Add a comment...

Krzysztof Klinikowski

Shared publicly  - 
 
Another awesome video about engineering culture in Spotify!
1
Add a comment...

Krzysztof Klinikowski

Shared publicly  - 
 
Ok, another news from me.

I successfully ported DalvikVM to Linux. I rewritten part of Android Build System to CMake, get rid of bionic usage etc.

And well, what I can say? It's working! Yay!

Another milestone: Working Zygote ;)
12
1
Pipat Methavanitpong's profile photoJ.O. Aho's profile photoStuart Axon's profile photoMisha Ketslah's profile photo
12 comments
 
Very nice progress :)
Add a comment...
In his circles
1,517 people
Have him in circles
610 people
Ewa Lalik's profile photo
Tim Kelsey's profile photo
Jamie Ladronka's profile photo
Rafal M's profile photo
Tonico Strasser's profile photo
Paweł Lewandowski's profile photo
Katarzyna Korona's profile photo
Mihajlo Savic's profile photo
Bartosz Tomczak's profile photo

Krzysztof Klinikowski

Shared publicly  - 
 
Today we all live and work in the Internet Century, where technology is roiling the business landscape, and the pace of change is only accelerating. In their new book How Google Works, Google Executive Chairman and ex-CEO Eric Schmidt and former SVP of Products Jonathan Rosenberg share the lessons they learned over the course of a decade running Google. Covering topics including corporate culture, strategy, talent, decision-making, communication,...
1
Add a comment...

Krzysztof Klinikowski

Shared publicly  - 
 
Estimote Beacons :-) 
1
Szymon “Alus” Motyka's profile photo
 
Pożycz pan 1 :P 
Add a comment...

Krzysztof Klinikowski

Shared publicly  - 
 
Freebies from #STXNext
2
Add a comment...

Krzysztof Klinikowski

Shared publicly  - 
 
PyCharm 4 Preview released!
It's an exciting day for us at JetBrains PyCharm, as the first PyCharm 4 public preview build 138.2360 is finally available for download! Head on over to the PyCharm Early Access Preview (EAP) page...
2
Add a comment...

Krzysztof Klinikowski

Shared publicly  - 
 
Okay, so for all bashers who like to have powerline-like shell prompt I prepared powerline-shell-go - powerline shell implementation like this Python one - https://github.com/milkbikis/powerline-shell/ but written in Go so it's like 10x faster, which believe me - it's really important here.

Here's my implementation:
https://bitbucket.org/devsamurais/powerline-shell-go

Happy using & hacking :)
7
Add a comment...

Krzysztof Klinikowski

Shared publicly  - 
 
 
Android 4.4 & rendering pipeline improvements
#android   #androiddev   #projectbutter

Android 4.4 adds many new developer APIs, such as printing and animated transitions, that are extensively documented in the platform highlights and release notes. The Android team has also made numerous under-the-hood optimizations that applications automatically benefit from. Since I'm passionate about graphics, I would like to share with you some of the graphics-related optimizations brought to you by the Android framework team in 4.4.

Shared assets texture
Most Android applications load a similar set of assets, used by the framework to render Holo widgets. These assets, for instance a button's pressed state, have always been preloaded and shared between processes through zygote. This unfortunately didn't apply to the textures generated from those assets. Until 4.4, every app drawing a button would create a GPU copy of the button asset as a texture.

Starting with Android 4.4, the system generates at startup a single, shared texture containing most Holo assets. This has two major benefits.
First, each process will use a little bit less memory. This is particularly important to help Android run on devices with "only" 512 MB of RAM for instance.
The second benefit is improved sorting, batching and merging of drawing operations. This optimization was introduced in Android 4.3 and just got even better. For instance, text fields and buttons and can now all be drawn together in a single draw call. This significantly reduces the number of state changes and calls to the OpenGL drivers.

To generate this shared texture, the system will compute an atlas of all the assets every time you get a new version of the framework. The atlas is computed based on the set of assets preloaded in zygote as well as your device's resolution and GPU characteristics. A Nexus 5 will not use the same atlas as a Nexus 7. The atlas generation process iterates through different algorithms to find one that works best on your device. I have attached an example of what the final shared texture looks like to this post (it's a bit old so the assets it contains do not match the new Android 4.4 style.)

Here is an animated example of batching and merging in action with the new shared texture: https://plus.google.com/109538161516040592207/posts/WHwzJinyFY6

Better merging of drawing operations
The merging code was improved to allow more operations to be merged together. 9-patches and scaled bitmaps in particular will be merged more frequently.

Asynchronous texture uploads
On devices that support OpenGL ES 3.0, Android's rendering pipeline will use Pixel Buffer Objects (or PBOs) to update font caches asynchronously. Such update are  usually performed at the very beginning of a new frame, when the GPU is typically idle. This improves parallelism and saves up to a couple of milliseconds per frame in applications that put a lot of pressure on the font cache (emojis, CJK locales, large fonts, rotated or scaled glyphs, etc.)

Improved GPU state management
Through various optimizations, including state caching and data sharing, the rendering pipeline is now a little better at managing the GPU state. For instance, the font renderer and hardware layers now all share a single Vertex Buffer Object (or VBO) to store indices. These optimizations also cut down on the number of calls to OpenGL drivers.

Automatic overdraw avoidance
The rendering pipeline is now able to detect simple cases of overdraw and fix them on the fly. The best example is a window background entirely covered by other opaque elements. The extraneous window background will not be rendered at all, thus saving CPU processing time and GPU bandwidth. This optimization is disabled when the overdraw debugging tools are enabled to make sure you will not miss those extra views and/or drawables. This does not mean you shouldn't fix overdraw in your application!
46 comments on original post
3
Add a comment...
People
In his circles
1,517 people
Have him in circles
610 people
Ewa Lalik's profile photo
Tim Kelsey's profile photo
Jamie Ladronka's profile photo
Rafal M's profile photo
Tonico Strasser's profile photo
Paweł Lewandowski's profile photo
Katarzyna Korona's profile photo
Mihajlo Savic's profile photo
Bartosz Tomczak's profile photo
Places
Map of the places this user has livedMap of the places this user has livedMap of the places this user has lived
Currently
Wrocław, Poland
Previously
Wołów, Poland
Story
Introduction
That guy that made those soft, said those things and was in that movie.

Currently propably writting code, taking over the world or doing other awesome things! :D

I am a shadowy, frequently-cloaked, extremely talented and dedicated individual...

Passionate software engineer, music lover, attention & achievement whore...

Umiem dużo ciekawych rzeczy ale dziewczyny na to nie lecą...
Bragging rights
I'm programming ninja, level 85.
Work
Occupation
Passionate Software Developer
Employment
  • Freelance
    Software Developer, 2006 - present
  • STX Next
    Senior Software Developer, 2013 - present
  • Can't Stop Games
    Wizard, 2010 - 2013
Basic Information
Gender
Male
Looking for
Friends, Networking
Relationship
Single
Other names
kkszysiu
Apps with Google+ Sign-in
Public - 2 years ago
reviewed 2 years ago
Food: ExcellentDecor: Very GoodService: Very Good
Public - 2 years ago
reviewed 2 years ago
Food: ExcellentDecor: ExcellentService: Excellent
Public - 2 years ago
reviewed 2 years ago
4 reviews
Map
Map
Map
Food: ExcellentDecor: ExcellentService: Very Good
Public - 2 years ago
reviewed 2 years ago