Страница: 1 |
Страница: 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-сайт:
Профиль | | #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-сайт:
Профиль | | #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
Номер ответа: 7
Автор ответа:
vito
Разработчик Offline Client
Вопросов: 23
Ответов: 879
Web-сайт:
Профиль | | #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-сайт:
Профиль | | #9
Добавлено: 04.04.06 21:06
Скинь интересно. А то у меня тоже игра незаконченная висит.
Могу тоже скинуть. Правда там посложнее, 3Д, скелетная анимация и т. д. Ну и конечно open GL.