Jan 3, 2016 - Windows 10 Search - These results may be incomplete


Ever since my laptop was updated from Windows 8.1 to Windows 10 through Windows Update, the search feature has been behaving very poorly due to some past damage buried deep in Windows, its registry or somewhere within/around the Indexing service. This post is not about discussing what might be causing all these issues, but to provide a workaround which might work for some instances of two specific symptoms: missing searched items in the start menu, including items from the Control Panel, and a constant warning claiming that "These results may be incomplete..." as can be seen in the partial screenshot below.

At the end of the post I provide links to discussions and suggestions I found about the same symptoms, although none of them provided this new solution which, so far, is the single one that worked in my setup. Be sure to check them first.

This workaround was applied to the latest Windows update to version 1511 (build 10586), as the update itself did not fix anything in my setup.

The workaround is simple, just fire up the Indexing options and add the following directory to the indexed locations: C:\Users\YOUR_USER\AppData\Local\Packages\windows.immersivecontrolpanel_cw5n1h2txyewy\LocalState.

If your issue is somehow caused by the immersive control panel (also why control panel items might be missing from search), then hopefully this will work. Meanwhile, you might have difficulty finding the Indexing options because of this exact problem, so you can just call it directly by inserting rundll32.exe shell32.dll,Control_RunDLL srchadmin.dll on the Run dialog (WINKEY+R).


Nov 16, 2015 - OnePlus 2 (ARMv8) Encryption Performance Benchmarks


One of the few things that my next smartphone would have to have was some kind of accelerated filesystem encryption, either hardware or software-based. The reason behind this is to have both the security advantages of full disk encryption [1] and I/O performance along with power efficiency we've come to expect from the latest handsets/tablets.

It was not clear to me whether the new OnePlus 2 would be able to meet these requirements, as I could only find some non-conclusive discussions around encryption ([2] and [3]), even though it seemed to be lacking hardware-based encryption as in [4]. What I knew, however, was that the new Snapdragon 808 and 810 SoCs have extended ARMv8 instructions that improve on-the-fly AES encryption/decryption performance ([5] and [6]), so I took the risk and went for the OnePlus 2.

Last month, when I got it, I immediately made some benchmarking before and after encryption. I am finally sharing with you the results of these benchmarks so you can have peace of mind. The tests/results being made/measured are the following:

  • AnTuTu 64 relevant scores;
  • Androbench I/O performance data;
  • Boot time.

The actual phone used was the OnePlus 2 A2003 64GB, with stock OxygenOS 2.1.1 unrooted and untouched, and a total of 17 installed apps (plus 140 system apps). Battery was always between 70% and 85% as I would recharge it to keep it in range. Environment temperature was between 15 and 17 degrees Celcius. I have waited between 30 to 60 minutes between each test, making sure the device had time to reach a stable temperature and prevent premature CPU/GPU throttling for each next test. Moreover, each test was made after a fresh boot to reduce RAM fragmentation, app caching, etc., providing a clean and similar environment across all test instances. Finally, airplane mode was kept enabled.

AnTuTu 64 relevant scores

The AnTuTu (64-bit) app version used was 5.7.1 and the tests were carried with horizontal orientation. In the screenshots presented at the bottom of the page, the "non-verified score" warning can be safely ignored as it was a consequence of having airplane mode enabled, preventing AnTuTu from checking the phone's model authenticity.

Unencrypted Encrypted Difference
Global 61419 62363 +1.5%
Storage I/O 2559 2555 -0.1%
Database I/O 630 620 -1.6%

Androbench I/O performance data

Unencrypted Encrypted Difference
Sequential Read 231.32 MB/s 232.11 MB/s +0.3%
Sequential Write 124.66 MB/s 122.4 MB/s -1.8%
Random Read 5369.62 IOPS 5208.13 IOPS -3.0%
Random Write 3631.0 IOPS 3268.39 IOPS -10.0%
SQLite Insert 616.86 TPS 510.21 TPS -18.0%
SQLite Update 285.55 TPS 276.15 TPS -3.3%
SQLite Delete 299.5 TPS 269.97 TPS -9.9%
Macro Browser 125.0 ms 186.75 ms +49.4%
Macro Market 140.5 ms 133.25 ms -5.2%
Macro Camera 87.0 ms 103.0 ms +18.4%
Macro Camcorder 166.0 ms 202.5 ms +22.0%

Boot time

The boot time was measured as the time elapsed from the moment the finger pressed the power button until the moment the boot screen faded into the launcher. For the encrypted scenario, the boot time is the sum of the time elapsed from the moment the finger pressed the power button until the phone asked for the encryption PIN, plus the time since confirming the PIN until the moment the boot screen faded into the launcher. I also provide the duration of each of the 2 boot phases in the encrypted scenario. The margin of (human) error for the boot time is probably around half a second.

Unencrypted Encrypted Difference
Boot time 33.5 sec 63.5 sec +89.6%

For the encrypted scenario, the phone took 29.0 seconds to reach the PIN dialog and another 34.5 seconds to reach the launcher, after confirming the PIN.


The OnePlus 2 does not have hardware-based encryption as in [4] but rather software-based encryption as in [5]. There is no noticeable performance drop observed visually. Considering the results, the performance drop is there but is relatively low, insignificant or inexistent depending on the use case, unlike with Android 5.0 in the Nexus 6 [7]. The most impacted use cases were database (SQLite) insert operations at 18.0% performance drop, the browser macro test taking 49.4% longer to finish, and the camera/camcorder macro tests taking 18.4%/22% longer to finish, respectively. All other tests had a performance penalty below 10%, with some really unchanged. It should be noted that I didn't not iterate the tests more than once, meaning that some results might have been affected negatively, which also justifies why sequential read is faster when encrypted. Boot time clearly takes long and requires us to input the PIN in the middle of the process, every time. Finally, let me note that these results should be more or less equivalent in other Snapdragon 810 based devices, like the Nexus 6P, and should also be similar in other ARMv8 devices, assuming they are running Android 5.1 as well. Because you like seeing actual screenshots, here they go:


Feb 25, 2015 - New blog platform


It is official, this blog is now hosted at http://blog.igordcard.com. Besides the change of domain, the platform has also been migrated from Blogger to Jekyll, hosted in GitHub Pages. This decision will allow me to maintain the pages with more ease and flexibility, leveraging most of the benefits of using git. All comments have been migrated to Disqus and are already displayed in the new platform.