Полезные Сведенья Кухонная Философия Общество и его пороки Новости Еда и Питье Техника Разное Личное Природа Фото/Видео "Веселые" Картинки Юмор
Apr2025Mar2025Feb2025Jan2025Dec2024Nov2024Oct2024Sep2024Aug2024Jul2024Jun2024May2024Apr2024Mar2024Feb2024Jan2024Dec2023Nov2023Oct2023Sep2023Aug2023Jul2023Jun2023May2023Apr2023Mar2023Feb2023Jan2023Dec2022Nov2022Oct2022Sep2022Aug2022Jul2022Jun2022May2022Apr2022Mar2022Feb2022Jan2022Dec2021Nov2021Oct2021Sep2021Aug2021Jul2021Jun2021May2021Apr2021Mar2021Feb2021Jan2021Dec2020Nov2020Oct2020Sep2020Aug2020Jul2020Jun2020May2020Apr2020Mar2020Feb2020Jan2020Dec2019Nov2019Oct2019Sep2019Aug2019Jul2019Jun2019May2019Apr2019Mar2019Feb2019Jan2019Dec2018Nov2018Oct2018Sep2018Aug2018Jul2018Jun2018May2018Apr2018Mar2018Feb2018Jan2018Dec2017Nov2017Oct2017Sep2017Aug2017Jul2017Jun2017May2017Apr2017Mar2017Feb2017Jan2017Dec2016Nov2016Oct2016Sep2016Aug2016Jul2016Jun2016May2016Apr2016Mar2016Feb2016Jan2016Dec2015Nov2015Oct2015Sep2015Aug2015Jul2015Jun2015May2015Apr2015Mar2015Feb2015Jan2015Dec2014Nov2014Oct2014Sep2014Aug2014Jul2014Jun2014May2014Apr2014Mar2014Feb2014Jan2014Dec2013Nov2013Oct2013Sep2013Aug2013Jul2013Jun2013May2013Apr2013Mar2013Feb2013Jan2013Dec2012Nov2012Oct2012Sep2012Aug2012Jul2012Jun2012May2012Apr2012Mar2012Feb2012Jan2012Dec2011Nov2011Oct2011Sep2011Aug2011Jul2011Jun2011May2011Apr2011Mar2011Feb2011Jan2011Dec2010Nov2010Oct2010Sep2010Aug2010Jul2010Jun2010May2010Apr2010Mar2010Feb2010Jan2010Dec2009Nov2009Oct2009Sep2009Aug2009Jul2009Jun2009May2009Apr2009Mar2009Feb2009Jan2009Dec2008Nov2008Oct2008Sep2008Aug2008Jul2008Jun2008May2008Apr2008Mar2008Feb2008Jan2008Dec2007Nov2007Oct2007Sep2007Aug2007Jul2007Jun2007May2007Apr2007Mar2007Feb2007Jan2007Dec2006Nov2006Oct2006Sep2006Aug2006Jul2006Jun2006May2006
Эти мысли возникают у меня почти каждый раз, когда я программирую что-то на java-script. Еще возникают мысли, что в отличие от добрых времен, когда компьютеры были большими, а программы маленькими и писать их могли только действительно умные люди, с начала 90х в разработчики почти везде понабирали каких-то деффективных обезьян и девелоперы javascript явно состояли из таких чуть менее, чем полностью. Вот сейчас был очередной раз. Попробовал я использовать html5 canvas вместо вывода графика в png через php, была у меня мысль написать одну фигню и таки для нее очень криво было бы перегружать png все время. Первое ощущение было, что мне сломали глаза. Вот кусочек, чтобы не взрывать вам мозг, выглядит не так страшно, но когда его много на экране, смотрится как сущий пиздец. Жуткий блюр. Оказалось, что есть простое решение вида contex.translate(0.5, 0.5); Эта строка заставляет все рисовать не с координат х,y, а с координат x+0.5,у+0.5. Т.е. как бы не с точно целочисленных позиций, а с промежутков между ними. Больше я не менял ничего, ни толщину линий, ни цвет, ни тип заливки. Почувствуйте разницу: Возникает вопрос, какого хуя????? Координаты пикселей же, блядь, целые числа. Обычно их нужно было грамотно округлять и плясать с бубном, чтобы на экране не было пиздеца. Сглаживание шрифтов, сглаживание кривых и т.д. А тут надо наоборот, специально сдвигать на 0.5 чтобы не было пиздеца с линиями заведомо прямыми, которые точно ложатся на целочисленные координаты пикселей. И хорошо еще что есть функция, которая ставит этот сдвиг для всех последующих операций. Было бы намного хуже, если бы добавлять 0.5 к координатам приходилось при всех вызовах функций отрисовки. P.S. В данном случае я правда не уверен, криворукость это разработчиков javascript вообще или конкретной имплеметации рендера canvas под FF. Что не отменяет того, что я весь javascript считаю кривым. P.P.S. Отдельные лучи поноса за "плоттерную" концепцию canvas-а, типа "опустить перо", "вести линию до следующей точки", "поднять перо" да еще и сюрприз-сюрприз, "заштриховать линию", потому как она на самом деле невидимая. Не, я и не в таком разбирался и даже определенные преимущества в этом есть, но это контр-интуитивно после многих лет работы с дефолтными сишными библиотеками. Почему было не сделать оба варианта? Пишут, что эту концепцию маководы придумали.
http://twitter.com/hashtag/BeeChallenge?src=hash