Jump to content
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr ×
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr
  • 0

우분투에서 화면에 간단한 선그리기만 해도 10분 정도 지나 리눅스가 다운됩니다...


moonyeom

질문

안녕하셔요, 기술적 문제로 질문 글을 올리게 되었습니다.

현재 델파이 최신버전, FMXLinux 최신버전을 사용하고 있고요, 우분투는  직접 설치된 버전과 VMWare 로 설치된 버전 두가지를 다 테스트 중입니다. 

화면에 간단한 선그리기를 반복하는 프로그램을 작성하였는데요, 이게 10분 정도 지나면 프로그램이 다운되거나 우분투가 다운되어버립니다.

Ubuntu 22.04.2 LTS, Ubuntu 23.04 모두 동일하게 나타납니다.

여러가지 우회방법을 시도해봤는데도 마찬가지이네요... 혹시 해결방법이 있을런지요 ?

코드는 아래와 같습니다. (정말 별거 없는 코드입니다...)

--------------------------------------------

unit NormalRenderTest_Main;

interface

uses
  System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
  FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.StdCtrls,
  FMX.Layouts, FMX.ExtCtrls, FMX.Objects;

type
  TForm1 = class(TForm)
    Image1: TImage;
    Timer1: TTimer;
    procedure FormCreate(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
  private
    fPosX: Single;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.fmx}

procedure TForm1.FormCreate(Sender: TObject);
begin
  Image1.Bitmap.SetSize(Round(Image1.Width), Round(Image1.Height));
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  with Image1.Bitmap.Canvas do
  begin
    Lock;
    if BeginScene() then
    begin
      Clear(TAlphaColorRec.Red);
      fPosX := fPosX + 1;
      if fPosX >= Image1.Bitmap.Width then fPosX := 0;
      DrawLine(PointF(fPosX, 0), PointF(fPosX, Image1.Bitmap.Height), 1);

      EndScene;
    end;
    UnLock;
  end;
end;

end.
--------------------------------------------------

 

프로젝트 전체 파일도 첨부합니다.

 

그럼 수고하셔요...

LinuxTest.zip

이 댓글 링크
다른 사이트에 공유하기

2 answers to this question

Recommended Posts

  • 0

리눅스는 개발 테스트 환경을 동일하게 세팅하는것이 어려워 기술지원이 한계가 있는 점 양해 바랍니다.

앱이 다운 되는것이 Cavas 를 사용하여 선 그리기를 했을때만 다운 되는것인지요 ?

10분 지나서 다운이 되는 상황이면 타이머의 반복 호출에 따른 문제 같습니다.

 FMX 에서 선그리기는 TLine 을 사용하면 간편하니 선그리기가 목적이면 TLine 을 사용해서 테스트 해봐 주시고 결과도 알려 주시면 감사 하겠습니다.

이미지 위에 선을 그리는 것이 목적이면 TImage 위에 TLine 을 그냥 올리기만 하면 됩니다.

이 댓글 링크
다른 사이트에 공유하기

이 토의에 참여하세요

지금 바로 의견을 남길 수 있습니다. 그리고 나서 가입해도 됩니다. 이미 회원이라면, 지금 로그인하고 본인 계정으로 의견을 남기세요.

Guest
이 질문에 답변하기...

×   서식있는 텍스트로 붙여넣기.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   이전에 작성한 콘텐츠가 복원되었습니다..   편집창 비우기

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

중요한 정보

이용약관 개인정보보호정책 이용규칙 이 사이트가 더 잘 작동하기 위해 방문자의 컴퓨터에 쿠키가 배치됩니다. 쿠키 설정 변경에서 원하는 설정을 할 수 있습니다. 변경하지 않으면 쿠키를 허용하는 것으로 이해합니다.