Status: New
Owner: ----
Labels: Type-Defect Priority-Medium
New issue 1328 by [email protected]: ibus-table speed up: query first 6
entry in step 1
http://code.google.com/p/ibus/issues/detail?id=1328
使用 sqlite 为基础的输入模块,有个很大的问题是第 1 个键会有巨大的迟滞。
原因是因为大词库的原因,有些键会有很多的搜索结果。比如 l, d, 这些键在安卓词
库下,有超过3000个结果,这就造成很大的延迟。e, a 这些只有几百个结果的,速度
就很快。
使用更大的词库,这个问题会更加突出。
解决的方式就是分步进行搜索,
1. 先搜索前6个结果
2. 显示头6个结果
一般情况下,单键的结果,基本没用;如果有用,也是第一行就足够了
3. 延迟100ms,如果有需要,在后台搜索6个以后的结果。
如果用户需要后面的结果,用户也需要先排除了头6个字,这段时间足够
处理其他的字了。如果不够,可以把头6个字增加到头60个字。
更快的方式,是在数据库里,构造一个高频单键表,里面储存所有有效键的,单键搜索
的,头60个结果。这样第一步先搜索高频单键表,第三步再搜索主表格,效率更高。
--
You received this message because you are subscribed to the Google
Groups "ibus-devel" group.
iBus project web page: http://code.google.com/p/ibus/
iBus dev group: http://groups.google.com/group/ibus-devel?hl=en