Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > С#

С# Средство разработки на платформе .Net

Ответ
 
Опции темы
Старый 18.01.2011, 23:14   #1
Evgen
Разработчик
 
Аватар для Evgen
 
Регистрация: 12.01.2011
Адрес: Moscow
Сообщений: 419
Написано 68 полезных сообщений
(для 100 пользователей)
Ответ: Переход с Blitz3D на Unity3D.

Вопрос по C#. Большая ли разница в скорости в таких случаях?

Вариант №1 - все в одном классе
public class GroupClass
{
   public static 
float[] variable_name=new float[10000];
   
Update(){
      for(
int i=0;i<10000;i++){
         
variable_name[i] = 1.234f;
      }
   }

Вариант №2 - общие переменные вынесены из класса
static class ExampleClass
{
   public static 
float[] variable_name=new float[10000];
}
...
public class 
AnotherClass
{
   
Update(){
      for(
int i=0;i<10000;i++){
         
ExampleClass.variable_name[i] = 1.234f;
      }
   }

Просто хочу некоторые статичные массивы вынести в отдельный статичный класс для общего доступа. Сильно будет тормозить? Или разницы совсем не будет?
(Offline)
 
Ответить с цитированием
Старый 18.01.2011, 23:20   #2
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Производительность операций

Думаю проверить просто, кажется не будет разницы

PS: не советую использовать статические переменные, по крайней мере старайтесь использовать их редко.
PS2: в следующий раз вопросы по C# задавайте в разделе по C#
(Offline)
 
Ответить с цитированием
Эти 3 пользователя(ей) сказали Спасибо pax за это полезное сообщение:
den (19.01.2011), Evgen (18.01.2011), moka (19.01.2011)
Старый 19.01.2011, 00:11   #3
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Производительность операций

По идее когда идёт обращение к другому классу, то исходя из видимости происходят изменения в области памяти которая доступна. Хз про этот случай, т.к. доступ идёт снаружи, вот если бы ты из другого класса вызывал бы метод из первого, то разница будет.
Но это всё огромные мелочи!
Думаю об этом точно париться не нужно..
(Offline)
 
Ответить с цитированием
Эти 3 пользователя(ей) сказали Спасибо moka за это полезное сообщение:
Evgen (19.01.2011), pax (19.01.2011), Reizel (19.01.2011)
Старый 19.01.2011, 01:28   #4
.Squid
Дэвелопер
 
Аватар для .Squid
 
Регистрация: 06.04.2009
Адрес: Запорожье
Сообщений: 1,500
Написано 1,011 полезных сообщений
(для 4,642 пользователей)
Ответ: Производительность операций

Сообщение от MoKa Посмотреть сообщение
По идее когда идёт обращение к другому классу, то исходя из видимости происходят изменения в области памяти которая доступна. Хз про этот случай, т.к. доступ идёт снаружи, вот если бы ты из другого класса вызывал бы метод из первого, то разница будет.
Но это всё огромные мелочи!
Думаю об этом точно париться не нужно..
Lolwut? Набор слов какой-то.
Доступ к статическому методу быстрее. Ознакомься с механизмом доступа к методам http://dotnetperls.com/callvirt
Хотя в том, что разница в скорости обращения незначительная, ты прав.
__________________

(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо .Squid за это полезное сообщение:
HolyDel (19.01.2011), moka (19.01.2011)
Старый 19.01.2011, 13:19   #5
Sef
ПроЭктировщик
 
Аватар для Sef
 
Регистрация: 05.04.2007
Сообщений: 96
Написано 77 полезных сообщений
(для 232 пользователей)
Ответ: Производительность операций

Сообщение от pax Посмотреть сообщение
PS: не советую использовать статические переменные, по крайней мере старайтесь использовать их редко.
А почему?
(Offline)
 
Ответить с цитированием
Старый 19.01.2011, 14:31   #6
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Производительность операций

Глобальные объекты могут быть вредны для объектного программирования, в некоторых случаях приводя к созданию немасштабируемого проекта.
Источник: http://ru.wikipedia.org/wiki/%D0%9E%...BD%D0%B8%D1%8F)
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 15:06.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com