lecactusov Posted June 15, 2011 Report Share Posted June 15, 2011 На скриншотах видно что пока крутим масштаб контуры цифр отображаются нормально, но после "стабилизации картинки" некоторые цифры заливаются ужасно некрасиво. это видно и тогда когда масштаб далек от максимального. причем в других программах (в частности в progecad 2008, где было нарисовано это и в bricscad все отображается нормально) PS в версии нанокада 2.5 этот чертеж не открывался вообще. был просто черный экран. Quote Link to comment Share on other sites More sharing options...
dows Posted June 15, 2011 Report Share Posted June 15, 2011 Лучше прикрепить сам файл :-) Quote Link to comment Share on other sites More sharing options...
lecactusov Posted June 16, 2011 Author Report Share Posted June 16, 2011 (edited) выложил этот файл, оставив только часть проблемной зоны, удалив 99% информации (так разрешили) глюки с масштабом для форума.dwg Edited June 16, 2011 by lecactusov Quote Link to comment Share on other sites More sharing options...
lecactusov Posted June 16, 2011 Author Report Share Posted June 16, 2011 методом тыка поняли что если высота текста менее 0.1, то происходит такая ломка графики (не со всеми шрифтами, а только в которых есть заливка(которые не тонкими линиями, а например как "таймс нью роман"). Quote Link to comment Share on other sites More sharing options...
oVal Posted June 16, 2011 Report Share Posted June 16, 2011 методом тыка поняли что если высота текста менее 0.1, то происходит такая ломка графики (не со всеми шрифтами, а только в которых есть заливка(которые не тонкими линиями, а например как "таймс нью роман"). Это проблема бесконечного увеличения - обсуждалось на форуме и не раз. Последний раз здесь: http://forum.nanocad.ru/index.php?showtopic=3923&view=findpost&p=11357 Все-таки ограничить бесконечное увеличение, наверное, нужно. Высота текста в приложенном файле - 0.0352, т.е. чертеж выполнен скорее всего в 100-м масштабе. При задании масштаба 1:1 - графика отображается нормально. 1 Quote Link to comment Share on other sites More sharing options...
lecactusov Posted June 16, 2011 Author Report Share Posted June 16, 2011 просто в программе где рисовали (progecad 2008) и в bricscad v11 проблемы такой нет и вот допустим перешли мы на нанокад и получаем что вроде файлы все совместимы, но придется их переделывать, если работать с какой то частью файла дальше. не исключено что это просто криворукость того кто изначально делал файл в таком масштабе, т.к. он возможно не знал вообще что это такое 1 Quote Link to comment Share on other sites More sharing options...
amk Posted June 16, 2011 Report Share Posted June 16, 2011 Размеры и штриховка что, какую-то дискретность имеют? Quote Link to comment Share on other sites More sharing options...
oVal Posted June 16, 2011 Report Share Posted June 16, 2011 Размеры и штриховка что, какую-то дискретность имеют? Да, нет. Просто монитор не микроскоп, как я понимаю... 1 Quote Link to comment Share on other sites More sharing options...
amk Posted June 17, 2011 Report Share Posted June 17, 2011 А при чем тут монитор? Не он же масштабирование производит. Или это намек на то, что нечего мелкие детали в больших масштабах разглядывать? Я так понимаю, на мелких контурах из-за ошибок (видимо округления) неправильно просчитываются границы заливки. А такое может быть, только если точность расчетов чем-то ограничена. Quote Link to comment Share on other sites More sharing options...
dows Posted June 17, 2011 Report Share Posted June 17, 2011 Это ошибка драйверов видеокарты: при мелких масштабах они вылетают за размерность чисел и начинают ломать отображаемые объекты. Т.е. это чисто проблема отображения. Мы можем искусственно ограничивать приближение графики (как это делает, например Автокад) или еще применить пару трюков, но пока этого не делали. Quote Link to comment Share on other sites More sharing options...
amk Posted June 18, 2011 Report Share Posted June 18, 2011 Скорее не ошибка, а особенность их работы. Для ускорения работы в драйвере скорее всего используется более короткий тип данных, чем double. Если используется аппаратное ускорение, то там точно используется float. В таком случае появляются ошибки округления, заметные при большом увеличении. Quote Link to comment Share on other sites More sharing options...
lecactusov Posted June 18, 2011 Author Report Share Posted June 18, 2011 если это особенность "драйвера видеокарты", то почему в конкурирующих продуктах таких глюков не замечаем (см выше)? Quote Link to comment Share on other sites More sharing options...
amk Posted June 18, 2011 Report Share Posted June 18, 2011 Тут может быть два варианта. 1. Продукт ограничивает использование драйвера масштабами, при которых подобных артефактов не наблюдается 2. Продукт самостоятельно производит более аккуратное масштабирование перед передачей данных драйверу Ну и смешанный Может быть несколько вариантов (вот пара пришедших на ум): 1. программа ограничивает масштабирование пределами, когда подобные артефакты не появляются 2. программа самостоятельно производит более аккуратное масштабирование перед передачей ланных драйверу Ну и смешанное решение - при малых масштабах программа просто передает данные драйверу, а при больших начинает масштабировать изображение своими силами. Благо большую часть примитивов можно отсечь окном обзора просмотра. Quote Link to comment Share on other sites More sharing options...
lecactusov Posted June 18, 2011 Author Report Share Posted June 18, 2011 почему в моменты масштабирования, пока не заливаются контуры символов, то все выглядит прилично? причем отчетливо видно, что заливкой портятся не все символы. как мне кажется проблема именно в том, что нанокад работает в режиме opengl, а все конкуренты взаимодействуют с картами по другому (если не ошибаюсь wingdi). насколько помню при экспериментах в bricscad, если там выставить режим работы opengl(экспериментальный), то происходили подобные косяки, но с другими элементами Quote Link to comment Share on other sites More sharing options...
amk Posted June 18, 2011 Report Share Posted June 18, 2011 Видимо, расчет самого контура осуществляется по-другому. Не так, как заливки. Тут без конкретных кусков кода не разобраться. Как разработчикам часто нужен проблемный чертеж, так и в программировании обычно нужен неработающий фрагмент кода. Quote Link to comment Share on other sites More sharing options...
dows Posted June 18, 2011 Report Share Posted June 18, 2011 lecactusov, AutoCAD сам разрабатывал свои драйвера графики с 1982 года - у них оптимизировано все очень хорошо. Но в этом и минус - когда появилось новое видео (3D, OpenGL и DirectX и т.д.), то им пришлось заново все оптимизировать. Кстати, обратите внимание - в AutoCAD работает два видеорежима: 2D и 3D. Очень хорошо видно по значку ПСК. BricsCAD, ZWCAD, progeCAD и т.д. - они получили видеографику в наследство от IntelliCAD (читай от AutoCAD 2002-2004). Поэтому им тоже не надо этим заморачиваться. И хотя многие из них утверждают, что они полностью переработали IntelliCAD, я сомневаюсь, что они забирались в видеочасть. И вот если выйдут новые видеоконфигурации, то им нужно будет капитально перерабатывать эту часть, чтобы завязаться на новые технологии. Я тоже не уверен, что они это сделают быстро и безпроблемно. Мы же изначально сейчас завязались на открытые стандарты - на OpenGL. Хотя оптимизация нужна без сомнения. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.