Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Скорость выполнения Добавлено: 03.04.06 00:26  

Автор вопроса:  Sacred Phoenix | ICQ: 304238252 
Есть, например, структура данных и массив этого типа:

Private Type Dummy_Struct
   Dummy1 As Byte
   Dummy2 As Byte
   Dummy3 As Byte
   Dummy4 As Integer
   Dummy5 As Byte
   Dummy6 As Integer
   Dummy7 As Integer
   Dummy8 As Byte
End Type
Private lpDummy(59) As Dummy_Struct

И массивы:

Private Dummy1(59) As Byte
Private Dummy2(59) As Byte
Private Dummy3(59) As Byte
Private Dummy4(59) As Integer
Private Dummy5(59) As Byte
Private Dummy6(59) As Integer
Private Dummy7(59) As Integer
Private Dummy8(59) As Byte

Насколько сильно отличается время чтения переменных Dummy#(##) от их аналогов в lpDummy(##).Dummy#? Юзаю структуру с одним массивом, но есть подозрения, что с кучей массивов будет быстрее (все эти миллисекунды очень важны).

Так что же быстрее?

Ответить

  Ответы Всего ответов: 9  

Номер ответа: 1
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #1
Добавлено: 03.04.06 00:59
1. одинаково, имхо :)
2. кде важно время не используется бэйсик

Ответить

Номер ответа: 2
Автор ответа:
 HOOLIGAN



Вопросов: 0
Ответов: 1066
 Профиль | | #2 Добавлено: 03.04.06 01:20
структура Dummy_Struct имеет размер 11 байт. Хотя бы выравняй её размер до кратного 4.
А лучше все поля в структуре сделай лонг. Это увеличит скорость обращения к полям структуры. И начало каждого элемента массива будет гарантированно кратно 4.
А ещё лучше - ковырни SAFEARRAY и если начало массива не кратно 32, попробуй подменить его на адрес от VirtualAlloc. Он гарантированно кратен началу страницы.

Это все относится к первому варианту. Имхо, второй - какой-то неправильный.

Ответить

Номер ответа: 3
Автор ответа:
 LamerOnLine



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #3 Добавлено: 03.04.06 12:32
Кстати, да. Я на эти грабли наступал как-то. VB сам выравнивает структуру, так что гемора особого нет, но если надумаешь использовать для нее CopyMemory - очень удивишься. Лучше выравнивать вручную.

Ответить

Номер ответа: 4
Автор ответа:
 Sacred Phoenix



ICQ: 304238252 

Вопросов: 52
Ответов: 927
 Профиль | | #4 Добавлено: 03.04.06 16:30
Т.е. лучше все элементы структуры делать Long'овыми?

2 sne: понимаю, что не бейсик, но все же... :)

Еще хотел спросить: DX8 обрабатывает 2d графику быстрее или так же? Может проверял кто...

Ответить

Номер ответа: 5
Автор ответа:
 vito



Разработчик Offline Client

Вопросов: 23
Ответов: 879
 Web-сайт: softvito.narod2.ru
 Профиль | | #5
Добавлено: 03.04.06 21:05
Насчет быстрее, вопрос относительный - многое от видюхи зависит.
Ведь DD в общем просто позволяет поучить прямой доступ к железу (точнее к драйверу).

Но вот то что удобнее, это уже как аксиома.

Кстати если нужно, могу примеры(туторы) по DD на VB6 из комплекта DX8 SDK cкинуть.

З.Ы. Кстати примеры D3D тоже очень интересны( только многовато весят - наверно будет не меньше 2 метров).

Ответить

Номер ответа: 6
Автор ответа:
 Sacred Phoenix



ICQ: 304238252 

Вопросов: 52
Ответов: 927
 Профиль | | #6 Добавлено: 03.04.06 21:15
Насчет быстрее, вопрос относительный - многое от видюхи зависит.
Проверял на 1,7 Ghz, video 128 mb с WinXP игруля моя показывает 55-65 fps, но очень часто замедляется до 20-30 fps, с чем связано х.з. На 0.7 Ghz, video 32 mb с Win2k игрушка показывает те же 55-65 fps, но без скачков до 30 fps!

Кстати если нужно, могу примеры(туторы) по DD на VB6 из комплекта DX8 SDK cкинуть.
Пасиба, но sdk неохота, тем более DirectDraw в DirectX8 нету :( Там 2d графика реализована через Direct3D.

Ответить

Номер ответа: 7
Автор ответа:
 vito



Разработчик Offline Client

Вопросов: 23
Ответов: 879
 Web-сайт: softvito.narod2.ru
 Профиль | | #7
Добавлено: 03.04.06 21:57
Sacred Phoenix

Можешь выложить?

Интересно посмотреть. Судя по всему игра не слишком требовательна к железу, поэтому действительно странно.

Возможно, что для 128 метровой видеокарты, 7 староват. И хотя совместимость обещана, она не всегда корректна.

Ответить

Номер ответа: 8
Автор ответа:
 Sacred Phoenix



ICQ: 304238252 

Вопросов: 52
Ответов: 927
 Профиль | | #8 Добавлено: 04.04.06 20:28
Не, выкладывать игру нет смысла - я только начал ее писать. Если хочешь, я ее могу тебе на мыло скинуть.

З.Ы. Игру не знаю, когда смогу закончить, так как нету материалов (спрайтов, а рисовать корабли я не смогу :) )

Ответить

Номер ответа: 9
Автор ответа:
 vito



Разработчик Offline Client

Вопросов: 23
Ответов: 879
 Web-сайт: softvito.narod2.ru
 Профиль | | #9
Добавлено: 04.04.06 21:06
Скинь интересно. А то у меня тоже игра незаконченная висит.

Могу тоже скинуть. Правда там посложнее, 3Д, скелетная анимация и т. д. Ну и конечно open GL.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам