User Tag List

Страница 47 из 54 ПерваяПервая ... 434445464748495051 ... ПоследняяПоследняя
Показано с 461 по 470 из 531

Тема: ZX Like Pascal

  1. #461

    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,869
    Спасибо Благодарностей отдано 
    142
    Спасибо Благодарностей получено 
    110
    Поблагодарили
    66 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ALKO Посмотреть сообщение
    Именно.
    При условии если будет выигрыш в тактах.
    Просто в фуллскрине монолитный цикл, а при разбивке на области если будет ущерб производительности, то лучше тогда не надо...
    Тебе именно всегда срезать 5 знакомест сверху и 6 снизу или могут изменяться? Можно конкретно для этих цифр написать жесткую быструю процедуру.

  2. #462

    Регистрация
    25.09.2009
    Адрес
    Одесса
    Сообщений
    2,311
    Спасибо Благодарностей отдано 
    96
    Спасибо Благодарностей получено 
    186
    Поблагодарили
    89 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вообще процедура PUTIMAGE1 c проверкой намного ли быстрее спрайтовой с проверкой ?
    Прост у меня большинство тайлов квадратные, и было бы рациональнее их выводить не спрайтами, а PUTIMAGE-ми. Но вот насколько будет выигрыш в скорости.

    - - - Добавлено - - -

    Цитата Сообщение от Andrew771 Посмотреть сообщение
    Тебе именно всегда срезать 5 знакомест сверху и 6 снизу или могут изменяться? Можно конкретно для этих цифр написать жесткую быструю процедуру.
    Да, в основном именно такая область рабочая.

  3. #463

    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,869
    Спасибо Благодарностей отдано 
    142
    Спасибо Благодарностей получено 
    110
    Поблагодарили
    66 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ALKO Посмотреть сообщение
    Вообще процедура PUTIMAGE1 c проверкой намного ли быстрее спрайтовой с проверкой ?
    Быстрее намного, потому что вычисляется только первое знакоместо в каждой линии и далее ldir всей линии, а в выводе спрайтов - каждое знакоместо вычисляется и выводится.

    - - - Добавлено - - -

    Таблица адресов всех пиксельных строк экрана ниже, можешь нужные строки отлдирить тупо

    Код:
    table_addr_scr		defw	#4000,#4100,#4200,#4300,#4400,#4500,#4600,#4700
    			defw	#4020,#4120,#4220,#4320,#4420,#4520,#4620,#4720
    			defw	#4040,#4140,#4240,#4340,#4440,#4540,#4640,#4740
    			defw	#4060,#4160,#4260,#4360,#4460,#4560,#4660,#4760
    			defw	#4080,#4180,#4280,#4380,#4480,#4580,#4680,#4780
    			defw	#40a0,#41a0,#42a0,#43a0,#44a0,#45a0,#46a0,#47a0
    			defw	#40c0,#41c0,#42c0,#43c0,#44c0,#45c0,#46c0,#47c0
    			defw	#40e0,#41e0,#42e0,#43e0,#44e0,#45e0,#46e0,#47e0
    
    			defw	#4800,#4900,#4a00,#4b00,#4c00,#4d00,#4e00,#4f00
    			defw	#4820,#4920,#4a20,#4b20,#4c20,#4d20,#4e20,#4f20
    			defw	#4840,#4940,#4a40,#4b40,#4c40,#4d40,#4e40,#4f40
    			defw	#4860,#4960,#4a60,#4b60,#4c60,#4d60,#4e60,#4f60
    			defw	#4880,#4980,#4a80,#4b80,#4c80,#4d80,#4e80,#4f80
    			defw	#48a0,#49a0,#4aa0,#4ba0,#4ca0,#4da0,#4ea0,#4fa0
    			defw	#48c0,#49c0,#4ac0,#4bc0,#4cc0,#4dc0,#4ec0,#4fc0
    			defw	#48e0,#49e0,#4ae0,#4be0,#4ce0,#4de0,#4ee0,#4fe0
    
    			defw	#5000,#5100,#5200,#5300,#5400,#5500,#5600,#5700
    			defw	#5020,#5120,#5220,#5320,#5420,#5520,#5620,#5720
    			defw	#5040,#5140,#5240,#5340,#5440,#5540,#5640,#5740
    			defw	#5060,#5160,#5260,#5360,#5460,#5560,#5660,#5760
    			defw	#5080,#5180,#5280,#5380,#5480,#5580,#5680,#5780
    			defw	#50a0,#51a0,#52a0,#53a0,#54a0,#55a0,#56a0,#57a0
    			defw	#50c0,#51c0,#52c0,#53c0,#54c0,#55c0,#56c0,#57c0
    			defw	#50e0,#51e0,#52e0,#53e0,#54e0,#55e0,#56e0,#57e0
    Последний раз редактировалось Andrew771; 24.05.2020 в 16:20.

  4. #464

    Регистрация
    25.09.2009
    Адрес
    Одесса
    Сообщений
    2,311
    Спасибо Благодарностей отдано 
    96
    Спасибо Благодарностей получено 
    186
    Поблагодарили
    89 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Andrew771 Посмотреть сообщение
    можешь нужные строки отлдирить тупо
    Яжламер
    Так-то я в курсе, что такое LDIR и что он гоняет блоки данных.
    Но как сделать так, чтоб он опирался именно на таблицу в качестве входных параметров, этого я пока не умею.

    - - - Добавлено - - -

    Что касается логики ЯВУ, что быстрее работает последовательность if else или switch case ?

  5. #465

    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,869
    Спасибо Благодарностей отдано 
    142
    Спасибо Благодарностей получено 
    110
    Поблагодарили
    66 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ALKO Посмотреть сообщение
    Что касается логики ЯВУ, что быстрее работает последовательность if else или switch case ?
    case


    Цитата Сообщение от ALKO Посмотреть сообщение
    Но как сделать так, чтоб он опирался именно на таблицу в качестве входных параметров, этого я пока не умею.
    Можно тупо в лоб, если не жалко нескольких сотен байтов, зато быстродействие будет максимальное:

    Код:
    copy_virt_to_scr	ld	hl,#4080+addr_virt_scr-#4000				; остаток первой трети экрана с 5-й строки
    			ld	de,#4080
    			ld	bc,32
    			ldir
    
    			ld	hl,#4180+addr_virt_scr-#4000
    			ld	de,#4180
    			ld	bc,32
    			ldir
    
    			...
    
    			ld	hl,#4800+addr_virt_scr-#4000				; вся вторая треть
    			ld	de,#4800
    			ld	bc,2048
    			ldir
    
    			ld	hl,#5000+addr_virt_scr-#4000				; часть третьей трети до 6-й строки снизу
    			ld	de,#5000
    			ld	bc,32
    			ldir
    
    			ld	hl,#5100+addr_virt_scr-#4000
    			ld	de,#5100
    			ld	bc,32
    			ldir
    
    			...
    
    			ld	hl,#5740+addr_virt_scr-#4000
    			ld	de,#5740
    			ld	bc,32
    			ldir
    
    			ret

    Этот пользователь поблагодарил Andrew771 за это полезное сообщение:

    ALKO(24.05.2020)

  6. #466

    Регистрация
    25.09.2009
    Адрес
    Одесса
    Сообщений
    2,311
    Спасибо Благодарностей отдано 
    96
    Спасибо Благодарностей получено 
    186
    Поблагодарили
    89 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Andrew771 Посмотреть сообщение
    Быстрее намного, потому что вычисляется только первое знакоместо в каждой линии и далее ldir всей линии, а в выводе спрайтов - каждое знакоместо вычисляется и выводится.
    В общем, переписал всё под PUTIMAGE.
    Но по краям экрана возникает дитчь, ибо отсутствует проверка границ.

  7. #466
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  8. #467

    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,869
    Спасибо Благодарностей отдано 
    142
    Спасибо Благодарностей получено 
    110
    Поблагодарили
    66 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ALKO Посмотреть сообщение
    Но по краям экрана возникает дитчь, ибо отсутствует проверка границ.
    А какая проверка границ, если всё в пределах экрана?

  9. #468

    Регистрация
    25.09.2009
    Адрес
    Одесса
    Сообщений
    2,311
    Спасибо Благодарностей отдано 
    96
    Спасибо Благодарностей получено 
    186
    Поблагодарили
    89 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Andrew771 Посмотреть сообщение
    А какая проверка границ, если всё в пределах экрана?
    Не... На данный момент putimage у меня касается вывода тайлов (как альтернатива спрайтам), а не в качестве переброски виртуального экрана на реальный.
    Переброску я пока ещё не трогал. Пока ещё она фуллскриновая, тормозная.

    - - - Добавлено - - -

    Хотя можно как вариант отрисовывать тайлы в более узком диапазоне, не заходя за края. А сами края захайдить атрибутами. Но не хочется урезать обзор.

  10. #469

    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,869
    Спасибо Благодарностей отдано 
    142
    Спасибо Благодарностей получено 
    110
    Поблагодарили
    66 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ALKO Посмотреть сообщение
    Не... На данный момент putimage у меня касается вывода тайлов (как альтернатива спрайтам), а не в качестве переброски виртуального экрана на реальный.
    А вот это не оно? Уже обсуждали

    - - - Добавлено - - -

    Края не получится проверять в выводах линий. Нужно сначала вычислять длину линии тогда.

  11. #470

    Регистрация
    25.09.2009
    Адрес
    Одесса
    Сообщений
    2,311
    Спасибо Благодарностей отдано 
    96
    Спасибо Благодарностей получено 
    186
    Поблагодарили
    89 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Andrew771 Посмотреть сообщение
    А вот это не оно? Уже обсуждали

    - - - Добавлено - - -

    Края не получится проверять в выводах линий. Нужно сначала вычислять длину линии тогда.
    Ну да, я эту процедуру и использую. Она не проверяет выход за пределы экрана.

Страница 47 из 54 ПерваяПервая ... 434445464748495051 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. PASCAL + MACRO11 (УКНЦ-ДВК).
    от hobot в разделе ДВК, УКНЦ
    Ответов: 341
    Последнее: 15.01.2022, 17:30
  2. Turbo Pascal для msx/msx2
    от Оззя в разделе MSX
    Ответов: 4
    Последнее: 23.02.2020, 23:59
  3. в розыске дисковая версия Pascal.
    от goblinish в разделе Программирование
    Ответов: 18
    Последнее: 16.08.2011, 16:30
  4. Pascal
    от Andrew771 в разделе Программирование
    Ответов: 22
    Последнее: 24.05.2011, 21:20
  5. Скопировать/вставить из/в HiSoft Pascal в эмуляторе
    от kit в разделе Программирование
    Ответов: 1
    Последнее: 05.02.2010, 15:35

Ваши права

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