2016-07-10 8 views
-2

Мне нужно отобразить 5 простых прямоугольников, уложенных в ячейку сетки данных.WPF, что быстрее скрыть, свернуть, непрозрачно 1 или раскрасить прозрачно

В сетке данных имеется 3000 строк. У них будет только одна ячейка в одном столбце.

Но мне нужно только 2 ячейки из 3000, чтобы быть активными в любое время.

2 активных ячейки будут перемещаться вверх и вниз по сетке все время, но небольшими приращениями (1 строка вверх/вниз).

Мне нужно скрыть предыдущую активную ячейку (потому что она перемещается по 1 строке за один раз, мне нужно только скрыть одну ячейку).

Эта операция будет выполняться 20 раз в секунду.

Q1: что быстрее спрятать предыдущий активная ячейка - скрыть, свернуть, сделать непрозрачным 0, нарисовать прозрачным?

Q2: Как группа это - это быстрее, чтобы сделать все, что предлагается в ответ на Q1 на каждом прямоугольнике или это быстрее, чтобы иметь одну границу размером ячейки и покрывают неактивные прямоугольниками в один присест?

Активные прямоугольники заполняются постоянно.

Я собираюсь связать каждый прямоугольник Свойство заливки, и мне нужно покрасить их по-разному.

Эта операция выполняется 100 раз в секунду.

Q3: Что нужно изменить Fill Значение прямоугольников - привязка или вид прямой записи в прямоугольниках?

Я хотел бы услышать рекомендацию о производительности, даже если это связано с большой работой (например, с использованием глифов или хуже) и сэкономит только 1 мс или меньше.

Это непростой вопрос, поэтому я ожидаю, что серьезные ответы не будут захватывать точку.

+0

, кстати, ваш вопрос не очень понятно. Возможно, было бы полезно добавить * ваше намерение/общую цель *, а также некоторые фотографии того, что вы хотите достичь –

+0

, это просто. светофоров.10 более 2 ячеек. и они двигаются вверх и вниз. –

+0

Когда я слышу светофоры, я представляю себе три огня с красным желтым и зеленым. Если я представляю себе пару из них, я до сих пор не знаю, как я понимаю, что ты воображаешь.Так что это может быть просто в вашем уме, но я до сих пор не знаю, что вы намерены делать –

ответ

1

то, что вы намереваетесь сделать, может вызвать проблемы с производительностью. Говоря это, пока вы не попробуете, вы не узнаете. Я бы предположил, что Visibility="Collapsed" будет самым быстрым из ваших вариантов.

Я хочу предложить вам альтернативу: используйте Adorner. Это похоже на ситуация для него. Редко бы я предлагал использовать один, потому что их не так просто реализовать, но если вы обнаружите, что другим параметрам не хватает производительности, я уверен, что Adorner будет лучше.

Отказ от ответственности: не просто точка захвата предназначена

+0

есть. когда я сказал «глифы» в вопросе, я действительно имел в виду украшателей :) мозговой пердеть. Я использовал их 2 года назад. они действительно имеют значение. но я довольно уверен, что ошибаюсь в отношении Collapsed. Это было просто снято в темноте, это было;) Я почти уверен, что это самый медленный из всех вариантов. –

+0

Как я уже сказал в своем комментарии, я не уверен, что вы намереваетесь делать, но я бы сказал, что из вариантов 1: установка его непрозрачным 2: установка его скрытым 3: установка его свертывается - обрушение - единственное, что сообщите движку рендеринга пропустить его рисование, тем самым пропустив работу, тем самым ускорив –

+0

Я не хочу пропустить рисунок. Я хочу, чтобы переход между включенными и выключенными был как можно быстрее. Однако рухнувший должен будет отображать контент на каждом 'on' –