Настройте CSS, удалите некоторые и упростите некоторые, чтобы это исправить.
html,
body,
.backgroundBox,
.elemBox.graphic img {
width: 100%;
height: 100%;
}
html,
body {
margin: 0;
overflow: hidden;
background: rgba(0, 0, 0, 0);
}
.elemBox,
.backgroundBox.design,
.elemBox>* {
position: absolute;
}
<svg id="designBox" width="100%" height="100%" viewBox="0 0 1242 2688">
<foreignObject width="100%" height="100%">
<img class="backgroundBox design" src="/images/general/transparent.gif" style="left:0%; top:0%; width:100%; height:100%; background:#00B9FC">
<div class="elemBox graphic movable" style="left: 0px; width: 1242px; height: 2688px; top: 0px;" id="g3kIEZGGog71">
<div class="foregroundBox" style="top: 74px; left: 76px; width: 1090px; height: 2540px;">
<img src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/2707120/Screenshot.png">
</div>
<img class="backgroundBox" src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/2707120/XS_Max_Space_GrayNEW.png">
</div>
</foreignObject>
</svg>
На моем autocomplete
, я попробовал сначала эти linq/lambda
подход, производительность является немного медленной. DataTable.Select
быстрее, чем linq
, таким образом, я использую это. Я еще не сравнил производительность между datatable.Select
и datatable.Find
Мы могли размышлять обо всем этом день, но так как это не огромная часть кода, почему бы не записать каждому и сравнить их друг с другом?
public delegate void TestProcedure();
public TimeSpan Benchmark(TestProcedure tp)
{
int testBatchSize = 5;
List<TimeSpan> results = new List<TimeSpan>();
for(int i = 0; i<testBatchSize; i++)
{
DateTime start = DateTime.Now;
tp();
results.Add(DateTime.Now - start);
}
return results.Min();
}
Что относительно DataView? Вы могли применить свое условие фильтра И вид приоритет, и легко выполнить итерации через результаты для добавления к результатам.
согласно следующему блогу
http://blog.dotnetspeech.net/archive/2008/08/26/performance--- -datatable.select-vs-dictionary.aspx
DataTable.Rows.Find намного быстрее, чем DataTable.Select.
В моем блоге диаграммы не публикуются; более подробную информацию можно найти на http://msdn.microsoft.com/en-us/library/dd364983.aspx
Еще одна вещь, которую я с тех пор обнаружил, заключается в том, что для больших наборов данных использование общий словарь с цепочкой работает очень хорошо. Это также помогает облегчить многие проблемы, вызванные операциями сортировки, необходимыми для операций агрегирования, таких как min и max (либо с DataTable.Compute
, либо LINQ
).
By "chained" универсальный словарь "Я имею в виду Dictionary (Of String, Dictionary (Of String, Dictionary (Of Integer, List (Of DataRow))))»
или аналогичный метод, в котором ключом для каждого словаря является поисковый запрос .
Конечно, это не будет полезно при любых обстоятельствах, но у меня есть по крайней мере один сценарий, в котором реализация этого подхода приводит к повышению производительности 500x
.
В вашем случае я бы подумал об использовании простого словаря с первыми 1-5 символами, а затем Список (из строк)
. Вам придется создать этот словарь один раз, добавив слова в списки с первыми 1-5 символами, но после этого вы сможете получить невероятно быстрые результаты.
Я обычно оборачиваю такие вещи в класс, который позволяет мне легко добавлять слова. Вы также можете использовать SortedList (Of String)
для автоматической сортировки результатов. Таким образом, вы можете быстро найти список слов, соответствующих первым набранным N символам.
List (Of String)
. Вам придется создать этот словарь один раз, добавив слова в списки с первыми 1-5 символами, но после этого вы сможете получить невероятно быстрые результаты.
Я обычно оборачиваю такие вещи в класс, который позволяет мне легко добавлять слова. Вы также можете использовать SortedList (Of String)
для автоматической сортировки результатов. Таким образом, вы можете быстро найти список слов, соответствующих первым набранным N символам.
List (Of String)
. Вам придется создать этот словарь один раз, добавив слова в списки с первыми 1-5 символами, но после этого вы сможете получить невероятно быстрые результаты.
Я обычно оборачиваю такие вещи в класс, который позволяет мне легко добавлять слова. Вы также можете использовать SortedList (Of String)
для автоматической сортировки результатов. Таким образом, вы можете быстро найти список слов, соответствующих первым набранным N символам.
Я обычно заключаю такие вещи в класс, который позволяет мне легко делать такие вещи, как добавление слов. Вы также можете использовать SortedList (Of String)
для автоматической сортировки результатов. Таким образом, вы можете быстро найти список слов, соответствующих первым набранным N символам.
Я обычно заключаю такие вещи в класс, который позволяет мне легко делать такие вещи, как добавление слов. Вы также можете использовать SortedList (Of String)
для автоматической сортировки результатов. Таким образом, вы можете быстро найти список слов, соответствующих первым набранным N символам.